@waveform-playlist/spectrogram 6.0.1 → 7.0.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/dist/index.mjs CHANGED
@@ -12,7 +12,11 @@ function getFftInstance(size) {
12
12
  return instance;
13
13
  }
14
14
  function getComplexBuffer(size) {
15
- return complexBuffers.get(size);
15
+ const buffer = complexBuffers.get(size);
16
+ if (!buffer) {
17
+ throw new Error(`No complex buffer for size ${size}. Call getFftInstance first.`);
18
+ }
19
+ return buffer;
16
20
  }
17
21
  function fftMagnitudeDb(real, out) {
18
22
  const n = real.length;
@@ -3747,6 +3751,9 @@ var SpectrogramSettingsModal = ({
3747
3751
  };
3748
3752
 
3749
3753
  // src/worker/createSpectrogramWorker.ts
3754
+ function addPending(map, id, resolve, reject) {
3755
+ map.set(id, { resolve, reject });
3756
+ }
3750
3757
  var idCounter = 0;
3751
3758
  function createSpectrogramWorker(worker) {
3752
3759
  const pending = /* @__PURE__ */ new Map();
@@ -3787,7 +3794,7 @@ function createSpectrogramWorker(worker) {
3787
3794
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3788
3795
  const id = String(++idCounter);
3789
3796
  return new Promise((resolve, reject) => {
3790
- pending.set(id, { resolve, reject });
3797
+ addPending(pending, id, resolve, reject);
3791
3798
  const transferableArrays = params.channelDataArrays.map((arr) => arr.slice());
3792
3799
  const transferables = transferableArrays.map((arr) => arr.buffer);
3793
3800
  worker.postMessage(
@@ -3808,7 +3815,7 @@ function createSpectrogramWorker(worker) {
3808
3815
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3809
3816
  const id = String(++idCounter);
3810
3817
  return new Promise((resolve, reject) => {
3811
- pending.set(id, { resolve, reject });
3818
+ addPending(pending, id, resolve, reject);
3812
3819
  const isPreRegistered = registeredClipIds.has(params.clipId);
3813
3820
  const transferableArrays = isPreRegistered ? [] : params.channelDataArrays.map((arr) => arr.slice());
3814
3821
  const transferables = transferableArrays.map((arr) => arr.buffer);
@@ -3833,7 +3840,7 @@ function createSpectrogramWorker(worker) {
3833
3840
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3834
3841
  const id = String(++idCounter);
3835
3842
  return new Promise((resolve, reject) => {
3836
- pending.set(id, { resolve, reject });
3843
+ addPending(pending, id, resolve, reject);
3837
3844
  worker.postMessage({
3838
3845
  type: "render-chunks",
3839
3846
  id,
@@ -3880,7 +3887,7 @@ function createSpectrogramWorker(worker) {
3880
3887
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3881
3888
  const id = String(++idCounter);
3882
3889
  return new Promise((resolve, reject) => {
3883
- pending.set(id, { resolve, reject });
3890
+ addPending(pending, id, resolve, reject);
3884
3891
  const transferableArrays = params.channelDataArrays.map((arr) => arr.slice());
3885
3892
  const transferables = transferableArrays.map((arr) => arr.buffer);
3886
3893
  worker.postMessage(