wavesurfer.js 6.1.0 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +12 -0
- package/README.md +2 -2
- package/dist/plugin/wavesurfer.cursor.js +4 -4
- package/dist/plugin/wavesurfer.cursor.js.map +1 -1
- package/dist/plugin/wavesurfer.cursor.min.js +2 -2
- package/dist/plugin/wavesurfer.cursor.min.js.map +1 -1
- package/dist/plugin/wavesurfer.elan.js +2 -2
- package/dist/plugin/wavesurfer.elan.js.map +1 -1
- package/dist/plugin/wavesurfer.elan.min.js +2 -2
- package/dist/plugin/wavesurfer.elan.min.js.map +1 -1
- package/dist/plugin/wavesurfer.markers.js +2 -2
- package/dist/plugin/wavesurfer.markers.js.map +1 -1
- package/dist/plugin/wavesurfer.markers.min.js +2 -2
- package/dist/plugin/wavesurfer.markers.min.js.map +1 -1
- package/dist/plugin/wavesurfer.mediasession.js +2 -2
- package/dist/plugin/wavesurfer.mediasession.js.map +1 -1
- package/dist/plugin/wavesurfer.mediasession.min.js +2 -2
- package/dist/plugin/wavesurfer.mediasession.min.js.map +1 -1
- package/dist/plugin/wavesurfer.microphone.js +2 -2
- package/dist/plugin/wavesurfer.microphone.js.map +1 -1
- package/dist/plugin/wavesurfer.microphone.min.js +2 -2
- package/dist/plugin/wavesurfer.microphone.min.js.map +1 -1
- package/dist/plugin/wavesurfer.minimap.js +2 -2
- package/dist/plugin/wavesurfer.minimap.js.map +1 -1
- package/dist/plugin/wavesurfer.minimap.min.js +2 -2
- package/dist/plugin/wavesurfer.minimap.min.js.map +1 -1
- package/dist/plugin/wavesurfer.playhead.js +2 -2
- package/dist/plugin/wavesurfer.playhead.js.map +1 -1
- package/dist/plugin/wavesurfer.playhead.min.js +2 -2
- package/dist/plugin/wavesurfer.playhead.min.js.map +1 -1
- package/dist/plugin/wavesurfer.regions.js +2 -2
- package/dist/plugin/wavesurfer.regions.js.map +1 -1
- package/dist/plugin/wavesurfer.regions.min.js +2 -2
- package/dist/plugin/wavesurfer.regions.min.js.map +1 -1
- package/dist/plugin/wavesurfer.spectrogram.js +16 -12
- package/dist/plugin/wavesurfer.spectrogram.js.map +1 -1
- package/dist/plugin/wavesurfer.spectrogram.min.js +2 -2
- package/dist/plugin/wavesurfer.spectrogram.min.js.map +1 -1
- package/dist/plugin/wavesurfer.timeline.js +2 -2
- package/dist/plugin/wavesurfer.timeline.js.map +1 -1
- package/dist/plugin/wavesurfer.timeline.min.js +2 -2
- package/dist/plugin/wavesurfer.timeline.min.js.map +1 -1
- package/dist/wavesurfer-html-init.js +2 -2
- package/dist/wavesurfer-html-init.js.map +1 -1
- package/dist/wavesurfer-html-init.min.js +2 -2
- package/dist/wavesurfer-html-init.min.js.map +1 -1
- package/dist/wavesurfer.js +4 -4
- package/dist/wavesurfer.js.map +1 -1
- package/dist/wavesurfer.min.js +2 -2
- package/dist/wavesurfer.min.js.map +1 -1
- package/package.json +1 -1
- package/src/plugin/cursor/index.js +2 -1
- package/src/plugin/spectrogram/index.js +14 -10
- package/src/wavesurfer.js +1 -0
package/package.json
CHANGED
|
@@ -90,7 +90,8 @@ export default class CursorPlugin {
|
|
|
90
90
|
const bbox = this.wrapper.getBoundingClientRect();
|
|
91
91
|
let y = 0;
|
|
92
92
|
let x = this.wrapper.scrollLeft + event.clientX - bbox.left;
|
|
93
|
-
|
|
93
|
+
const displayTimeWidth = this.displayTime ? this.displayTime.getBoundingClientRect().width : 0;
|
|
94
|
+
let flip = bbox.right < event.clientX + displayTimeWidth;
|
|
94
95
|
|
|
95
96
|
if (this.params.showTime && this.params.followCursorY) {
|
|
96
97
|
// follow y-position of the mouse
|
|
@@ -10,6 +10,8 @@ import FFT from './fft';
|
|
|
10
10
|
* a power of 2.
|
|
11
11
|
* @property {boolean} splitChannels=false Render with separate spectrograms for
|
|
12
12
|
* the channels of the audio
|
|
13
|
+
* @property {number} height=fftSamples/2 Height of the spectrogram view in CSS
|
|
14
|
+
* pixels
|
|
13
15
|
* @property {boolean} labels Set to true to display frequency labels.
|
|
14
16
|
* @property {number} noverlap Size of the overlapping window. Must be <
|
|
15
17
|
* fftSamples. Auto deduced from canvas size by default.
|
|
@@ -128,7 +130,7 @@ export default class SpectrogramPlugin {
|
|
|
128
130
|
this.pixelRatio = this.params.pixelRatio || ws.params.pixelRatio;
|
|
129
131
|
this.fftSamples =
|
|
130
132
|
this.params.fftSamples || ws.params.fftSamples || 512;
|
|
131
|
-
this.height = this.fftSamples / 2;
|
|
133
|
+
this.height = this.params.height || this.fftSamples / 2;
|
|
132
134
|
this.noverlap = params.noverlap;
|
|
133
135
|
this.windowFunc = params.windowFunc;
|
|
134
136
|
this.alpha = params.alpha;
|
|
@@ -185,11 +187,10 @@ export default class SpectrogramPlugin {
|
|
|
185
187
|
const labelsEl = (this.labelsEl = document.createElement('canvas'));
|
|
186
188
|
labelsEl.classList.add('spec-labels');
|
|
187
189
|
this.drawer.style(labelsEl, {
|
|
188
|
-
|
|
189
|
-
position: 'absolute',
|
|
190
|
+
position: 'fixed',
|
|
190
191
|
zIndex: 9,
|
|
191
|
-
height: `${this.height * this.channels
|
|
192
|
-
width:
|
|
192
|
+
height: `${this.height * this.channels}px`,
|
|
193
|
+
width: `55px`
|
|
193
194
|
});
|
|
194
195
|
this.wrapper.appendChild(labelsEl);
|
|
195
196
|
this.loadLabels(
|
|
@@ -209,7 +210,7 @@ export default class SpectrogramPlugin {
|
|
|
209
210
|
position: 'relative',
|
|
210
211
|
userSelect: 'none',
|
|
211
212
|
webkitUserSelect: 'none',
|
|
212
|
-
height: `${this.height * this.channels
|
|
213
|
+
height: `${this.height * this.channels}px`
|
|
213
214
|
});
|
|
214
215
|
|
|
215
216
|
if (wsParams.fillParent || wsParams.scrollParent) {
|
|
@@ -256,8 +257,9 @@ export default class SpectrogramPlugin {
|
|
|
256
257
|
updateCanvasStyle() {
|
|
257
258
|
const width = Math.round(this.width / this.pixelRatio) + 'px';
|
|
258
259
|
this.canvas.width = this.width;
|
|
259
|
-
this.canvas.height = this.
|
|
260
|
+
this.canvas.height = this.fftSamples / 2 * this.channels;
|
|
260
261
|
this.canvas.style.width = width;
|
|
262
|
+
this.canvas.style.height = this.height + 'px';
|
|
261
263
|
}
|
|
262
264
|
|
|
263
265
|
drawSpectrogram(frequenciesData, my) {
|
|
@@ -267,7 +269,7 @@ export default class SpectrogramPlugin {
|
|
|
267
269
|
}
|
|
268
270
|
|
|
269
271
|
const spectrCc = my.spectrCc;
|
|
270
|
-
const height = my.
|
|
272
|
+
const height = my.fftSamples / 2;
|
|
271
273
|
const width = my.width;
|
|
272
274
|
const freqFrom = my.buffer.sampleRate / 2;
|
|
273
275
|
const freqMin = my.frequencyMin;
|
|
@@ -404,8 +406,10 @@ export default class SpectrogramPlugin {
|
|
|
404
406
|
|
|
405
407
|
// prepare canvas element for labels
|
|
406
408
|
const ctx = this.labelsEl.getContext('2d');
|
|
407
|
-
|
|
408
|
-
this.labelsEl.
|
|
409
|
+
const dispScale = window.devicePixelRatio;
|
|
410
|
+
this.labelsEl.height = this.height * this.channels * dispScale;
|
|
411
|
+
this.labelsEl.width = bgWidth * dispScale;
|
|
412
|
+
ctx.scale(dispScale, dispScale);
|
|
409
413
|
|
|
410
414
|
if (!ctx) {
|
|
411
415
|
return;
|
package/src/wavesurfer.js
CHANGED