@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.js CHANGED
@@ -55,7 +55,11 @@ function getFftInstance(size) {
55
55
  return instance;
56
56
  }
57
57
  function getComplexBuffer(size) {
58
- return complexBuffers.get(size);
58
+ const buffer = complexBuffers.get(size);
59
+ if (!buffer) {
60
+ throw new Error(`No complex buffer for size ${size}. Call getFftInstance first.`);
61
+ }
62
+ return buffer;
59
63
  }
60
64
  function fftMagnitudeDb(real, out) {
61
65
  const n = real.length;
@@ -3790,6 +3794,9 @@ var SpectrogramSettingsModal = ({
3790
3794
  };
3791
3795
 
3792
3796
  // src/worker/createSpectrogramWorker.ts
3797
+ function addPending(map, id, resolve, reject) {
3798
+ map.set(id, { resolve, reject });
3799
+ }
3793
3800
  var idCounter = 0;
3794
3801
  function createSpectrogramWorker(worker) {
3795
3802
  const pending = /* @__PURE__ */ new Map();
@@ -3830,7 +3837,7 @@ function createSpectrogramWorker(worker) {
3830
3837
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3831
3838
  const id = String(++idCounter);
3832
3839
  return new Promise((resolve, reject) => {
3833
- pending.set(id, { resolve, reject });
3840
+ addPending(pending, id, resolve, reject);
3834
3841
  const transferableArrays = params.channelDataArrays.map((arr) => arr.slice());
3835
3842
  const transferables = transferableArrays.map((arr) => arr.buffer);
3836
3843
  worker.postMessage(
@@ -3851,7 +3858,7 @@ function createSpectrogramWorker(worker) {
3851
3858
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3852
3859
  const id = String(++idCounter);
3853
3860
  return new Promise((resolve, reject) => {
3854
- pending.set(id, { resolve, reject });
3861
+ addPending(pending, id, resolve, reject);
3855
3862
  const isPreRegistered = registeredClipIds.has(params.clipId);
3856
3863
  const transferableArrays = isPreRegistered ? [] : params.channelDataArrays.map((arr) => arr.slice());
3857
3864
  const transferables = transferableArrays.map((arr) => arr.buffer);
@@ -3876,7 +3883,7 @@ function createSpectrogramWorker(worker) {
3876
3883
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3877
3884
  const id = String(++idCounter);
3878
3885
  return new Promise((resolve, reject) => {
3879
- pending.set(id, { resolve, reject });
3886
+ addPending(pending, id, resolve, reject);
3880
3887
  worker.postMessage({
3881
3888
  type: "render-chunks",
3882
3889
  id,
@@ -3923,7 +3930,7 @@ function createSpectrogramWorker(worker) {
3923
3930
  if (terminated) return Promise.reject(new Error("Worker terminated"));
3924
3931
  const id = String(++idCounter);
3925
3932
  return new Promise((resolve, reject) => {
3926
- pending.set(id, { resolve, reject });
3933
+ addPending(pending, id, resolve, reject);
3927
3934
  const transferableArrays = params.channelDataArrays.map((arr) => arr.slice());
3928
3935
  const transferables = transferableArrays.map((arr) => arr.buffer);
3929
3936
  worker.postMessage(