react-native-audio-api 0.4.12 → 0.4.13
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/lib/module/web-core/StretcherNode.js +24 -7
- package/lib/module/web-core/StretcherNode.js.map +1 -1
- package/lib/module/web-core/custom/signalsmithStretch/README.md +1 -1
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js +1 -0
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js.map +1 -1
- package/lib/typescript/web-core/StretcherNode.d.ts +3 -0
- package/lib/typescript/web-core/StretcherNode.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/setup-rn-audio-api-web.js +58 -0
- package/src/web-core/StretcherNode.tsx +28 -8
- package/src/web-core/custom/signalsmithStretch/README.md +1 -1
- package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.js +1 -0
- package/scripts/setup-custom-wasm.js +0 -104
|
@@ -7,6 +7,7 @@ export default class StretcherNode extends AudioNode {
|
|
|
7
7
|
_playbackRate = 1;
|
|
8
8
|
_loopStart = -1;
|
|
9
9
|
_loopEnd = -1;
|
|
10
|
+
_loop = false;
|
|
10
11
|
_isPlaying = false;
|
|
11
12
|
constructor(context, node) {
|
|
12
13
|
super(context, node);
|
|
@@ -39,22 +40,38 @@ export default class StretcherNode extends AudioNode {
|
|
|
39
40
|
}
|
|
40
41
|
set loopStart(value) {
|
|
41
42
|
this._loopStart = value;
|
|
42
|
-
this.
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
if (this._isPlaying) {
|
|
44
|
+
this.node.schedule({
|
|
45
|
+
loopStart: value
|
|
46
|
+
});
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
get loopEnd() {
|
|
47
50
|
return this._loopEnd;
|
|
48
51
|
}
|
|
49
52
|
set loopEnd(value) {
|
|
50
53
|
this._loopEnd = value;
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
if (this._isPlaying) {
|
|
55
|
+
this.node.schedule({
|
|
56
|
+
loopEnd: value
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
get loop() {
|
|
61
|
+
return this._loop;
|
|
62
|
+
}
|
|
63
|
+
set loop(value) {
|
|
64
|
+
this._loop = value;
|
|
54
65
|
}
|
|
55
66
|
start(when, offset, duration, rate, semitones) {
|
|
56
67
|
this._isPlaying = true;
|
|
57
|
-
this.
|
|
68
|
+
if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
|
|
69
|
+
this.node.schedule({
|
|
70
|
+
loopStart: this._loopStart,
|
|
71
|
+
loopEnd: this._loopEnd
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
this.node.start(when ?? 0, offset ?? 0, duration ?? this._buffer?.duration ?? 0, rate ?? this._playbackRate ?? 0, semitones ?? 0);
|
|
58
75
|
}
|
|
59
76
|
stop(when) {
|
|
60
77
|
this._isPlaying = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","globalTag","StretcherNode","_buffer","_playbackRate","_loopStart","_loopEnd","_isPlaying","constructor","context","node","buffer","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","playbackRate","value","schedule","rate","loopStart","loopEnd","start","when","offset","duration","semitones","stop"],"sourceRoot":"../../../src","sources":["web-core/StretcherNode.tsx"],"mappings":";;AAEA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,SAASC,SAAS,QAAQ,4BAAyB;AAsCnD,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EACnDG,OAAO,GAAuB,IAAI;EAElCC,aAAa,GAAW,CAAC;EACzBC,UAAU,GAAW,CAAC,CAAC;EACvBC,QAAQ,GAAW,CAAC,CAAC;EACrBC,UAAU,GAAG,KAAK;EAElBC,WAAWA,CAACC,OAAyB,EAAEC,IAAoB,EAAE;IAC3D,KAAK,CAACD,OAAO,EAAEC,IAAuC,CAAC;IACvD,IAAI,
|
|
1
|
+
{"version":3,"names":["AudioNode","globalTag","StretcherNode","_buffer","_playbackRate","_loopStart","_loopEnd","_loop","_isPlaying","constructor","context","node","buffer","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","playbackRate","value","schedule","rate","loopStart","loopEnd","loop","start","when","offset","duration","semitones","stop"],"sourceRoot":"../../../src","sources":["web-core/StretcherNode.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ The current input time, within the sample buffer. You can change how often this
|
|
|
14
14
|
|
|
15
15
|
### `stretch.schedule({...})`
|
|
16
16
|
|
|
17
|
-
This adds a scheduled change, removing any scheduled changes
|
|
17
|
+
This adds a scheduled change, removing any scheduled changes occurring after this one. The object properties are:
|
|
18
18
|
|
|
19
19
|
- `output` (seconds): audio context time for this change. The node compensates for its own latency, but this means you might want to schedule some things ahead of time, otherwise you'll have a softer transition as it catches up.
|
|
20
20
|
- `active` (bool): processing audio
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["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","module","exports","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","pop","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","define"],"sourceRoot":"../../../../../src","sources":["web-core/custom/signalsmithStretch/SignalsmithStretch.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["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","module","exports","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","pop","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","define"],"sourceRoot":"../../../../../src","sources":["web-core/custom/signalsmithStretch/SignalsmithStretch.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,6 +28,7 @@ export default class StretcherNode extends AudioNode {
|
|
|
28
28
|
_playbackRate: number;
|
|
29
29
|
_loopStart: number;
|
|
30
30
|
_loopEnd: number;
|
|
31
|
+
_loop: boolean;
|
|
31
32
|
_isPlaying: boolean;
|
|
32
33
|
constructor(context: BaseAudioContext, node: IStretcherNode);
|
|
33
34
|
get buffer(): AudioBuffer | null;
|
|
@@ -38,6 +39,8 @@ export default class StretcherNode extends AudioNode {
|
|
|
38
39
|
set loopStart(value: number);
|
|
39
40
|
get loopEnd(): number;
|
|
40
41
|
set loopEnd(value: number);
|
|
42
|
+
get loop(): boolean;
|
|
43
|
+
set loop(value: boolean);
|
|
41
44
|
start(when?: number, offset?: number, duration?: number, rate?: number, semitones?: number): void;
|
|
42
45
|
stop(when?: number): void;
|
|
43
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StretcherNode.d.ts","sourceRoot":"","sources":["../../../src/web-core/StretcherNode.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,OAAO,cAAc;IAC1B,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAE1C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAExC,KAAK,CACH,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAEP,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAEzB,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI;IAChD,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,SAAS,CAAC,EAAE,CACX,YAAY,EAAE,UAAU,CAAC,gBAAgB,KACtC,OAAO,CAAC,cAAc,CAAC,CAAC;KAC9B;CACF;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAClD,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnC,aAAa,EAAE,MAAM,CAAK;IAC1B,UAAU,EAAE,MAAM,CAAM;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,UAAU,UAAS;gBAEP,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc;IAK3D,IAAW,MAAM,IAAI,WAAW,GAAG,IAAI,CAEtC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,WAAW,EASpC;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,MAAM,EAMpC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"StretcherNode.d.ts","sourceRoot":"","sources":["../../../src/web-core/StretcherNode.tsx"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,OAAO,OAAO,cAAc;IAC1B,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAE1C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAExC,KAAK,CACH,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAEP,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAEzB,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI;IAChD,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI;CACpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,SAAS,CAAC,EAAE,CACX,YAAY,EAAE,UAAU,CAAC,gBAAgB,KACtC,OAAO,CAAC,cAAc,CAAC,CAAC;KAC9B;CACF;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAAS;IAClD,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnC,aAAa,EAAE,MAAM,CAAK;IAC1B,UAAU,EAAE,MAAM,CAAM;IACxB,QAAQ,EAAE,MAAM,CAAM;IACtB,KAAK,UAAS;IACd,UAAU,UAAS;gBAEP,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc;IAK3D,IAAW,MAAM,IAAI,WAAW,GAAG,IAAI,CAEtC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,WAAW,EASpC;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,MAAM,EAMpC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAMjC;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAM/B;IAED,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAE7B;IAEM,KAAK,CACV,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IAmBA,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CAIjC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-api",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.13",
|
|
4
4
|
"description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
|
|
5
5
|
"bin": {
|
|
6
|
-
"setup-
|
|
6
|
+
"setup-rn-audio-api-web": "./scripts/setup-rn-audio-api-web.js"
|
|
7
7
|
},
|
|
8
8
|
"source": "src/index",
|
|
9
9
|
"main": "lib/module/index",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"!**/__mocks__",
|
|
35
35
|
"!**/.*",
|
|
36
36
|
"!**/node_modules",
|
|
37
|
-
"scripts/setup-
|
|
37
|
+
"scripts/setup-rn-audio-api-web.js"
|
|
38
38
|
],
|
|
39
39
|
"scripts": {
|
|
40
40
|
"test": "jest",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Resolves and returns the absolute path to the SignalsmithStretch.mjs file.
|
|
10
|
+
*
|
|
11
|
+
* @returns {string} The absolute path to the SignalsmithStretch.mjs file.
|
|
12
|
+
*/
|
|
13
|
+
function getInputFilePath() {
|
|
14
|
+
return path.resolve(
|
|
15
|
+
__dirname,
|
|
16
|
+
'../lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs'
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Generates the output file path for the WebAssembly module.
|
|
22
|
+
*
|
|
23
|
+
* @param {boolean} isExpoAndMetro - A flag indicating whether the environment is Expo and Metro.
|
|
24
|
+
* @returns {string} The resolved output file path.
|
|
25
|
+
*/
|
|
26
|
+
function getOutputFilePath() {
|
|
27
|
+
const publicFolder = path.resolve(
|
|
28
|
+
args[0] || 'public'
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
const publicFile = './signalsmithStretch.mjs';
|
|
32
|
+
const outputPath = path.join(publicFolder, publicFile);
|
|
33
|
+
|
|
34
|
+
console.log(`> Output file path: ${outputPath}\n`);
|
|
35
|
+
|
|
36
|
+
return outputPath;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Copies a file from the input path to the output path.
|
|
41
|
+
*
|
|
42
|
+
* @param {string} inputPath - The path of the file to be copied.
|
|
43
|
+
* @param {string} outputPath - The destination path where the file should be copied.
|
|
44
|
+
*/
|
|
45
|
+
function copyFile(inputPath, outputPath) {
|
|
46
|
+
const data = fs.readFileSync(inputPath);
|
|
47
|
+
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
48
|
+
fs.writeFileSync(outputPath, data);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
(function main() {
|
|
52
|
+
const inputPath = getInputFilePath();
|
|
53
|
+
const outputPath = getOutputFilePath();
|
|
54
|
+
|
|
55
|
+
copyFile(inputPath, outputPath);
|
|
56
|
+
|
|
57
|
+
console.log(`> WebAssembly module setup complete\n`);
|
|
58
|
+
})();
|
|
@@ -46,6 +46,7 @@ export default class StretcherNode extends AudioNode {
|
|
|
46
46
|
_playbackRate: number = 1;
|
|
47
47
|
_loopStart: number = -1;
|
|
48
48
|
_loopEnd: number = -1;
|
|
49
|
+
_loop = false;
|
|
49
50
|
_isPlaying = false;
|
|
50
51
|
|
|
51
52
|
constructor(context: BaseAudioContext, node: IStretcherNode) {
|
|
@@ -59,7 +60,7 @@ export default class StretcherNode extends AudioNode {
|
|
|
59
60
|
|
|
60
61
|
public set buffer(buffer: AudioBuffer) {
|
|
61
62
|
this._buffer = buffer;
|
|
62
|
-
const channelArrays = [];
|
|
63
|
+
const channelArrays: Float32Array[] = [];
|
|
63
64
|
|
|
64
65
|
for (let i = 0; i < buffer.numberOfChannels; i += 1) {
|
|
65
66
|
channelArrays.push(buffer.getChannelData(i));
|
|
@@ -87,7 +88,9 @@ export default class StretcherNode extends AudioNode {
|
|
|
87
88
|
public set loopStart(value: number) {
|
|
88
89
|
this._loopStart = value;
|
|
89
90
|
|
|
90
|
-
(this.
|
|
91
|
+
if (this._isPlaying) {
|
|
92
|
+
(this.node as unknown as IStretcherNode).schedule({ loopStart: value });
|
|
93
|
+
}
|
|
91
94
|
}
|
|
92
95
|
|
|
93
96
|
public get loopEnd(): number {
|
|
@@ -97,7 +100,17 @@ export default class StretcherNode extends AudioNode {
|
|
|
97
100
|
public set loopEnd(value: number) {
|
|
98
101
|
this._loopEnd = value;
|
|
99
102
|
|
|
100
|
-
(this.
|
|
103
|
+
if (this._isPlaying) {
|
|
104
|
+
(this.node as unknown as IStretcherNode).schedule({ loopEnd: value });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
public get loop(): boolean {
|
|
109
|
+
return this._loop;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
public set loop(value: boolean) {
|
|
113
|
+
this._loop = value;
|
|
101
114
|
}
|
|
102
115
|
|
|
103
116
|
public start(
|
|
@@ -109,12 +122,19 @@ export default class StretcherNode extends AudioNode {
|
|
|
109
122
|
): void {
|
|
110
123
|
this._isPlaying = true;
|
|
111
124
|
|
|
125
|
+
if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
|
|
126
|
+
(this.node as unknown as IStretcherNode).schedule({
|
|
127
|
+
loopStart: this._loopStart,
|
|
128
|
+
loopEnd: this._loopEnd,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
112
132
|
(this.node as unknown as IStretcherNode).start(
|
|
113
|
-
when,
|
|
114
|
-
offset,
|
|
115
|
-
duration,
|
|
116
|
-
rate,
|
|
117
|
-
semitones
|
|
133
|
+
when ?? 0,
|
|
134
|
+
offset ?? 0,
|
|
135
|
+
duration ?? this._buffer?.duration ?? 0,
|
|
136
|
+
rate ?? this._playbackRate ?? 0,
|
|
137
|
+
semitones ?? 0
|
|
118
138
|
);
|
|
119
139
|
}
|
|
120
140
|
|
|
@@ -14,7 +14,7 @@ The current input time, within the sample buffer. You can change how often this
|
|
|
14
14
|
|
|
15
15
|
### `stretch.schedule({...})`
|
|
16
16
|
|
|
17
|
-
This adds a scheduled change, removing any scheduled changes
|
|
17
|
+
This adds a scheduled change, removing any scheduled changes occurring after this one. The object properties are:
|
|
18
18
|
|
|
19
19
|
- `output` (seconds): audio context time for this change. The node compensates for its own latency, but this means you might want to schedule some things ahead of time, otherwise you'll have a softer transition as it catches up.
|
|
20
20
|
- `active` (bool): processing audio
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const fs = require('fs');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
|
|
6
|
-
const args = process.argv.slice(2);
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Checks if the given app configuration is an Expo project using the Metro bundler for web.
|
|
10
|
-
*
|
|
11
|
-
* @param {Object} appJson - The app configuration JSON object.
|
|
12
|
-
* @returns {boolean} - Returns true if the project is an Expo project using the Metro bundler for web, otherwise false.
|
|
13
|
-
*/
|
|
14
|
-
function isExpoProjectWithExpo(appJson) {
|
|
15
|
-
return (
|
|
16
|
-
appJson.expo && appJson.expo.web && appJson.expo.web.bundler === 'metro'
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Checks if the current project is an Expo project using the Metro bundler.
|
|
22
|
-
*
|
|
23
|
-
* This function attempts to read the `app.json` file from the current working directory
|
|
24
|
-
* to determine if the project is an Expo project. If the project is an Expo project,
|
|
25
|
-
* it further checks if the Metro bundler is being used.
|
|
26
|
-
*
|
|
27
|
-
* @returns {boolean} - Returns `true` if the project is an Expo project using the Metro bundler,
|
|
28
|
-
* `false` if it is an Expo project without the Metro bundler, or if no Expo settings are found.
|
|
29
|
-
*/
|
|
30
|
-
function getIsExpoOnMetro() {
|
|
31
|
-
try {
|
|
32
|
-
const appJsonPath = path.join(process.cwd(), 'app.json');
|
|
33
|
-
|
|
34
|
-
console.log(`> Reading Expo settings from (if any):\n ${appJsonPath}\n`);
|
|
35
|
-
const appJson = require(appJsonPath);
|
|
36
|
-
|
|
37
|
-
const isExpoAndMetro = isExpoProjectWithExpo(appJson);
|
|
38
|
-
|
|
39
|
-
if (isExpoAndMetro) {
|
|
40
|
-
console.log(`> Expo project with Metro bundler detected\n`);
|
|
41
|
-
return true;
|
|
42
|
-
} else {
|
|
43
|
-
console.log(`> Expo project without Metro bundler detected\n`);
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
} catch (error) {
|
|
47
|
-
console.log(`No Expo settings found\n`);
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Resolves and returns the absolute path to the SignalsmithStretch.mjs file.
|
|
54
|
-
*
|
|
55
|
-
* @returns {string} The absolute path to the SignalsmithStretch.mjs file.
|
|
56
|
-
*/
|
|
57
|
-
function getInputFilePath() {
|
|
58
|
-
return path.resolve(
|
|
59
|
-
__dirname,
|
|
60
|
-
'../lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs'
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Generates the output file path for the WebAssembly module.
|
|
66
|
-
*
|
|
67
|
-
* @param {boolean} isExpoAndMetro - A flag indicating whether the environment is Expo and Metro.
|
|
68
|
-
* @returns {string} The resolved output file path.
|
|
69
|
-
*/
|
|
70
|
-
function getOutputFilePath(isExpoAndMetro) {
|
|
71
|
-
const publicFolder = path.resolve(
|
|
72
|
-
args[0] || (isExpoAndMetro ? 'public' : 'web/static/js')
|
|
73
|
-
);
|
|
74
|
-
|
|
75
|
-
const publicFile = './signalsmithStretch.mjs';
|
|
76
|
-
const outputPath = path.join(publicFolder, publicFile);
|
|
77
|
-
|
|
78
|
-
console.log(`> Output file path: ${outputPath}\n`);
|
|
79
|
-
|
|
80
|
-
return outputPath;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Copies a file from the input path to the output path.
|
|
85
|
-
*
|
|
86
|
-
* @param {string} inputPath - The path of the file to be copied.
|
|
87
|
-
* @param {string} outputPath - The destination path where the file should be copied.
|
|
88
|
-
*/
|
|
89
|
-
function copyFile(inputPath, outputPath) {
|
|
90
|
-
const data = fs.readFileSync(inputPath);
|
|
91
|
-
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
92
|
-
fs.writeFileSync(outputPath, data);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
(function main() {
|
|
96
|
-
const isExpoAndMetro = getIsExpoOnMetro();
|
|
97
|
-
|
|
98
|
-
const inputPath = getInputFilePath();
|
|
99
|
-
const outputPath = getOutputFilePath(isExpoAndMetro);
|
|
100
|
-
|
|
101
|
-
copyFile(inputPath, outputPath);
|
|
102
|
-
|
|
103
|
-
console.log(`> WebAssembly module setup complete\n`);
|
|
104
|
-
})();
|