@waveform-playlist/spectrogram 9.5.0 → 9.5.1
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.d.mts +16 -25
- package/dist/index.d.ts +16 -25
- package/dist/index.js +356 -266
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +354 -266
- package/dist/index.mjs.map +1 -1
- package/dist/worker/spectrogram.worker.mjs +190 -159
- package/dist/worker/spectrogram.worker.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -74,26 +74,12 @@ interface SpectrogramSettingsModalProps {
|
|
|
74
74
|
}
|
|
75
75
|
declare const SpectrogramSettingsModal: React.FC<SpectrogramSettingsModalProps>;
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
mono: boolean;
|
|
84
|
-
}
|
|
85
|
-
interface SpectrogramWorkerRenderParams extends SpectrogramWorkerComputeParams {
|
|
86
|
-
render: {
|
|
87
|
-
canvasIds: string[][];
|
|
88
|
-
canvasWidths: number[];
|
|
89
|
-
canvasHeight: number;
|
|
90
|
-
devicePixelRatio: number;
|
|
91
|
-
samplesPerPixel: number;
|
|
92
|
-
colorLUT: Uint8Array;
|
|
93
|
-
frequencyScale: string;
|
|
94
|
-
minFrequency: number;
|
|
95
|
-
maxFrequency: number;
|
|
96
|
-
};
|
|
77
|
+
/**
|
|
78
|
+
* Error thrown when a spectrogram computation is aborted due to a generation change.
|
|
79
|
+
* Use `instanceof SpectrogramAbortError` instead of string matching on error messages.
|
|
80
|
+
*/
|
|
81
|
+
declare class SpectrogramAbortError extends Error {
|
|
82
|
+
constructor();
|
|
97
83
|
}
|
|
98
84
|
interface SpectrogramWorkerFFTParams {
|
|
99
85
|
clipId: string;
|
|
@@ -107,6 +93,8 @@ interface SpectrogramWorkerFFTParams {
|
|
|
107
93
|
start: number;
|
|
108
94
|
end: number;
|
|
109
95
|
};
|
|
96
|
+
/** If set, compute only this channel index (used by worker pool). */
|
|
97
|
+
channelFilter?: number;
|
|
110
98
|
}
|
|
111
99
|
interface SpectrogramWorkerRenderChunksParams {
|
|
112
100
|
cacheKey: string;
|
|
@@ -125,16 +113,15 @@ interface SpectrogramWorkerRenderChunksParams {
|
|
|
125
113
|
channelIndex: number;
|
|
126
114
|
}
|
|
127
115
|
interface SpectrogramWorkerApi {
|
|
128
|
-
|
|
129
|
-
computeFFT(params: SpectrogramWorkerFFTParams): Promise<{
|
|
116
|
+
computeFFT(params: SpectrogramWorkerFFTParams, generation?: number): Promise<{
|
|
130
117
|
cacheKey: string;
|
|
131
118
|
}>;
|
|
132
|
-
renderChunks(params: SpectrogramWorkerRenderChunksParams): Promise<void>;
|
|
119
|
+
renderChunks(params: SpectrogramWorkerRenderChunksParams, generation?: number): Promise<void>;
|
|
120
|
+
abortGeneration(generation: number): void;
|
|
133
121
|
registerCanvas(canvasId: string, canvas: OffscreenCanvas): void;
|
|
134
122
|
unregisterCanvas(canvasId: string): void;
|
|
135
123
|
registerAudioData(clipId: string, channelDataArrays: Float32Array[], sampleRate: number): void;
|
|
136
124
|
unregisterAudioData(clipId: string): void;
|
|
137
|
-
computeAndRender(params: SpectrogramWorkerRenderParams): Promise<void>;
|
|
138
125
|
terminate(): void;
|
|
139
126
|
}
|
|
140
127
|
/**
|
|
@@ -151,11 +138,15 @@ interface SpectrogramWorkerApi {
|
|
|
151
138
|
*/
|
|
152
139
|
declare function createSpectrogramWorker(worker: Worker): SpectrogramWorkerApi;
|
|
153
140
|
|
|
141
|
+
declare function createSpectrogramWorkerPool(createWorker: () => Worker, poolSize?: number): SpectrogramWorkerApi;
|
|
142
|
+
|
|
154
143
|
interface SpectrogramProviderProps {
|
|
155
144
|
config?: SpectrogramConfig;
|
|
156
145
|
colorMap?: ColorMapValue;
|
|
146
|
+
/** Number of Web Workers for parallel FFT computation. Defaults to 2 (one per stereo channel). */
|
|
147
|
+
workerPoolSize?: number;
|
|
157
148
|
children: ReactNode;
|
|
158
149
|
}
|
|
159
150
|
declare const SpectrogramProvider: React.FC<SpectrogramProviderProps>;
|
|
160
151
|
|
|
161
|
-
export { type FrequencyScaleName, SpectrogramMenuItems, type SpectrogramMenuItemsProps, SpectrogramProvider, type SpectrogramProviderProps, SpectrogramSettingsModal, type SpectrogramSettingsModalProps, type SpectrogramWorkerApi, type
|
|
152
|
+
export { type FrequencyScaleName, SpectrogramAbortError, SpectrogramMenuItems, type SpectrogramMenuItemsProps, SpectrogramProvider, type SpectrogramProviderProps, SpectrogramSettingsModal, type SpectrogramSettingsModalProps, type SpectrogramWorkerApi, type TrackMenuItem, computeSpectrogram, computeSpectrogramMono, createSpectrogramWorker, createSpectrogramWorkerPool, getColorMap, getFrequencyScale };
|
package/dist/index.d.ts
CHANGED
|
@@ -74,26 +74,12 @@ interface SpectrogramSettingsModalProps {
|
|
|
74
74
|
}
|
|
75
75
|
declare const SpectrogramSettingsModal: React.FC<SpectrogramSettingsModalProps>;
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
mono: boolean;
|
|
84
|
-
}
|
|
85
|
-
interface SpectrogramWorkerRenderParams extends SpectrogramWorkerComputeParams {
|
|
86
|
-
render: {
|
|
87
|
-
canvasIds: string[][];
|
|
88
|
-
canvasWidths: number[];
|
|
89
|
-
canvasHeight: number;
|
|
90
|
-
devicePixelRatio: number;
|
|
91
|
-
samplesPerPixel: number;
|
|
92
|
-
colorLUT: Uint8Array;
|
|
93
|
-
frequencyScale: string;
|
|
94
|
-
minFrequency: number;
|
|
95
|
-
maxFrequency: number;
|
|
96
|
-
};
|
|
77
|
+
/**
|
|
78
|
+
* Error thrown when a spectrogram computation is aborted due to a generation change.
|
|
79
|
+
* Use `instanceof SpectrogramAbortError` instead of string matching on error messages.
|
|
80
|
+
*/
|
|
81
|
+
declare class SpectrogramAbortError extends Error {
|
|
82
|
+
constructor();
|
|
97
83
|
}
|
|
98
84
|
interface SpectrogramWorkerFFTParams {
|
|
99
85
|
clipId: string;
|
|
@@ -107,6 +93,8 @@ interface SpectrogramWorkerFFTParams {
|
|
|
107
93
|
start: number;
|
|
108
94
|
end: number;
|
|
109
95
|
};
|
|
96
|
+
/** If set, compute only this channel index (used by worker pool). */
|
|
97
|
+
channelFilter?: number;
|
|
110
98
|
}
|
|
111
99
|
interface SpectrogramWorkerRenderChunksParams {
|
|
112
100
|
cacheKey: string;
|
|
@@ -125,16 +113,15 @@ interface SpectrogramWorkerRenderChunksParams {
|
|
|
125
113
|
channelIndex: number;
|
|
126
114
|
}
|
|
127
115
|
interface SpectrogramWorkerApi {
|
|
128
|
-
|
|
129
|
-
computeFFT(params: SpectrogramWorkerFFTParams): Promise<{
|
|
116
|
+
computeFFT(params: SpectrogramWorkerFFTParams, generation?: number): Promise<{
|
|
130
117
|
cacheKey: string;
|
|
131
118
|
}>;
|
|
132
|
-
renderChunks(params: SpectrogramWorkerRenderChunksParams): Promise<void>;
|
|
119
|
+
renderChunks(params: SpectrogramWorkerRenderChunksParams, generation?: number): Promise<void>;
|
|
120
|
+
abortGeneration(generation: number): void;
|
|
133
121
|
registerCanvas(canvasId: string, canvas: OffscreenCanvas): void;
|
|
134
122
|
unregisterCanvas(canvasId: string): void;
|
|
135
123
|
registerAudioData(clipId: string, channelDataArrays: Float32Array[], sampleRate: number): void;
|
|
136
124
|
unregisterAudioData(clipId: string): void;
|
|
137
|
-
computeAndRender(params: SpectrogramWorkerRenderParams): Promise<void>;
|
|
138
125
|
terminate(): void;
|
|
139
126
|
}
|
|
140
127
|
/**
|
|
@@ -151,11 +138,15 @@ interface SpectrogramWorkerApi {
|
|
|
151
138
|
*/
|
|
152
139
|
declare function createSpectrogramWorker(worker: Worker): SpectrogramWorkerApi;
|
|
153
140
|
|
|
141
|
+
declare function createSpectrogramWorkerPool(createWorker: () => Worker, poolSize?: number): SpectrogramWorkerApi;
|
|
142
|
+
|
|
154
143
|
interface SpectrogramProviderProps {
|
|
155
144
|
config?: SpectrogramConfig;
|
|
156
145
|
colorMap?: ColorMapValue;
|
|
146
|
+
/** Number of Web Workers for parallel FFT computation. Defaults to 2 (one per stereo channel). */
|
|
147
|
+
workerPoolSize?: number;
|
|
157
148
|
children: ReactNode;
|
|
158
149
|
}
|
|
159
150
|
declare const SpectrogramProvider: React.FC<SpectrogramProviderProps>;
|
|
160
151
|
|
|
161
|
-
export { type FrequencyScaleName, SpectrogramMenuItems, type SpectrogramMenuItemsProps, SpectrogramProvider, type SpectrogramProviderProps, SpectrogramSettingsModal, type SpectrogramSettingsModalProps, type SpectrogramWorkerApi, type
|
|
152
|
+
export { type FrequencyScaleName, SpectrogramAbortError, SpectrogramMenuItems, type SpectrogramMenuItemsProps, SpectrogramProvider, type SpectrogramProviderProps, SpectrogramSettingsModal, type SpectrogramSettingsModalProps, type SpectrogramWorkerApi, type TrackMenuItem, computeSpectrogram, computeSpectrogramMono, createSpectrogramWorker, createSpectrogramWorkerPool, getColorMap, getFrequencyScale };
|