react-native-audio-api 0.13.0 → 0.13.2

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.
Files changed (85) hide show
  1. package/android/src/main/cpp/audioapi/CMakeLists.txt +15 -0
  2. package/android/src/main/cpp/audioapi/android/AudioAPIModule.cpp +4 -0
  3. package/android/src/main/cpp/audioapi/android/core/utils/AndroidRotatingFileWriter.cpp +3 -1
  4. package/android/src/main/cpp/audioapi/android/system/NativeFileInfo.cpp +48 -0
  5. package/android/src/main/cpp/audioapi/android/system/NativeFileInfo.hpp +6 -8
  6. package/common/cpp/audioapi/HostObjects/sources/AudioBufferBaseSourceNodeHostObject.cpp +1 -1
  7. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +1 -1
  8. package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +1 -1
  9. package/common/cpp/audioapi/core/sources/AudioFileSourceNode.h +1 -1
  10. package/common/cpp/audioapi/core/utils/decoding/SeekDecoderDaemon.h +1 -1
  11. package/common/cpp/audioapi/dsp/VectorMath.cpp +81 -1
  12. package/common/cpp/audioapi/dsp/VectorMath.h +9 -0
  13. package/common/cpp/audioapi/{core/utils → dsp}/WsolaTimeStretcher.cpp +23 -16
  14. package/common/cpp/audioapi/{core/utils → dsp}/WsolaTimeStretcher.h +6 -4
  15. package/ios/audioapi/ios/core/utils/IOSRotatingFileWriter.mm +3 -1
  16. package/ios/audioapi/ios/system/AudioEngine.mm +10 -0
  17. package/lib/commonjs/web-core/AudioBufferSourceNode.web.js +7 -1
  18. package/lib/commonjs/web-core/AudioBufferSourceNode.web.js.map +1 -1
  19. package/lib/commonjs/web-core/AudioContext.web.js +2 -4
  20. package/lib/commonjs/web-core/AudioContext.web.js.map +1 -1
  21. package/lib/commonjs/web-core/OfflineAudioContext.web.js +2 -4
  22. package/lib/commonjs/web-core/OfflineAudioContext.web.js.map +1 -1
  23. package/lib/commonjs/web-core/custom/index.js +7 -0
  24. package/lib/commonjs/web-core/custom/index.js.map +1 -1
  25. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.js +58 -6
  26. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.js.map +1 -1
  27. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.js +37 -0
  28. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.js.map +1 -0
  29. package/lib/{module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js → commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.mjs} +1 -1
  30. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.mjs.map +1 -0
  31. package/lib/commonjs/web-core/utils/AudioBufferSourceNodeStandard.js +8 -2
  32. package/lib/commonjs/web-core/utils/AudioBufferSourceNodeStandard.js.map +1 -1
  33. package/lib/module/web-core/AudioBufferSourceNode.web.js +7 -1
  34. package/lib/module/web-core/AudioBufferSourceNode.web.js.map +1 -1
  35. package/lib/module/web-core/AudioContext.web.js +2 -4
  36. package/lib/module/web-core/AudioContext.web.js.map +1 -1
  37. package/lib/module/web-core/OfflineAudioContext.web.js +2 -4
  38. package/lib/module/web-core/OfflineAudioContext.web.js.map +1 -1
  39. package/lib/module/web-core/custom/index.js +1 -0
  40. package/lib/module/web-core/custom/index.js.map +1 -1
  41. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.js +57 -6
  42. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.js.map +1 -1
  43. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.js +33 -0
  44. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.js.map +1 -0
  45. package/lib/{commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js → module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.mjs} +6 -10
  46. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.mjs.map +1 -0
  47. package/lib/module/web-core/utils/AudioBufferSourceNodeStandard.js +8 -2
  48. package/lib/module/web-core/utils/AudioBufferSourceNodeStandard.js.map +1 -1
  49. package/lib/typescript/web-core/AudioBufferSourceNode.web.d.ts +2 -0
  50. package/lib/typescript/web-core/AudioBufferSourceNode.web.d.ts.map +1 -1
  51. package/lib/typescript/web-core/AudioContext.web.d.ts +3 -1
  52. package/lib/typescript/web-core/AudioContext.web.d.ts.map +1 -1
  53. package/lib/typescript/web-core/BaseAudioContext.web.d.ts +3 -1
  54. package/lib/typescript/web-core/BaseAudioContext.web.d.ts.map +1 -1
  55. package/lib/typescript/web-core/OfflineAudioContext.web.d.ts +3 -1
  56. package/lib/typescript/web-core/OfflineAudioContext.web.d.ts.map +1 -1
  57. package/lib/typescript/web-core/custom/index.d.ts +1 -0
  58. package/lib/typescript/web-core/custom/index.d.ts.map +1 -1
  59. package/lib/typescript/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.d.ts +5 -1
  60. package/lib/typescript/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.d.ts.map +1 -1
  61. package/lib/typescript/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.d.ts +5 -0
  62. package/lib/typescript/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.d.ts.map +1 -0
  63. package/lib/typescript/web-core/types.web.d.ts +3 -1
  64. package/lib/typescript/web-core/types.web.d.ts.map +1 -1
  65. package/lib/typescript/web-core/utils/AudioBufferSourceNodeStandard.d.ts +2 -0
  66. package/lib/typescript/web-core/utils/AudioBufferSourceNodeStandard.d.ts.map +1 -1
  67. package/package.json +1 -1
  68. package/scripts/setup-rn-audio-api-web.js +4 -4
  69. package/src/web-core/AudioBufferSourceNode.web.ts +9 -1
  70. package/src/web-core/AudioContext.web.ts +4 -2
  71. package/src/web-core/BaseAudioContext.web.ts +3 -1
  72. package/src/web-core/OfflineAudioContext.web.ts +4 -2
  73. package/src/web-core/custom/index.ts +1 -0
  74. package/src/web-core/custom/wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher.ts +72 -12
  75. package/src/web-core/custom/wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm.ts +39 -0
  76. package/src/web-core/types.web.ts +4 -1
  77. package/src/web-core/utils/AudioBufferSourceNodeStandard.ts +12 -2
  78. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.js +0 -6
  79. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.js.map +0 -1
  80. package/lib/commonjs/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js.map +0 -1
  81. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.js +0 -4
  82. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.js.map +0 -1
  83. package/lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js.map +0 -1
  84. package/src/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.ts +0 -4
  85. /package/src/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/{SignalsmithStretch.js → SignalsmithStretch.mjs} +0 -0
@@ -6,14 +6,14 @@ const path = require('path');
6
6
  const args = process.argv.slice(2);
7
7
 
8
8
  /**
9
- * Resolves and returns the absolute path to the SignalsmithStretch.js file.
9
+ * Resolves and returns the absolute path to the SignalsmithStretch.mjs file.
10
10
  *
11
- * @returns {string} The absolute path to the SignalsmithStretch.js file.
11
+ * @returns {string} The absolute path to the SignalsmithStretch.mjs file.
12
12
  */
13
13
  function getInputFilePath() {
14
14
  return path.resolve(
15
15
  __dirname,
16
- '../lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js'
16
+ '../lib/module/web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.mjs'
17
17
  );
18
18
  }
19
19
 
@@ -26,7 +26,7 @@ function getInputFilePath() {
26
26
  function getOutputFilePath() {
27
27
  const publicFolder = path.resolve(args[0] || 'public');
28
28
 
29
- const publicFile = './signalsmithStretch.js';
29
+ const publicFile = './signalsmithStretch.mjs';
30
30
  const outputPath = path.join(publicFolder, publicFile);
31
31
 
32
32
  console.log(`> Output file path: ${outputPath}\n`);
@@ -28,10 +28,18 @@ export default class AudioBufferSourceNode {
28
28
  this.node.start(when, offset, duration);
29
29
  }
30
30
 
31
- stop(when: number = 0): void {
31
+ stop(when?: number): void {
32
32
  this.node.stop(when);
33
33
  }
34
34
 
35
+ get onEnded(): ((event: Event) => void) | null {
36
+ return this.node.onEnded;
37
+ }
38
+
39
+ set onEnded(callback: ((event: Event) => void) | null) {
40
+ this.node.onEnded = callback;
41
+ }
42
+
35
43
  get detune(): AudioParam {
36
44
  return this.node.detune;
37
45
  }
@@ -80,8 +80,10 @@ export default class AudioContext implements BaseAudioContext {
80
80
  return new IIRFilterNode(this, { feedforward, feedback });
81
81
  }
82
82
 
83
- createBufferSource(pitchCorrection?: boolean): AudioBufferSourceNode {
84
- return new AudioBufferSourceNode(this, { pitchCorrection });
83
+ createBufferSource(options?: {
84
+ pitchCorrection: boolean;
85
+ }): AudioBufferSourceNode {
86
+ return new AudioBufferSourceNode(this, options);
85
87
  }
86
88
 
87
89
  createMediaElementSource(
@@ -30,7 +30,9 @@ export default interface BaseAudioContext {
30
30
  createBiquadFilter(): BiquadFilterNode;
31
31
  createIIRFilter(feedforward: number[], feedback: number[]): IIRFilterNode;
32
32
  createConvolver(): ConvolverNode;
33
- createBufferSource(): AudioBufferSourceNode;
33
+ createBufferSource(options?: {
34
+ pitchCorrection: boolean;
35
+ }): AudioBufferSourceNode;
34
36
  createBuffer(
35
37
  numOfChannels: number,
36
38
  length: number,
@@ -86,8 +86,10 @@ export default class OfflineAudioContext implements BaseAudioContext {
86
86
  return new IIRFilterNode(this, { feedforward, feedback });
87
87
  }
88
88
 
89
- createBufferSource(pitchCorrection?: boolean): AudioBufferSourceNode {
90
- return new AudioBufferSourceNode(this, { pitchCorrection });
89
+ createBufferSource(options?: {
90
+ pitchCorrection: boolean;
91
+ }): AudioBufferSourceNode {
92
+ return new AudioBufferSourceNode(this, options);
91
93
  }
92
94
 
93
95
  createBuffer(
@@ -1 +1,2 @@
1
1
  export { default as AudioBufferSourceNodeStretcher } from './wasm-audio-bufffer-source-node-stretcher/AudioBufferSourceNodeStretcher';
2
+ export { default as LoadCustomWasm } from './wasm-audio-bufffer-source-node-stretcher/LoadCustomWasm';
@@ -7,10 +7,14 @@ import AudioNode from '../../AudioNode.web';
7
7
 
8
8
  import { clamp } from '../../../utils';
9
9
  import { AudioBufferSourceOptions } from '../../../types';
10
- import SignalsmithStretch from './signalsmithStretch/SignalsmithStretch.js';
10
+ import LoadCustomWasm, { globalWasmPromise, globalTag } from './LoadCustomWasm';
11
11
 
12
12
  import { AudioBufferSourceNodeBackend } from '../../types.web';
13
- import { ScheduleOptions, WasmAudioBufferSourceStretcherNode } from './types';
13
+ import {
14
+ ScheduleOptions,
15
+ WasmAudioBufferSourceStretcherNode,
16
+ WasmAudioBufferSourceStretcherNodeFactory,
17
+ } from './types';
14
18
  import AudioStretcherParam, {
15
19
  StretcherAutomationEvent,
16
20
  } from './AudioStretcherParam';
@@ -46,6 +50,8 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
46
50
  readonly detune: AudioStretcherParam;
47
51
  readonly playbackRate: AudioStretcherParam;
48
52
 
53
+ private _onEnded: ((event: Event) => void) | null = null;
54
+
49
55
  private _loop: boolean = false;
50
56
  private _loopStart: number = -1;
51
57
  private _loopEnd: number = -1;
@@ -59,7 +65,20 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
59
65
 
60
66
  constructor(context: BaseAudioContext, options: AudioBufferSourceOptions) {
61
67
  this.context = context;
62
- const stretcherPromise = SignalsmithStretch(context.context);
68
+ // The worklet is loaded as a static asset (served next to the app) rather
69
+ // than bundled, so it is never transformed by the consumer's bundler. The
70
+ // consumer preloads it via LoadCustomWasm(prefix); this call is idempotent.
71
+ const stretcherPromise = (async () => {
72
+ await LoadCustomWasm('/react-native-audio-api');
73
+ await globalWasmPromise;
74
+ const factory = (
75
+ window as unknown as Record<
76
+ string,
77
+ WasmAudioBufferSourceStretcherNodeFactory
78
+ >
79
+ )[globalTag];
80
+ return factory(context.context);
81
+ })();
63
82
  this.stretcherPromise = stretcherPromise;
64
83
  stretcherPromise.then((node) => {
65
84
  this.node = node;
@@ -222,13 +241,6 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
222
241
  : when;
223
242
 
224
243
  this.runOnStretcher((node) => {
225
- if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
226
- node.schedule({
227
- loopStart: this._loopStart,
228
- loopEnd: this._loopEnd,
229
- });
230
- }
231
-
232
244
  const playbackRate = this.playbackRate.getValueAtTime(startAt);
233
245
  const detune = this.detune.getValueAtTime(startAt);
234
246
  node.start(
@@ -238,16 +250,30 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
238
250
  playbackRate,
239
251
  detuneCentsToSemitones(detune)
240
252
  );
253
+
254
+ // Pin the loop to the same segment start() just scheduled (output=startAt).
255
+ // A separate schedule() with no output would land at the worklet's own
256
+ // (later) currentTime as an inactive trailing segment and silence playback.
257
+ if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
258
+ node.schedule({
259
+ output: startAt,
260
+ loopStart: this._loopStart,
261
+ loopEnd: this._loopEnd,
262
+ });
263
+ }
264
+
241
265
  this.flushPendingParamEvents();
242
266
  });
243
267
  }
244
268
 
245
- stop(when: number): void {
246
- if (when < 0) {
269
+ stop(when?: number): void {
270
+ if (when !== undefined && when < 0) {
247
271
  throw new RangeError(
248
272
  `when must be a finite non-negative number: ${when}`
249
273
  );
250
274
  }
275
+ // Passing `undefined` lets the worklet stop at its own fresh currentTime.
276
+ // Passing 0 would schedule deactivation before the start segment (a no-op).
251
277
  this.runOnStretcher((node) => {
252
278
  node.stop(when);
253
279
  });
@@ -286,12 +312,33 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
286
312
  });
287
313
  }
288
314
 
315
+ // Unlike the browser AudioBufferSourceNode, the WASM worklet only picks up
316
+ // loop bounds when they are scheduled. start() schedules the initial loop;
317
+ // these setters must re-schedule so live changes take effect while playing.
318
+ private applyLoopToStretcher(): void {
319
+ if (!this.hasBeenStarted) {
320
+ return;
321
+ }
322
+ this.runOnStretcher((node) => {
323
+ if (this._loop && this._loopStart !== -1 && this._loopEnd !== -1) {
324
+ node.schedule({
325
+ loopStart: this._loopStart,
326
+ loopEnd: this._loopEnd,
327
+ });
328
+ } else {
329
+ // Zero-length loop disables looping in the worklet going forward.
330
+ node.schedule({ loopStart: 0, loopEnd: 0 });
331
+ }
332
+ });
333
+ }
334
+
289
335
  get loop(): boolean {
290
336
  return this._loop;
291
337
  }
292
338
 
293
339
  set loop(value: boolean) {
294
340
  this._loop = value;
341
+ this.applyLoopToStretcher();
295
342
  }
296
343
 
297
344
  get loopStart(): number {
@@ -300,6 +347,7 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
300
347
 
301
348
  set loopStart(value: number) {
302
349
  this._loopStart = value;
350
+ this.applyLoopToStretcher();
303
351
  }
304
352
 
305
353
  get loopEnd(): number {
@@ -308,6 +356,7 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
308
356
 
309
357
  set loopEnd(value: number) {
310
358
  this._loopEnd = value;
359
+ this.applyLoopToStretcher();
311
360
  }
312
361
 
313
362
  get loopSkip(): boolean {
@@ -326,4 +375,15 @@ export default class AudioBufferSourceNodeStretcher implements AudioBufferSource
326
375
  set onLoopEnded(callback: ((event: object) => void) | null) {
327
376
  this._onLoopEnded = callback ?? undefined;
328
377
  }
378
+
379
+ get onEnded(): ((event: Event) => void) | null {
380
+ return this._onEnded;
381
+ }
382
+
383
+ set onEnded(callback: ((event: Event) => void) | null) {
384
+ this._onEnded = callback;
385
+ this.runOnStretcher((node) => {
386
+ node.onEnded = callback;
387
+ });
388
+ }
329
389
  }
@@ -0,0 +1,39 @@
1
+ export const globalTag = '__rnaaCstStretch';
2
+ const eventTitle = 'rnaaCstStretchLoaded';
3
+
4
+ export let globalWasmPromise: Promise<void> | null = null;
5
+
6
+ const LoadCustomWasm = async (pathPrefix: string = '') => {
7
+ if (typeof window === 'undefined') {
8
+ return null;
9
+ }
10
+
11
+ if (globalWasmPromise) {
12
+ return globalWasmPromise;
13
+ }
14
+
15
+ globalWasmPromise = new Promise<void>((resolve) => {
16
+ const loadScript = document.createElement('script');
17
+ document.head.appendChild(loadScript);
18
+ loadScript.type = 'module';
19
+
20
+ loadScript.textContent = `
21
+ import SignalsmithStretch from '${pathPrefix}/signalsmithStretch.mjs';
22
+ window.${globalTag} = SignalsmithStretch;
23
+ window.postMessage('${eventTitle}');
24
+ `;
25
+
26
+ function onScriptLoaded(event: MessageEvent<string>) {
27
+ if (event.data !== eventTitle) {
28
+ return;
29
+ }
30
+
31
+ resolve();
32
+ window.removeEventListener('message', onScriptLoaded);
33
+ }
34
+
35
+ window.addEventListener('message', onScriptLoaded);
36
+ });
37
+ };
38
+
39
+ export default LoadCustomWasm;
@@ -10,7 +10,10 @@ export interface AudioBufferSourceNodeBackend {
10
10
  disconnect(destination?: AudioNode | AudioParam): void;
11
11
 
12
12
  start(when?: number, offset?: number, duration?: number): void;
13
- stop(when: number): void;
13
+ stop(when?: number): void;
14
+
15
+ get onEnded(): ((event: Event) => void) | null;
16
+ set onEnded(callback: ((event: Event) => void) | null);
14
17
 
15
18
  get buffer(): AudioBuffer | null;
16
19
  set buffer(buffer: AudioBuffer | null);
@@ -53,8 +53,8 @@ export default class AudioBufferSourceNodeStandard implements AudioBufferSourceN
53
53
  this.node.start(when, offset, duration);
54
54
  }
55
55
 
56
- public stop(when: number = 0): void {
57
- if (when < 0) {
56
+ public stop(when?: number): void {
57
+ if (when !== undefined && when < 0) {
58
58
  throw new RangeError(
59
59
  `when must be a finite non-negative number: ${when}`
60
60
  );
@@ -140,6 +140,16 @@ export default class AudioBufferSourceNodeStandard implements AudioBufferSourceN
140
140
  this._loopSkip = value;
141
141
  }
142
142
 
143
+ public get onEnded(): ((event: Event) => void) | null {
144
+ return this.node.onended as ((event: Event) => void) | null;
145
+ }
146
+
147
+ public set onEnded(callback: ((event: Event) => void) | null) {
148
+ this.node.onended = callback as
149
+ | ((this: AudioScheduledSourceNode, ev: Event) => unknown)
150
+ | null;
151
+ }
152
+
143
153
  public get onLoopEnded(): ((event: object) => void) | undefined {
144
154
  return this._onLoopEnded;
145
155
  }
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=SignalsmithStretch.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.ts"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["module","exports","SignalsmithStretch","_scriptName","document","currentScript","src","undefined","moduleArg","moduleRtn","Module","readyPromiseResolve","readyPromiseReject","readyPromise","Promise","resolve","reject","ENVIRONMENT_IS_WEB","window","ENVIRONMENT_IS_WORKER","WorkerGlobalScope","ENVIRONMENT_IS_NODE","process","versions","node","type","ENVIRONMENT_IS_SHELL","crypto","globalThis","getRandomValues","array","i","length","Math","random","performance","now","_","Date","moduleOverrides","Object","assign","arguments_","quit_","status","toThrow","scriptDirectory","readAsync","readBinary","f","readbuffer","Uint8Array","data","read","assert","clearTimeout","id","setTimeout","arguments","scriptArgs","quit","ExitStatus","toLog","stack","err","print","console","log","warn","error","printErr","self","location","href","startsWith","slice","replace","lastIndexOf","url","xhr","XMLHttpRequest","open","responseType","send","response","fetch","credentials","ok","arrayBuffer","Error","out","bind","wasmBinary","wasmMemory","ABORT","EXITSTATUS","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAP64","HEAPU64","HEAPF64","runtimeInitialized","updateMemoryViews","b","buffer","Int8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","preRun","initRuntime","wasmExports","preMain","postRun","runDependencies","dependenciesFulfilled","addRunDependency","removeRunDependency","callback","abort","what","e","WebAssembly","RuntimeError","wasmBinaryFile","getBinarySync","file","binary","tryParseAsDataURI","getWasmBinary","binaryFile","instantiateArrayBuffer","imports","instance","instantiate","reason","instantiateAsync","getWasmImports","a","wasmImports","createWasm","receiveInstance","receiveInstantiationResult","result","info","name","constructor","message","base64Decode","b64","b1","b2","j","bLength","output","base64ReverseLookup","charCodeAt","isDataURI","filename","dataURIPrefix","__abort_js","getHeapMax","alignMemory","size","alignment","ceil","abortOnCannotGrowMemory","requestedSize","growMemory","pages","byteLength","grow","_emscripten_resize_heap","oldSize","maxHeapSize","cutDown","overGrownHeapSize","min","newSize","max","replacement","initRandomFill","view","randomFill","_random_get","subarray","keepRuntimeAlive","_proc_exit","code","exitJS","implicit","handleException","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","NaN","endIdx","endPtr","decode","str","u0","String","fromCharCode","u1","u2","ch","UTF8ToString","ptr","c","___wasm_call_ctors","_setBuffers","_blockSamples","_intervalSamples","_inputLatency","_outputLatency","_reset","_presetDefault","_presetCheaper","_configure","_setTransposeFactor","_setTransposeSemitones","_seek","_process","_flush","_main","callMain","entryFunction","argc","argv","ret","run","doRun","noInitialRun","registerWorkletProcessor","audioNodeKey","WasmProcessor","AudioWorkletProcessor","options","wasmReady","wasmModule","channels","buffersIn","buffersOut","audioBuffers","audioBuffersStart","audioBuffersEnd","timeIntervalSamples","sampleRate","timeIntervalCounter","timeMap","active","input","rate","semitones","loopStart","loopEnd","remoteMethods","configure","config","blockChanged","blockMs","intervalMs","setUpdateInterval","seconds","stop","when","currentTime","schedule","start","offset","duration","obj","outputLatencySeconds","objIn","adjustPrevious","outputTime","latestSegment","existingIndex","findIndex","segment","splice","insertAt","push","previous","currentMapSegment","shift","inputTime","port","postMessage","dropBuffers","toSeconds","buffers","flat","map","value","end","transfer","first","endSamples","endSeconds","forEach","addBuffers","sampleBuffers","concat","pendingMessages","onmessage","event","then","numberOfOutputs","outputChannelCount","messageId","method","methodArgCounts","key","tonalityHz","blockSamples","round","intervalSamples","updateBuffers","inputLatencySeconds","bufferLength","lengthBytes","bufferPointer","inputList","outputList","parameters","channel","fill","outputBlockSize","memory","inputs","channelBuffer","set","loopLength","inputSamplesEnd","audioBufferIndex","audioSamples","inputSamples","audioBuffer","startIndex","bufferEnd","count","registerProcessor","promiseKey","Symbol","createNode","audioContext","audioNode","numberOfInputs","AudioWorkletNode","moduleUrl","moduleCode","JSON","stringify","URL","createObjectURL","Blob","audioWorklet","addModule","requestMap","idCounter","timeUpdateCallback","post","remoteMethodKeys","keys","argCount","args","pop","define","_export","_default","default"],"sourceRoot":"../../../../../../src","sources":["web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js"],"mappings":"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","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- export {};
4
- //# sourceMappingURL=SignalsmithStretch.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.d.ts"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["module","exports","SignalsmithStretch","_scriptName","document","currentScript","src","undefined","moduleArg","moduleRtn","Module","readyPromiseResolve","readyPromiseReject","readyPromise","Promise","resolve","reject","ENVIRONMENT_IS_WEB","window","ENVIRONMENT_IS_WORKER","WorkerGlobalScope","ENVIRONMENT_IS_NODE","process","versions","node","type","ENVIRONMENT_IS_SHELL","crypto","globalThis","getRandomValues","array","i","length","Math","random","performance","now","_","Date","moduleOverrides","Object","assign","arguments_","quit_","status","toThrow","scriptDirectory","readAsync","readBinary","f","readbuffer","Uint8Array","data","read","assert","clearTimeout","id","setTimeout","arguments","scriptArgs","quit","ExitStatus","toLog","stack","err","print","console","log","warn","error","printErr","self","location","href","startsWith","slice","replace","lastIndexOf","url","xhr","XMLHttpRequest","open","responseType","send","response","fetch","credentials","ok","arrayBuffer","Error","out","bind","wasmBinary","wasmMemory","ABORT","EXITSTATUS","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAP64","HEAPU64","HEAPF64","runtimeInitialized","updateMemoryViews","b","buffer","Int8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","preRun","initRuntime","wasmExports","preMain","postRun","runDependencies","dependenciesFulfilled","addRunDependency","removeRunDependency","callback","abort","what","e","WebAssembly","RuntimeError","wasmBinaryFile","getBinarySync","file","binary","tryParseAsDataURI","getWasmBinary","binaryFile","instantiateArrayBuffer","imports","instance","instantiate","reason","instantiateAsync","getWasmImports","a","wasmImports","createWasm","receiveInstance","receiveInstantiationResult","result","info","name","constructor","message","base64Decode","b64","b1","b2","j","bLength","output","base64ReverseLookup","charCodeAt","isDataURI","filename","dataURIPrefix","__abort_js","getHeapMax","alignMemory","size","alignment","ceil","abortOnCannotGrowMemory","requestedSize","growMemory","pages","byteLength","grow","_emscripten_resize_heap","oldSize","maxHeapSize","cutDown","overGrownHeapSize","min","newSize","max","replacement","initRandomFill","view","randomFill","_random_get","subarray","keepRuntimeAlive","_proc_exit","code","exitJS","implicit","handleException","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","NaN","endIdx","endPtr","decode","str","u0","String","fromCharCode","u1","u2","ch","UTF8ToString","ptr","c","___wasm_call_ctors","_setBuffers","_blockSamples","_intervalSamples","_inputLatency","_outputLatency","_reset","_presetDefault","_presetCheaper","_configure","_setTransposeFactor","_setTransposeSemitones","_seek","_process","_flush","_main","callMain","entryFunction","argc","argv","ret","run","doRun","noInitialRun","registerWorkletProcessor","audioNodeKey","WasmProcessor","AudioWorkletProcessor","options","wasmReady","wasmModule","channels","buffersIn","buffersOut","audioBuffers","audioBuffersStart","audioBuffersEnd","timeIntervalSamples","sampleRate","timeIntervalCounter","timeMap","active","input","rate","semitones","loopStart","loopEnd","remoteMethods","configure","config","blockChanged","blockMs","intervalMs","setUpdateInterval","seconds","stop","when","currentTime","schedule","start","offset","duration","obj","outputLatencySeconds","objIn","adjustPrevious","outputTime","latestSegment","existingIndex","findIndex","segment","splice","insertAt","push","previous","currentMapSegment","shift","inputTime","port","postMessage","dropBuffers","toSeconds","buffers","flat","map","value","end","transfer","first","endSamples","endSeconds","forEach","addBuffers","sampleBuffers","concat","pendingMessages","onmessage","event","then","numberOfOutputs","outputChannelCount","messageId","method","methodArgCounts","key","tonalityHz","blockSamples","round","intervalSamples","updateBuffers","inputLatencySeconds","bufferLength","lengthBytes","bufferPointer","inputList","outputList","parameters","channel","fill","outputBlockSize","memory","inputs","channelBuffer","set","loopLength","inputSamplesEnd","audioBufferIndex","audioSamples","inputSamples","audioBuffer","startIndex","bufferEnd","count","registerProcessor","promiseKey","Symbol","createNode","audioContext","audioNode","numberOfInputs","AudioWorkletNode","moduleUrl","moduleCode","JSON","stringify","URL","createObjectURL","Blob","audioWorklet","addModule","requestMap","idCounter","timeUpdateCallback","post","remoteMethodKeys","keys","argCount","args","pop","define","_export"],"sourceRoot":"../../../../../../src","sources":["web-core/custom/wasm-audio-bufffer-source-node-stretcher/signalsmithStretch/SignalsmithStretch.js"],"mappings":"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","ignoreList":[]}
@@ -1,4 +0,0 @@
1
- import { WasmAudioBufferSourceStretcherNodeFactory } from '../types';
2
-
3
- declare const SignalsmithStretch: WasmAudioBufferSourceStretcherNodeFactory;
4
- export default SignalsmithStretch;