react-native-audio-api 0.12.0-nightly-37d6b7c-20260119 → 0.12.0-nightly-75589dc-20260121
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/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.cpp +8 -5
- package/android/src/main/cpp/audioapi/android/core/AndroidAudioRecorder.h +1 -1
- package/android/src/main/cpp/audioapi/android/core/utils/AndroidFileWriterBackend.h +1 -1
- package/android/src/main/cpp/audioapi/android/core/utils/FileOptions.cpp +7 -3
- package/android/src/main/cpp/audioapi/android/core/utils/FileOptions.h +1 -1
- package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.cpp +4 -2
- package/android/src/main/cpp/audioapi/android/core/utils/ffmpegBackend/FFmpegFileWriter.h +1 -1
- package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.cpp +5 -4
- package/android/src/main/cpp/audioapi/android/core/utils/miniaudioBackend/MiniAudioFileWriter.h +2 -2
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.cpp +52 -49
- package/common/cpp/audioapi/HostObjects/inputs/AudioRecorderHostObject.cpp +2 -1
- package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.cpp +6 -0
- package/common/cpp/audioapi/HostObjects/sources/StreamerNodeHostObject.h +1 -0
- package/common/cpp/audioapi/HostObjects/utils/NodeOptions.h +111 -0
- package/common/cpp/audioapi/HostObjects/utils/NodeOptionsParser.h +262 -0
- package/common/cpp/audioapi/core/AudioNode.cpp +13 -6
- package/common/cpp/audioapi/core/AudioNode.h +2 -0
- package/common/cpp/audioapi/core/BaseAudioContext.cpp +42 -44
- package/common/cpp/audioapi/core/BaseAudioContext.h +32 -21
- package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +8 -6
- package/common/cpp/audioapi/core/analysis/AnalyserNode.h +2 -1
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +7 -8
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -1
- package/common/cpp/audioapi/core/effects/ConvolverNode.cpp +5 -9
- package/common/cpp/audioapi/core/effects/ConvolverNode.h +2 -2
- package/common/cpp/audioapi/core/effects/DelayNode.cpp +5 -4
- package/common/cpp/audioapi/core/effects/DelayNode.h +2 -1
- package/common/cpp/audioapi/core/effects/GainNode.cpp +4 -3
- package/common/cpp/audioapi/core/effects/GainNode.h +2 -1
- package/common/cpp/audioapi/core/effects/IIRFilterNode.cpp +6 -6
- package/common/cpp/audioapi/core/effects/IIRFilterNode.h +3 -2
- package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +3 -3
- package/common/cpp/audioapi/core/effects/StereoPannerNode.h +4 -1
- package/common/cpp/audioapi/core/effects/WaveShaperNode.cpp +4 -3
- package/common/cpp/audioapi/core/effects/WaveShaperNode.h +4 -1
- package/common/cpp/audioapi/core/inputs/AudioRecorder.h +1 -1
- package/common/cpp/audioapi/core/sources/AudioBuffer.cpp +3 -2
- package/common/cpp/audioapi/core/sources/AudioBuffer.h +2 -1
- package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.cpp +16 -22
- package/common/cpp/audioapi/core/sources/AudioBufferBaseSourceNode.h +2 -1
- package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.cpp +9 -6
- package/common/cpp/audioapi/core/sources/AudioBufferQueueSourceNode.h +2 -1
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +9 -7
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +4 -1
- package/common/cpp/audioapi/core/sources/ConstantSourceNode.cpp +5 -8
- package/common/cpp/audioapi/core/sources/ConstantSourceNode.h +4 -1
- package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +21 -16
- package/common/cpp/audioapi/core/sources/OscillatorNode.h +4 -1
- package/common/cpp/audioapi/core/sources/StreamerNode.cpp +4 -2
- package/common/cpp/audioapi/core/sources/StreamerNode.h +11 -1
- package/common/cpp/test/src/ConstantSourceTest.cpp +3 -2
- package/common/cpp/test/src/DelayTest.cpp +12 -5
- package/common/cpp/test/src/GainTest.cpp +3 -2
- package/common/cpp/test/src/IIRFilterTest.cpp +3 -2
- package/common/cpp/test/src/OscillatorTest.cpp +2 -1
- package/common/cpp/test/src/StereoPannerTest.cpp +3 -2
- package/common/cpp/test/src/biquad/BiquadFilterTest.cpp +10 -9
- package/common/cpp/test/src/core/effects/WaveShaperNodeTest.cpp +4 -3
- package/ios/audioapi/ios/core/IOSAudioRecorder.h +1 -1
- package/ios/audioapi/ios/core/IOSAudioRecorder.mm +5 -4
- package/ios/audioapi/ios/core/utils/FileOptions.h +3 -1
- package/ios/audioapi/ios/core/utils/FileOptions.mm +9 -3
- package/ios/audioapi/ios/core/utils/IOSFileWriter.h +2 -1
- package/ios/audioapi/ios/core/utils/IOSFileWriter.mm +5 -2
- package/lib/commonjs/api.js +11 -3
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/api.web.js +4 -10
- package/lib/commonjs/api.web.js.map +1 -1
- package/lib/commonjs/core/AnalyserNode.js +11 -0
- package/lib/commonjs/core/AnalyserNode.js.map +1 -1
- package/lib/commonjs/core/AudioBuffer.js +20 -6
- package/lib/commonjs/core/AudioBuffer.js.map +1 -1
- package/lib/commonjs/core/AudioBufferQueueSourceNode.js +9 -0
- package/lib/commonjs/core/AudioBufferQueueSourceNode.js.map +1 -1
- package/lib/commonjs/core/AudioBufferSourceNode.js +9 -0
- package/lib/commonjs/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/commonjs/core/AudioRecorder.js +3 -3
- package/lib/commonjs/core/AudioRecorder.js.map +1 -1
- package/lib/commonjs/core/BaseAudioContext.js +52 -65
- package/lib/commonjs/core/BaseAudioContext.js.map +1 -1
- package/lib/commonjs/core/BiquadFilterNode.js +7 -1
- package/lib/commonjs/core/BiquadFilterNode.js.map +1 -1
- package/lib/commonjs/core/ConstantSourceNode.js +7 -1
- package/lib/commonjs/core/ConstantSourceNode.js.map +1 -1
- package/lib/commonjs/core/ConvolverNode.js +9 -3
- package/lib/commonjs/core/ConvolverNode.js.map +1 -1
- package/lib/commonjs/core/DelayNode.js +7 -1
- package/lib/commonjs/core/DelayNode.js.map +1 -1
- package/lib/commonjs/core/GainNode.js +9 -3
- package/lib/commonjs/core/GainNode.js.map +1 -1
- package/lib/commonjs/core/IIRFilterNode.js +9 -0
- package/lib/commonjs/core/IIRFilterNode.js.map +1 -1
- package/lib/commonjs/core/OscillatorNode.js +10 -1
- package/lib/commonjs/core/OscillatorNode.js.map +1 -1
- package/lib/commonjs/core/PeriodicWave.js +30 -2
- package/lib/commonjs/core/PeriodicWave.js.map +1 -1
- package/lib/commonjs/core/RecorderAdapterNode.js +3 -0
- package/lib/commonjs/core/RecorderAdapterNode.js.map +1 -1
- package/lib/commonjs/core/StereoPannerNode.js +7 -1
- package/lib/commonjs/core/StereoPannerNode.js.map +1 -1
- package/lib/commonjs/core/StreamerNode.js +25 -1
- package/lib/commonjs/core/StreamerNode.js.map +1 -1
- package/lib/commonjs/core/WaveShaperNode.js +12 -0
- package/lib/commonjs/core/WaveShaperNode.js.map +1 -1
- package/lib/commonjs/core/WorkletNode.js +13 -1
- package/lib/commonjs/core/WorkletNode.js.map +1 -1
- package/lib/commonjs/core/WorkletProcessingNode.js +14 -1
- package/lib/commonjs/core/WorkletProcessingNode.js.map +1 -1
- package/lib/commonjs/core/WorkletSourceNode.js +13 -1
- package/lib/commonjs/core/WorkletSourceNode.js.map +1 -1
- package/lib/commonjs/defaults.js +78 -0
- package/lib/commonjs/defaults.js.map +1 -0
- package/lib/commonjs/options-validators.js +40 -0
- package/lib/commonjs/options-validators.js.map +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/web-core/AnalyserNode.js +2 -1
- package/lib/commonjs/web-core/AnalyserNode.js.map +1 -1
- package/lib/commonjs/web-core/AudioBuffer.js +14 -6
- package/lib/commonjs/web-core/AudioBuffer.js.map +1 -1
- package/lib/commonjs/web-core/AudioBufferSourceNode.js +276 -89
- package/lib/commonjs/web-core/AudioBufferSourceNode.js.map +1 -1
- package/lib/commonjs/web-core/AudioContext.js +33 -32
- package/lib/commonjs/web-core/AudioContext.js.map +1 -1
- package/lib/commonjs/web-core/AudioNode.js +4 -0
- package/lib/commonjs/web-core/AudioNode.js.map +1 -1
- package/lib/commonjs/web-core/BiquadFilterNode.js +2 -1
- package/lib/commonjs/web-core/BiquadFilterNode.js.map +1 -1
- package/lib/commonjs/web-core/ConstantSourceNode.js +2 -1
- package/lib/commonjs/web-core/ConstantSourceNode.js.map +1 -1
- package/lib/commonjs/web-core/ConvolverNode.js +3 -5
- package/lib/commonjs/web-core/ConvolverNode.js.map +1 -1
- package/lib/commonjs/web-core/DelayNode.js +7 -1
- package/lib/commonjs/web-core/DelayNode.js.map +1 -1
- package/lib/commonjs/web-core/GainNode.js +2 -1
- package/lib/commonjs/web-core/GainNode.js.map +1 -1
- package/lib/commonjs/web-core/IIRFilterNode.js +12 -0
- package/lib/commonjs/web-core/IIRFilterNode.js.map +1 -1
- package/lib/commonjs/web-core/OfflineAudioContext.js +33 -32
- package/lib/commonjs/web-core/OfflineAudioContext.js.map +1 -1
- package/lib/commonjs/web-core/OscillatorNode.js +2 -1
- package/lib/commonjs/web-core/OscillatorNode.js.map +1 -1
- package/lib/commonjs/web-core/PeriodicWave.js +6 -1
- package/lib/commonjs/web-core/PeriodicWave.js.map +1 -1
- package/lib/commonjs/web-core/StereoPannerNode.js +2 -1
- package/lib/commonjs/web-core/StereoPannerNode.js.map +1 -1
- package/lib/module/api.js +2 -1
- package/lib/module/api.js.map +1 -1
- package/lib/module/api.web.js +2 -1
- package/lib/module/api.web.js.map +1 -1
- package/lib/module/core/AnalyserNode.js +11 -0
- package/lib/module/core/AnalyserNode.js.map +1 -1
- package/lib/module/core/AudioBuffer.js +19 -6
- package/lib/module/core/AudioBuffer.js.map +1 -1
- package/lib/module/core/AudioBufferQueueSourceNode.js +9 -0
- package/lib/module/core/AudioBufferQueueSourceNode.js.map +1 -1
- package/lib/module/core/AudioBufferSourceNode.js +9 -0
- package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/core/AudioRecorder.js +3 -4
- package/lib/module/core/AudioRecorder.js.map +1 -1
- package/lib/module/core/BaseAudioContext.js +52 -65
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/core/BiquadFilterNode.js +7 -1
- package/lib/module/core/BiquadFilterNode.js.map +1 -1
- package/lib/module/core/ConstantSourceNode.js +7 -1
- package/lib/module/core/ConstantSourceNode.js.map +1 -1
- package/lib/module/core/ConvolverNode.js +9 -3
- package/lib/module/core/ConvolverNode.js.map +1 -1
- package/lib/module/core/DelayNode.js +7 -1
- package/lib/module/core/DelayNode.js.map +1 -1
- package/lib/module/core/GainNode.js +9 -3
- package/lib/module/core/GainNode.js.map +1 -1
- package/lib/module/core/IIRFilterNode.js +9 -0
- package/lib/module/core/IIRFilterNode.js.map +1 -1
- package/lib/module/core/OscillatorNode.js +10 -1
- package/lib/module/core/OscillatorNode.js.map +1 -1
- package/lib/module/core/PeriodicWave.js +29 -2
- package/lib/module/core/PeriodicWave.js.map +1 -1
- package/lib/module/core/RecorderAdapterNode.js +3 -0
- package/lib/module/core/RecorderAdapterNode.js.map +1 -1
- package/lib/module/core/StereoPannerNode.js +7 -1
- package/lib/module/core/StereoPannerNode.js.map +1 -1
- package/lib/module/core/StreamerNode.js +25 -1
- package/lib/module/core/StreamerNode.js.map +1 -1
- package/lib/module/core/WaveShaperNode.js +12 -0
- package/lib/module/core/WaveShaperNode.js.map +1 -1
- package/lib/module/core/WorkletNode.js +13 -1
- package/lib/module/core/WorkletNode.js.map +1 -1
- package/lib/module/core/WorkletProcessingNode.js +14 -1
- package/lib/module/core/WorkletProcessingNode.js.map +1 -1
- package/lib/module/core/WorkletSourceNode.js +13 -1
- package/lib/module/core/WorkletSourceNode.js.map +1 -1
- package/lib/module/defaults.js +74 -0
- package/lib/module/defaults.js.map +1 -0
- package/lib/module/options-validators.js +36 -0
- package/lib/module/options-validators.js.map +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/web-core/AnalyserNode.js +2 -1
- package/lib/module/web-core/AnalyserNode.js.map +1 -1
- package/lib/module/web-core/AudioBuffer.js +13 -6
- package/lib/module/web-core/AudioBuffer.js.map +1 -1
- package/lib/module/web-core/AudioBufferSourceNode.js +277 -90
- package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/web-core/AudioContext.js +33 -32
- package/lib/module/web-core/AudioContext.js.map +1 -1
- package/lib/module/web-core/AudioNode.js +4 -0
- package/lib/module/web-core/AudioNode.js.map +1 -1
- package/lib/module/web-core/BiquadFilterNode.js +2 -1
- package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
- package/lib/module/web-core/ConstantSourceNode.js +2 -1
- package/lib/module/web-core/ConstantSourceNode.js.map +1 -1
- package/lib/module/web-core/ConvolverNode.js +3 -5
- package/lib/module/web-core/ConvolverNode.js.map +1 -1
- package/lib/module/web-core/DelayNode.js +7 -1
- package/lib/module/web-core/DelayNode.js.map +1 -1
- package/lib/module/web-core/GainNode.js +2 -1
- package/lib/module/web-core/GainNode.js.map +1 -1
- package/lib/module/web-core/IIRFilterNode.js +12 -0
- package/lib/module/web-core/IIRFilterNode.js.map +1 -1
- package/lib/module/web-core/OfflineAudioContext.js +33 -32
- package/lib/module/web-core/OfflineAudioContext.js.map +1 -1
- package/lib/module/web-core/OscillatorNode.js +2 -1
- package/lib/module/web-core/OscillatorNode.js.map +1 -1
- package/lib/module/web-core/PeriodicWave.js +6 -1
- package/lib/module/web-core/PeriodicWave.js.map +1 -1
- package/lib/module/web-core/StereoPannerNode.js +2 -1
- package/lib/module/web-core/StereoPannerNode.js.map +1 -1
- package/lib/typescript/api.d.ts +2 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/api.web.d.ts +2 -1
- package/lib/typescript/api.web.d.ts.map +1 -1
- package/lib/typescript/core/AnalyserNode.d.ts +3 -1
- package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioBuffer.d.ts +3 -0
- package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts +3 -0
- package/lib/typescript/core/AudioBufferQueueSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioBufferSourceNode.d.ts +3 -0
- package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioRecorder.d.ts +2 -2
- package/lib/typescript/core/AudioRecorder.d.ts.map +1 -1
- package/lib/typescript/core/BaseAudioContext.d.ts +10 -6
- package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/core/BiquadFilterNode.d.ts +2 -3
- package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
- package/lib/typescript/core/ConstantSourceNode.d.ts +2 -2
- package/lib/typescript/core/ConstantSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/ConvolverNode.d.ts +2 -2
- package/lib/typescript/core/ConvolverNode.d.ts.map +1 -1
- package/lib/typescript/core/DelayNode.d.ts +2 -2
- package/lib/typescript/core/DelayNode.d.ts.map +1 -1
- package/lib/typescript/core/GainNode.d.ts +2 -2
- package/lib/typescript/core/GainNode.d.ts.map +1 -1
- package/lib/typescript/core/IIRFilterNode.d.ts +3 -0
- package/lib/typescript/core/IIRFilterNode.d.ts.map +1 -1
- package/lib/typescript/core/OscillatorNode.d.ts +2 -3
- package/lib/typescript/core/OscillatorNode.d.ts.map +1 -1
- package/lib/typescript/core/PeriodicWave.d.ts +4 -1
- package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
- package/lib/typescript/core/RecorderAdapterNode.d.ts +2 -0
- package/lib/typescript/core/RecorderAdapterNode.d.ts.map +1 -1
- package/lib/typescript/core/StereoPannerNode.d.ts +2 -2
- package/lib/typescript/core/StereoPannerNode.d.ts.map +1 -1
- package/lib/typescript/core/StreamerNode.d.ts +5 -0
- package/lib/typescript/core/StreamerNode.d.ts.map +1 -1
- package/lib/typescript/core/WaveShaperNode.d.ts +3 -0
- package/lib/typescript/core/WaveShaperNode.d.ts.map +1 -1
- package/lib/typescript/core/WorkletNode.d.ts +3 -0
- package/lib/typescript/core/WorkletNode.d.ts.map +1 -1
- package/lib/typescript/core/WorkletProcessingNode.d.ts +3 -0
- package/lib/typescript/core/WorkletProcessingNode.d.ts.map +1 -1
- package/lib/typescript/core/WorkletSourceNode.d.ts +3 -0
- package/lib/typescript/core/WorkletSourceNode.d.ts.map +1 -1
- package/lib/typescript/defaults.d.ts +16 -0
- package/lib/typescript/defaults.d.ts.map +1 -0
- package/lib/typescript/interfaces.d.ts +17 -16
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/options-validators.d.ts +6 -0
- package/lib/typescript/options-validators.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +83 -11
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/web-core/AnalyserNode.d.ts +2 -2
- package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBuffer.d.ts +3 -0
- package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +24 -15
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioContext.d.ts +5 -6
- package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioNode.d.ts +2 -2
- package/lib/typescript/web-core/AudioNode.d.ts.map +1 -1
- package/lib/typescript/web-core/BaseAudioContext.d.ts +3 -3
- package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/BiquadFilterNode.d.ts +2 -2
- package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
- package/lib/typescript/web-core/ConstantSourceNode.d.ts +2 -1
- package/lib/typescript/web-core/ConstantSourceNode.d.ts.map +1 -1
- package/lib/typescript/web-core/ConvolverNode.d.ts +2 -1
- package/lib/typescript/web-core/ConvolverNode.d.ts.map +1 -1
- package/lib/typescript/web-core/DelayNode.d.ts +2 -1
- package/lib/typescript/web-core/DelayNode.d.ts.map +1 -1
- package/lib/typescript/web-core/GainNode.d.ts +2 -1
- package/lib/typescript/web-core/GainNode.d.ts.map +1 -1
- package/lib/typescript/web-core/IIRFilterNode.d.ts +3 -0
- package/lib/typescript/web-core/IIRFilterNode.d.ts.map +1 -1
- package/lib/typescript/web-core/OfflineAudioContext.d.ts +5 -6
- package/lib/typescript/web-core/OfflineAudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/OscillatorNode.d.ts +2 -2
- package/lib/typescript/web-core/OscillatorNode.d.ts.map +1 -1
- package/lib/typescript/web-core/PeriodicWave.d.ts +3 -1
- package/lib/typescript/web-core/PeriodicWave.d.ts.map +1 -1
- package/lib/typescript/web-core/StereoPannerNode.d.ts +2 -1
- package/lib/typescript/web-core/StereoPannerNode.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +3 -1
- package/src/api.web.ts +1 -2
- package/src/core/AnalyserNode.ts +16 -1
- package/src/core/AudioBuffer.ts +26 -6
- package/src/core/AudioBufferQueueSourceNode.ts +15 -0
- package/src/core/AudioBufferSourceNode.ts +12 -0
- package/src/core/AudioRecorder.ts +4 -3
- package/src/core/BaseAudioContext.ts +48 -151
- package/src/core/BiquadFilterNode.ts +9 -2
- package/src/core/ConstantSourceNode.ts +9 -1
- package/src/core/ConvolverNode.ts +11 -3
- package/src/core/DelayNode.ts +5 -2
- package/src/core/GainNode.ts +10 -3
- package/src/core/IIRFilterNode.ts +12 -0
- package/src/core/OscillatorNode.ts +13 -2
- package/src/core/PeriodicWave.ts +36 -2
- package/src/core/RecorderAdapterNode.ts +5 -0
- package/src/core/StereoPannerNode.ts +9 -1
- package/src/core/StreamerNode.ts +29 -1
- package/src/core/WaveShaperNode.ts +17 -0
- package/src/core/WorkletNode.ts +30 -1
- package/src/core/WorkletProcessingNode.ts +39 -1
- package/src/core/WorkletSourceNode.ts +36 -1
- package/src/defaults.ts +100 -0
- package/src/interfaces.ts +38 -25
- package/src/options-validators.ts +66 -0
- package/src/types.ts +100 -12
- package/src/web-core/AnalyserNode.tsx +15 -6
- package/src/web-core/AudioBuffer.tsx +20 -6
- package/src/web-core/AudioBufferSourceNode.tsx +393 -148
- package/src/web-core/AudioContext.tsx +22 -72
- package/src/web-core/AudioNode.tsx +6 -2
- package/src/web-core/BaseAudioContext.tsx +3 -7
- package/src/web-core/BiquadFilterNode.tsx +6 -2
- package/src/web-core/ConstantSourceNode.tsx +3 -1
- package/src/web-core/ConvolverNode.tsx +8 -8
- package/src/web-core/DelayNode.tsx +5 -1
- package/src/web-core/GainNode.tsx +3 -1
- package/src/web-core/IIRFilterNode.tsx +15 -0
- package/src/web-core/OfflineAudioContext.tsx +19 -67
- package/src/web-core/OscillatorNode.tsx +3 -2
- package/src/web-core/PeriodicWave.tsx +11 -1
- package/src/web-core/StereoPannerNode.tsx +9 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <audioapi/core/OfflineAudioContext.h>
|
|
2
3
|
#include <audioapi/core/effects/DelayNode.h>
|
|
3
4
|
#include <audioapi/core/utils/worklets/SafeIncludes.h>
|
|
@@ -25,7 +26,7 @@ class DelayTest : public ::testing::Test {
|
|
|
25
26
|
|
|
26
27
|
class TestableDelayNode : public DelayNode {
|
|
27
28
|
public:
|
|
28
|
-
explicit TestableDelayNode(std::shared_ptr<BaseAudioContext> context) : DelayNode(context,
|
|
29
|
+
explicit TestableDelayNode(std::shared_ptr<BaseAudioContext> context, const DelayOptions& options) : DelayNode(context, options) {}
|
|
29
30
|
|
|
30
31
|
void setDelayTimeParam(float value) {
|
|
31
32
|
getDelayTimeParam()->setValue(value);
|
|
@@ -39,14 +40,16 @@ class TestableDelayNode : public DelayNode {
|
|
|
39
40
|
};
|
|
40
41
|
|
|
41
42
|
TEST_F(DelayTest, DelayCanBeCreated) {
|
|
42
|
-
auto delay = context->createDelay(
|
|
43
|
+
auto delay = context->createDelay(DelayOptions());
|
|
43
44
|
ASSERT_NE(delay, nullptr);
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
TEST_F(DelayTest, DelayWithZeroDelayOutputsInputSignal) {
|
|
47
48
|
static constexpr float DELAY_TIME = 0.0f;
|
|
48
49
|
static constexpr int FRAMES_TO_PROCESS = 4;
|
|
49
|
-
auto
|
|
50
|
+
auto options = DelayOptions();
|
|
51
|
+
options.maxDelayTime = 1.0f;
|
|
52
|
+
auto delayNode = TestableDelayNode(context, options);
|
|
50
53
|
delayNode.setDelayTimeParam(DELAY_TIME);
|
|
51
54
|
|
|
52
55
|
auto bus = std::make_shared<audioapi::AudioBus>(FRAMES_TO_PROCESS, 1, sampleRate);
|
|
@@ -63,7 +66,9 @@ TEST_F(DelayTest, DelayWithZeroDelayOutputsInputSignal) {
|
|
|
63
66
|
TEST_F(DelayTest, DelayAppliesTimeShiftCorrectly) {
|
|
64
67
|
float DELAY_TIME = (128.0 / context->getSampleRate()) * 0.5;
|
|
65
68
|
static constexpr int FRAMES_TO_PROCESS = 128;
|
|
66
|
-
auto
|
|
69
|
+
auto options = DelayOptions();
|
|
70
|
+
options.maxDelayTime = 1.0f;
|
|
71
|
+
auto delayNode = TestableDelayNode(context, options);
|
|
67
72
|
delayNode.setDelayTimeParam(DELAY_TIME);
|
|
68
73
|
|
|
69
74
|
auto bus = std::make_shared<audioapi::AudioBus>(FRAMES_TO_PROCESS, 1, sampleRate);
|
|
@@ -87,7 +92,9 @@ TEST_F(DelayTest, DelayAppliesTimeShiftCorrectly) {
|
|
|
87
92
|
TEST_F(DelayTest, DelayHandlesTailCorrectly) {
|
|
88
93
|
float DELAY_TIME = (128.0 / context->getSampleRate()) * 0.5;
|
|
89
94
|
static constexpr int FRAMES_TO_PROCESS = 128;
|
|
90
|
-
auto
|
|
95
|
+
auto options = DelayOptions();
|
|
96
|
+
options.maxDelayTime = 1.0f;
|
|
97
|
+
auto delayNode = TestableDelayNode(context, options);
|
|
91
98
|
delayNode.setDelayTimeParam(DELAY_TIME);
|
|
92
99
|
|
|
93
100
|
auto bus = std::make_shared<audioapi::AudioBus>(FRAMES_TO_PROCESS, 1, sampleRate);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <audioapi/core/OfflineAudioContext.h>
|
|
2
3
|
#include <audioapi/core/effects/GainNode.h>
|
|
3
4
|
#include <audioapi/core/utils/worklets/SafeIncludes.h>
|
|
@@ -25,7 +26,7 @@ class GainTest : public ::testing::Test {
|
|
|
25
26
|
|
|
26
27
|
class TestableGainNode : public GainNode {
|
|
27
28
|
public:
|
|
28
|
-
explicit TestableGainNode(std::shared_ptr<BaseAudioContext> context) : GainNode(context) {}
|
|
29
|
+
explicit TestableGainNode(std::shared_ptr<BaseAudioContext> context) : GainNode(context, GainOptions()) {}
|
|
29
30
|
|
|
30
31
|
void setGainParam(float value) {
|
|
31
32
|
getGainParam()->setValue(value);
|
|
@@ -39,7 +40,7 @@ class TestableGainNode : public GainNode {
|
|
|
39
40
|
};
|
|
40
41
|
|
|
41
42
|
TEST_F(GainTest, GainCanBeCreated) {
|
|
42
|
-
auto gain = context->createGain();
|
|
43
|
+
auto gain = context->createGain(GainOptions());
|
|
43
44
|
ASSERT_NE(gain, nullptr);
|
|
44
45
|
}
|
|
45
46
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <audioapi/core/OfflineAudioContext.h>
|
|
2
3
|
#include <audioapi/core/effects/IIRFilterNode.h>
|
|
3
4
|
#include <audioapi/core/utils/worklets/SafeIncludes.h>
|
|
@@ -91,7 +92,7 @@ class IIRFilterTest : public ::testing::Test {
|
|
|
91
92
|
TEST_F(IIRFilterTest, IIRFilterCanBeCreated) {
|
|
92
93
|
const std::vector<float> feedforward = {1.0};
|
|
93
94
|
const std::vector<float> feedback = {1.0};
|
|
94
|
-
auto node = context->createIIRFilter(feedforward, feedback);
|
|
95
|
+
auto node = context->createIIRFilter(IIRFilterOptions(feedforward, feedback));
|
|
95
96
|
ASSERT_NE(node, nullptr);
|
|
96
97
|
}
|
|
97
98
|
|
|
@@ -99,7 +100,7 @@ TEST_F(IIRFilterTest, GetFrequencyResponse) {
|
|
|
99
100
|
const std::vector<float> feedforward = {0.0050662636, 0.0101325272, 0.0050662636};
|
|
100
101
|
const std::vector<float> feedback = {1.0632762845, -1.9797349456, 0.9367237155};
|
|
101
102
|
|
|
102
|
-
auto node = IIRFilterNode(context, feedforward, feedback);
|
|
103
|
+
auto node = IIRFilterNode(context, IIRFilterOptions(feedforward, feedback));
|
|
103
104
|
|
|
104
105
|
float frequency = 1000.0f;
|
|
105
106
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <audioapi/core/OfflineAudioContext.h>
|
|
2
3
|
#include <audioapi/core/sources/OscillatorNode.h>
|
|
3
4
|
#include <audioapi/core/utils/worklets/SafeIncludes.h>
|
|
@@ -21,6 +22,6 @@ class OscillatorTest : public ::testing::Test {
|
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
TEST_F(OscillatorTest, OscillatorCanBeCreated) {
|
|
24
|
-
auto osc = context->createOscillator();
|
|
25
|
+
auto osc = context->createOscillator(OscillatorOptions());
|
|
25
26
|
ASSERT_NE(osc, nullptr);
|
|
26
27
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <audioapi/core/OfflineAudioContext.h>
|
|
2
3
|
#include <audioapi/core/effects/StereoPannerNode.h>
|
|
3
4
|
#include <audioapi/core/utils/worklets/SafeIncludes.h>
|
|
@@ -26,7 +27,7 @@ class StereoPannerTest : public ::testing::Test {
|
|
|
26
27
|
class TestableStereoPannerNode : public StereoPannerNode {
|
|
27
28
|
public:
|
|
28
29
|
explicit TestableStereoPannerNode(std::shared_ptr<BaseAudioContext> context)
|
|
29
|
-
: StereoPannerNode(context) {}
|
|
30
|
+
: StereoPannerNode(context, StereoPannerOptions()) {}
|
|
30
31
|
|
|
31
32
|
void setPanParam(float value) {
|
|
32
33
|
getPanParam()->setValue(value);
|
|
@@ -40,7 +41,7 @@ class TestableStereoPannerNode : public StereoPannerNode {
|
|
|
40
41
|
};
|
|
41
42
|
|
|
42
43
|
TEST_F(StereoPannerTest, StereoPannerCanBeCreated) {
|
|
43
|
-
auto panner = context->createStereoPanner();
|
|
44
|
+
auto panner = context->createStereoPanner(StereoPannerOptions());
|
|
44
45
|
ASSERT_NE(panner, nullptr);
|
|
45
46
|
}
|
|
46
47
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <test/src/biquad/BiquadFilterChromium.h>
|
|
2
3
|
#include <test/src/biquad/BiquadFilterTest.h>
|
|
3
4
|
#include <memory>
|
|
@@ -16,7 +17,7 @@ void BiquadFilterTest::expectCoefficientsNear(
|
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
void BiquadFilterTest::testLowpass(float frequency, float Q) {
|
|
19
|
-
auto node = BiquadFilterNode(context);
|
|
20
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
20
21
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
21
22
|
|
|
22
23
|
node.setLowpassCoefficients(normalizedFrequency, Q);
|
|
@@ -24,7 +25,7 @@ void BiquadFilterTest::testLowpass(float frequency, float Q) {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
void BiquadFilterTest::testHighpass(float frequency, float Q) {
|
|
27
|
-
auto node = BiquadFilterNode(context);
|
|
28
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
28
29
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
29
30
|
|
|
30
31
|
node.setHighpassCoefficients(normalizedFrequency, Q);
|
|
@@ -32,7 +33,7 @@ void BiquadFilterTest::testHighpass(float frequency, float Q) {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
void BiquadFilterTest::testBandpass(float frequency, float Q) {
|
|
35
|
-
auto node = BiquadFilterNode(context);
|
|
36
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
36
37
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
37
38
|
|
|
38
39
|
node.setBandpassCoefficients(normalizedFrequency, Q);
|
|
@@ -40,7 +41,7 @@ void BiquadFilterTest::testBandpass(float frequency, float Q) {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
void BiquadFilterTest::testNotch(float frequency, float Q) {
|
|
43
|
-
auto node = BiquadFilterNode(context);
|
|
44
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
44
45
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
45
46
|
|
|
46
47
|
node.setNotchCoefficients(normalizedFrequency, Q);
|
|
@@ -48,7 +49,7 @@ void BiquadFilterTest::testNotch(float frequency, float Q) {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
void BiquadFilterTest::testAllpass(float frequency, float Q) {
|
|
51
|
-
auto node = BiquadFilterNode(context);
|
|
52
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
52
53
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
53
54
|
|
|
54
55
|
node.setAllpassCoefficients(normalizedFrequency, Q);
|
|
@@ -56,7 +57,7 @@ void BiquadFilterTest::testAllpass(float frequency, float Q) {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
void BiquadFilterTest::testPeaking(float frequency, float Q, float gain) {
|
|
59
|
-
auto node = BiquadFilterNode(context);
|
|
60
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
60
61
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
61
62
|
|
|
62
63
|
node.setPeakingCoefficients(normalizedFrequency, Q, gain);
|
|
@@ -64,7 +65,7 @@ void BiquadFilterTest::testPeaking(float frequency, float Q, float gain) {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
void BiquadFilterTest::testLowshelf(float frequency, float gain) {
|
|
67
|
-
auto node = BiquadFilterNode(context);
|
|
68
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
68
69
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
69
70
|
|
|
70
71
|
node.setLowshelfCoefficients(normalizedFrequency, gain);
|
|
@@ -72,7 +73,7 @@ void BiquadFilterTest::testLowshelf(float frequency, float gain) {
|
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
void BiquadFilterTest::testHighshelf(float frequency, float gain) {
|
|
75
|
-
auto node = BiquadFilterNode(context);
|
|
76
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
76
77
|
float normalizedFrequency = frequency / nyquistFrequency;
|
|
77
78
|
|
|
78
79
|
node.setHighshelfCoefficients(normalizedFrequency, gain);
|
|
@@ -218,7 +219,7 @@ TEST_P(BiquadFilterGainTest, SetHighshelfCoefficients) {
|
|
|
218
219
|
}
|
|
219
220
|
|
|
220
221
|
TEST_F(BiquadFilterTest, GetFrequencyResponse) {
|
|
221
|
-
auto node = BiquadFilterNode(context);
|
|
222
|
+
auto node = BiquadFilterNode(context, BiquadFilterOptions());
|
|
222
223
|
|
|
223
224
|
float frequency = 1000.0f;
|
|
224
225
|
float Q = 1.0f;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#include <audioapi/HostObjects/utils/NodeOptions.h>
|
|
1
2
|
#include <audioapi/core/OfflineAudioContext.h>
|
|
2
3
|
#include <audioapi/core/effects/WaveShaperNode.h>
|
|
3
4
|
#include <audioapi/core/utils/worklets/SafeIncludes.h>
|
|
@@ -25,7 +26,7 @@ class WaveShaperNodeTest : public ::testing::Test {
|
|
|
25
26
|
class TestableWaveShaperNode : public WaveShaperNode {
|
|
26
27
|
public:
|
|
27
28
|
explicit TestableWaveShaperNode(std::shared_ptr<BaseAudioContext> context)
|
|
28
|
-
: WaveShaperNode(context) {
|
|
29
|
+
: WaveShaperNode(context, WaveShaperOptions()) {
|
|
29
30
|
testCurve_ = std::make_shared<AudioArray>(3);
|
|
30
31
|
auto data = testCurve_->getData();
|
|
31
32
|
data[0] = -2.0f;
|
|
@@ -43,12 +44,12 @@ class TestableWaveShaperNode : public WaveShaperNode {
|
|
|
43
44
|
};
|
|
44
45
|
|
|
45
46
|
TEST_F(WaveShaperNodeTest, WaveShaperNodeCanBeCreated) {
|
|
46
|
-
auto waveShaper = context->createWaveShaper();
|
|
47
|
+
auto waveShaper = context->createWaveShaper(WaveShaperOptions());
|
|
47
48
|
ASSERT_NE(waveShaper, nullptr);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
TEST_F(WaveShaperNodeTest, NullCanBeAsignedToCurve) {
|
|
51
|
-
auto waveShaper = context->createWaveShaper();
|
|
52
|
+
auto waveShaper = context->createWaveShaper(WaveShaperOptions());
|
|
52
53
|
ASSERT_NO_THROW(waveShaper->setCurve(nullptr));
|
|
53
54
|
ASSERT_EQ(waveShaper->getCurve(), nullptr);
|
|
54
55
|
}
|
|
@@ -27,7 +27,7 @@ class IOSAudioRecorder : public AudioRecorder {
|
|
|
27
27
|
IOSAudioRecorder(const std::shared_ptr<AudioEventHandlerRegistry> &audioEventHandlerRegistry);
|
|
28
28
|
~IOSAudioRecorder() override;
|
|
29
29
|
|
|
30
|
-
Result<std::string, std::string> start() override;
|
|
30
|
+
Result<std::string, std::string> start(const std::string &fileNameOverride = "") override;
|
|
31
31
|
Result<std::tuple<std::string, double, double>, std::string> stop() override;
|
|
32
32
|
|
|
33
33
|
Result<std::string, std::string> enableFileOutput(
|
|
@@ -71,7 +71,7 @@ IOSAudioRecorder::~IOSAudioRecorder()
|
|
|
71
71
|
/// @brief Starts the audio recording process and prepares necessary resources.
|
|
72
72
|
/// This method should be called from the JS thread only.
|
|
73
73
|
/// @returns Result containing the file path if recording started successfully, or an error message.
|
|
74
|
-
Result<std::string, std::string> IOSAudioRecorder::start()
|
|
74
|
+
Result<std::string, std::string> IOSAudioRecorder::start(const std::string &fileNameOverride)
|
|
75
75
|
{
|
|
76
76
|
if (!isIdle()) {
|
|
77
77
|
return Result<std::string, std::string>::Err("Recorder is already recording");
|
|
@@ -104,7 +104,7 @@ Result<std::string, std::string> IOSAudioRecorder::start()
|
|
|
104
104
|
|
|
105
105
|
if (usesFileOutput()) {
|
|
106
106
|
auto fileResult = std::static_pointer_cast<IOSFileWriter>(fileWriter_)
|
|
107
|
-
->openFile(inputFormat, maxInputBufferLength);
|
|
107
|
+
->openFile(inputFormat, maxInputBufferLength, fileNameOverride);
|
|
108
108
|
|
|
109
109
|
if (fileResult.is_err()) {
|
|
110
110
|
return Result<std::string, std::string>::Err(
|
|
@@ -191,8 +191,9 @@ Result<std::string, std::string> IOSAudioRecorder::enableFileOutput(
|
|
|
191
191
|
fileWriter_ = std::make_shared<IOSFileWriter>(audioEventHandlerRegistry_, properties);
|
|
192
192
|
|
|
193
193
|
if (!isIdle()) {
|
|
194
|
-
auto result =
|
|
195
|
-
|
|
194
|
+
auto result =
|
|
195
|
+
std::static_pointer_cast<IOSFileWriter>(fileWriter_)
|
|
196
|
+
->openFile([nativeRecorder_ getInputFormat], [nativeRecorder_ getBufferSize], "");
|
|
196
197
|
|
|
197
198
|
if (result.is_err()) {
|
|
198
199
|
return Result<std::string, std::string>::Err(
|
|
@@ -22,7 +22,9 @@ NSInteger getBitDepth(const std::shared_ptr<AudioFileProperties> &properties);
|
|
|
22
22
|
float getSampleRate(const std::shared_ptr<AudioFileProperties> &properties);
|
|
23
23
|
|
|
24
24
|
NSDictionary *getFileSettings(const std::shared_ptr<AudioFileProperties> &properties);
|
|
25
|
-
NSURL *getFileURL(
|
|
25
|
+
NSURL *getFileURL(
|
|
26
|
+
const std::shared_ptr<AudioFileProperties> &properties,
|
|
27
|
+
const std::string &fileNameOverride);
|
|
26
28
|
NSSearchPathDirectory getDirectory(const std::shared_ptr<AudioFileProperties> &properties);
|
|
27
29
|
|
|
28
30
|
NSString *getDateString();
|
|
@@ -139,7 +139,9 @@ NSDictionary *getFileSettings(const std::shared_ptr<AudioFileProperties> &proper
|
|
|
139
139
|
return settings;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
NSURL *getFileURL(
|
|
142
|
+
NSURL *getFileURL(
|
|
143
|
+
const std::shared_ptr<AudioFileProperties> &properties,
|
|
144
|
+
const std::string &fileNameOverride)
|
|
143
145
|
{
|
|
144
146
|
NSError *error = nil;
|
|
145
147
|
|
|
@@ -164,8 +166,12 @@ NSURL *getFileURL(const std::shared_ptr<AudioFileProperties> &properties)
|
|
|
164
166
|
NSString *timestamp = getTimestampString();
|
|
165
167
|
NSString *fileExtension = getFileExtension(properties);
|
|
166
168
|
|
|
167
|
-
NSString *fileName =
|
|
168
|
-
[NSString stringWithFormat:@"
|
|
169
|
+
NSString *fileName = fileNameOverride.length() > 0
|
|
170
|
+
? [NSString stringWithFormat:@"%@.%@",
|
|
171
|
+
[NSString stringWithUTF8String:fileNameOverride.c_str()],
|
|
172
|
+
fileExtension]
|
|
173
|
+
: [NSString stringWithFormat:@"%@_%@.%@", fileNamePrefix, timestamp, fileExtension];
|
|
174
|
+
|
|
169
175
|
return [directoryURL URLByAppendingPathComponent:fileName];
|
|
170
176
|
}
|
|
171
177
|
|
|
@@ -29,7 +29,8 @@ class IOSFileWriter : public AudioFileWriter {
|
|
|
29
29
|
|
|
30
30
|
Result<std::string, std::string> openFile(
|
|
31
31
|
AVAudioFormat *bufferFormat,
|
|
32
|
-
size_t maxInputBufferLength
|
|
32
|
+
size_t maxInputBufferLength,
|
|
33
|
+
const std::string &fileNameOverride);
|
|
33
34
|
Result<std::tuple<double, double>, std::string> closeFile() override;
|
|
34
35
|
|
|
35
36
|
bool writeAudioData(const AudioBufferList *audioBufferList, int numFrames);
|
|
@@ -32,7 +32,10 @@ IOSFileWriter::~IOSFileWriter()
|
|
|
32
32
|
/// @param bufferFormat The audio format of the input buffer.
|
|
33
33
|
/// @param maxInputBufferLength The maximum length of the input buffer in frames.
|
|
34
34
|
/// @returns An OpenFileResult indicating success with the file path or an error message.
|
|
35
|
-
OpenFileResult IOSFileWriter::openFile(
|
|
35
|
+
OpenFileResult IOSFileWriter::openFile(
|
|
36
|
+
AVAudioFormat *bufferFormat,
|
|
37
|
+
size_t maxInputBufferLength,
|
|
38
|
+
const std::string &fileNameOverride)
|
|
36
39
|
{
|
|
37
40
|
@autoreleasepool {
|
|
38
41
|
if (audioFile_ != nil) {
|
|
@@ -44,7 +47,7 @@ OpenFileResult IOSFileWriter::openFile(AVAudioFormat *bufferFormat, size_t maxIn
|
|
|
44
47
|
|
|
45
48
|
NSError *error = nil;
|
|
46
49
|
NSDictionary *settings = ios::fileoptions::getFileSettings(fileProperties_);
|
|
47
|
-
fileURL_ = ios::fileoptions::getFileURL(fileProperties_);
|
|
50
|
+
fileURL_ = ios::fileoptions::getFileURL(fileProperties_, fileNameOverride);
|
|
48
51
|
|
|
49
52
|
if (fileProperties_->sampleRate == 0 || fileProperties_->channelCount == 0) {
|
|
50
53
|
return OpenFileResult::Err(
|
package/lib/commonjs/api.js
CHANGED
|
@@ -33,14 +33,15 @@ var _exportNames = {
|
|
|
33
33
|
WorkletProcessingNode: true,
|
|
34
34
|
WorkletSourceNode: true,
|
|
35
35
|
useSystemVolume: true,
|
|
36
|
-
|
|
36
|
+
PeriodicWave: true,
|
|
37
37
|
FilePreset: true,
|
|
38
38
|
PlaybackNotificationManager: true,
|
|
39
39
|
RecordingNotificationManager: true,
|
|
40
40
|
NotificationManager: true,
|
|
41
41
|
PlaybackControlName: true,
|
|
42
42
|
PlaybackNotificationEventName: true,
|
|
43
|
-
PlaybackNotificationInfo: true
|
|
43
|
+
PlaybackNotificationInfo: true,
|
|
44
|
+
AudioManager: true
|
|
44
45
|
};
|
|
45
46
|
Object.defineProperty(exports, "AnalyserNode", {
|
|
46
47
|
enumerable: true,
|
|
@@ -168,6 +169,12 @@ Object.defineProperty(exports, "OscillatorNode", {
|
|
|
168
169
|
return _OscillatorNode.default;
|
|
169
170
|
}
|
|
170
171
|
});
|
|
172
|
+
Object.defineProperty(exports, "PeriodicWave", {
|
|
173
|
+
enumerable: true,
|
|
174
|
+
get: function () {
|
|
175
|
+
return _PeriodicWave.default;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
171
178
|
Object.defineProperty(exports, "PlaybackControlName", {
|
|
172
179
|
enumerable: true,
|
|
173
180
|
get: function () {
|
|
@@ -293,7 +300,7 @@ var _WorkletNode = _interopRequireDefault(require("./core/WorkletNode"));
|
|
|
293
300
|
var _WorkletProcessingNode = _interopRequireDefault(require("./core/WorkletProcessingNode"));
|
|
294
301
|
var _WorkletSourceNode = _interopRequireDefault(require("./core/WorkletSourceNode"));
|
|
295
302
|
var _useSystemVolume = _interopRequireDefault(require("./hooks/useSystemVolume"));
|
|
296
|
-
var
|
|
303
|
+
var _PeriodicWave = _interopRequireDefault(require("./core/PeriodicWave"));
|
|
297
304
|
var _errors = require("./errors");
|
|
298
305
|
Object.keys(_errors).forEach(function (key) {
|
|
299
306
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -332,5 +339,6 @@ Object.keys(_types2).forEach(function (key) {
|
|
|
332
339
|
});
|
|
333
340
|
var _filePresets = _interopRequireDefault(require("./utils/filePresets"));
|
|
334
341
|
var _notification = require("./system/notification");
|
|
342
|
+
var _system = _interopRequireDefault(require("./system"));
|
|
335
343
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
336
344
|
//# sourceMappingURL=api.js.map
|
package/lib/commonjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_AnalyserNode","_interopRequireDefault","_AudioBuffer","_AudioBufferQueueSourceNode","_AudioBufferSourceNode","_AudioContext","_AudioDecoder","_AudioDestinationNode","_AudioNode","_AudioParam","_AudioRecorder","_AudioScheduledSourceNode","_AudioStretcher","_BaseAudioContext","_BiquadFilterNode","_ConstantSourceNode","_ConvolverNode","_DelayNode","_GainNode","_OfflineAudioContext","_OscillatorNode","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WaveShaperNode","_WorkletNode","_WorkletProcessingNode","_WorkletSourceNode","_useSystemVolume","
|
|
1
|
+
{"version":3,"names":["require","_AnalyserNode","_interopRequireDefault","_AudioBuffer","_AudioBufferQueueSourceNode","_AudioBufferSourceNode","_AudioContext","_AudioDecoder","_AudioDestinationNode","_AudioNode","_AudioParam","_AudioRecorder","_AudioScheduledSourceNode","_AudioStretcher","_BaseAudioContext","_BiquadFilterNode","_ConstantSourceNode","_ConvolverNode","_DelayNode","_GainNode","_OfflineAudioContext","_OscillatorNode","_RecorderAdapterNode","_StereoPannerNode","_StreamerNode","_WaveShaperNode","_WorkletNode","_WorkletProcessingNode","_WorkletSourceNode","_useSystemVolume","_PeriodicWave","_errors","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_filePresets","_notification","_system","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/api.web.js
CHANGED
|
@@ -21,14 +21,13 @@ var _exportNames = {
|
|
|
21
21
|
StereoPannerNode: true,
|
|
22
22
|
ConstantSourceNode: true,
|
|
23
23
|
ConvolverNode: true,
|
|
24
|
+
PeriodicWave: true,
|
|
24
25
|
WaveShaperNode: true,
|
|
25
26
|
OscillatorType: true,
|
|
26
|
-
BiquadFilterType: true,
|
|
27
27
|
ChannelCountMode: true,
|
|
28
28
|
ChannelInterpretation: true,
|
|
29
29
|
ContextState: true,
|
|
30
30
|
WindowType: true,
|
|
31
|
-
PeriodicWaveConstraints: true,
|
|
32
31
|
IOSCategory: true,
|
|
33
32
|
IOSMode: true,
|
|
34
33
|
IOSOption: true,
|
|
@@ -109,12 +108,6 @@ Object.defineProperty(exports, "BiquadFilterNode", {
|
|
|
109
108
|
return _BiquadFilterNode.default;
|
|
110
109
|
}
|
|
111
110
|
});
|
|
112
|
-
Object.defineProperty(exports, "BiquadFilterType", {
|
|
113
|
-
enumerable: true,
|
|
114
|
-
get: function () {
|
|
115
|
-
return _types.BiquadFilterType;
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
111
|
Object.defineProperty(exports, "ChannelCountMode", {
|
|
119
112
|
enumerable: true,
|
|
120
113
|
get: function () {
|
|
@@ -217,10 +210,10 @@ Object.defineProperty(exports, "OscillatorType", {
|
|
|
217
210
|
return _types.OscillatorType;
|
|
218
211
|
}
|
|
219
212
|
});
|
|
220
|
-
Object.defineProperty(exports, "
|
|
213
|
+
Object.defineProperty(exports, "PeriodicWave", {
|
|
221
214
|
enumerable: true,
|
|
222
215
|
get: function () {
|
|
223
|
-
return
|
|
216
|
+
return _PeriodicWave.default;
|
|
224
217
|
}
|
|
225
218
|
});
|
|
226
219
|
Object.defineProperty(exports, "PermissionStatus", {
|
|
@@ -288,6 +281,7 @@ var _OscillatorNode = _interopRequireDefault(require("./web-core/OscillatorNode"
|
|
|
288
281
|
var _StereoPannerNode = _interopRequireDefault(require("./web-core/StereoPannerNode"));
|
|
289
282
|
var _ConstantSourceNode = _interopRequireDefault(require("./web-core/ConstantSourceNode"));
|
|
290
283
|
var _ConvolverNode = _interopRequireDefault(require("./web-core/ConvolverNode"));
|
|
284
|
+
var _PeriodicWave = _interopRequireDefault(require("./web-core/PeriodicWave"));
|
|
291
285
|
var _WaveShaperNode = _interopRequireDefault(require("./web-core/WaveShaperNode"));
|
|
292
286
|
var _custom = require("./web-core/custom");
|
|
293
287
|
Object.keys(_custom).forEach(function (key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_AudioBufferSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_DelayNode","_GainNode","_OscillatorNode","_StereoPannerNode","_ConstantSourceNode","_ConvolverNode","_WaveShaperNode","_custom","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_webSystem","_types3","_errors","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_AudioBuffer","_interopRequireDefault","require","_AudioBufferSourceNode","_AudioContext","_OfflineAudioContext","_AudioDestinationNode","_AudioNode","_AnalyserNode","_AudioParam","_AudioScheduledSourceNode","_BaseAudioContext","_BiquadFilterNode","_DelayNode","_GainNode","_OscillatorNode","_StereoPannerNode","_ConstantSourceNode","_ConvolverNode","_PeriodicWave","_WaveShaperNode","_custom","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","_types2","_webSystem","_types3","_errors","e","__esModule","default"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,oBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,qBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,WAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,yBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,iBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,iBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,eAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,iBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,mBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,cAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,aAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,eAAA,GAAAnB,sBAAA,CAAAC,OAAA;AAEA,IAAAmB,OAAA,GAAAnB,OAAA;AAAAoB,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,MAAA,GAAAhC,OAAA;AAQA,IAAAiC,OAAA,GAAAjC,OAAA;AAQA,IAAAkC,UAAA,GAAAlC,OAAA;AAMA,IAAAmC,OAAA,GAAAnC,OAAA;AAAAoB,MAAA,CAAAC,IAAA,CAAAc,OAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAY,OAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,OAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAa,OAAA,GAAApC,OAAA;AAMkB,SAAAD,uBAAAsC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -4,11 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _defaults = require("../defaults");
|
|
7
8
|
var _errors = require("../errors");
|
|
8
9
|
var _AudioNode = _interopRequireDefault(require("./AudioNode"));
|
|
10
|
+
var _optionsValidators = require("../options-validators");
|
|
9
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
12
|
class AnalyserNode extends _AudioNode.default {
|
|
11
13
|
static allowedFFTSize = [32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768];
|
|
14
|
+
constructor(context, options) {
|
|
15
|
+
const finalOptions = {
|
|
16
|
+
..._defaults.AnalyserOptions,
|
|
17
|
+
...options
|
|
18
|
+
};
|
|
19
|
+
_optionsValidators.AnalyserOptionsValidator.validate(finalOptions);
|
|
20
|
+
const analyserNode = context.context.createAnalyser(finalOptions);
|
|
21
|
+
super(context, analyserNode);
|
|
22
|
+
}
|
|
12
23
|
get fftSize() {
|
|
13
24
|
return this.node.fftSize;
|
|
14
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_defaults","require","_errors","_AudioNode","_interopRequireDefault","_optionsValidators","e","__esModule","default","AnalyserNode","AudioNode","allowedFFTSize","constructor","context","options","finalOptions","AnalyserOptions","AnalyserOptionsValidator","validate","analyserNode","createAnalyser","fftSize","node","value","includes","IndexSizeError","minDecibels","maxDecibels","smoothingTimeConstant","window","frequencyBinCount","getFloatFrequencyData","array","getByteFrequencyData","getFloatTimeDomainData","getByteTimeDomainData","exports"],"sourceRoot":"../../../src","sources":["core/AnalyserNode.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,15 +5,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _errors = require("../errors");
|
|
8
|
+
var _BaseAudioContext = _interopRequireDefault(require("./BaseAudioContext"));
|
|
9
|
+
var _defaults = require("../defaults");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
11
|
class AudioBuffer {
|
|
9
12
|
/** @internal */
|
|
10
13
|
|
|
11
|
-
constructor(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
constructor(contextOrBuffer, options) {
|
|
15
|
+
let buf;
|
|
16
|
+
if (contextOrBuffer instanceof _BaseAudioContext.default) {
|
|
17
|
+
const finalOptions = {
|
|
18
|
+
..._defaults.AudioBufferOptions,
|
|
19
|
+
...options
|
|
20
|
+
};
|
|
21
|
+
const context = contextOrBuffer;
|
|
22
|
+
buf = context.context.createBuffer(finalOptions);
|
|
23
|
+
} else {
|
|
24
|
+
buf = contextOrBuffer;
|
|
25
|
+
}
|
|
26
|
+
this.buffer = buf;
|
|
27
|
+
this.length = buf.length;
|
|
28
|
+
this.duration = buf.duration;
|
|
29
|
+
this.sampleRate = buf.sampleRate;
|
|
30
|
+
this.numberOfChannels = buf.numberOfChannels;
|
|
17
31
|
}
|
|
18
32
|
getChannelData(channel) {
|
|
19
33
|
if (channel < 0 || channel >= this.numberOfChannels) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","IndexSizeError","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source","exports"
|
|
1
|
+
{"version":3,"names":["_errors","require","_BaseAudioContext","_interopRequireDefault","_defaults","e","__esModule","default","AudioBuffer","constructor","contextOrBuffer","options","buf","BaseAudioContext","finalOptions","AudioBufferOptions","context","createBuffer","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","IndexSizeError","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source","exports"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAAiD,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,WAAW,CAAC;EAK/B;;EAMAC,WAAWA,CACTC,eAAgD,EAChDC,OAA6B,EAC7B;IACA,IAAIC,GAAiB;IACrB,IAAIF,eAAe,YAAYG,yBAAgB,EAAE;MAC/C,MAAMC,YAAY,GAAG;QACnB,GAAGC,4BAAkB;QACrB,GAAGJ;MACL,CAAC;MACD,MAAMK,OAAO,GAAGN,eAAe;MAC/BE,GAAG,GAAGI,OAAO,CAACA,OAAO,CAACC,YAAY,CAACH,YAAY,CAAC;IAClD,CAAC,MAAM;MACLF,GAAG,GAAGF,eAAe;IACvB;IACA,IAAI,CAACQ,MAAM,GAAGN,GAAG;IACjB,IAAI,CAACO,MAAM,GAAGP,GAAG,CAACO,MAAM;IACxB,IAAI,CAACC,QAAQ,GAAGR,GAAG,CAACQ,QAAQ;IAC5B,IAAI,CAACC,UAAU,GAAGT,GAAG,CAACS,UAAU;IAChC,IAAI,CAACC,gBAAgB,GAAGV,GAAG,CAACU,gBAAgB;EAC9C;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIG,sBAAc,CACtB,gCAAgCD,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOE,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACN,gBAAgB,EAAE;MAC/D,MAAM,IAAIG,sBAAc,CACtB,gCAAgCG,aAAa,8BAA8B,IAAI,CAACN,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIO,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACV,MAAM,EAAE;MACvD,MAAM,IAAIM,sBAAc,CACtB,uCAAuCI,cAAc,8BAA8B,IAAI,CAACV,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACQ,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACN,gBAAgB,EAAE;MAC/D,MAAM,IAAIG,sBAAc,CACtB,gCAAgCG,aAAa,8BAA8B,IAAI,CAACN,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIO,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACV,MAAM,EAAE;MACvD,MAAM,IAAIM,sBAAc,CACtB,uCAAuCI,cAAc,8BAA8B,IAAI,CAACV,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACY,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF;AAACG,OAAA,CAAAzB,OAAA,GAAAC,WAAA","ignoreList":[]}
|
|
@@ -6,8 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _AudioBufferBaseSourceNode = _interopRequireDefault(require("./AudioBufferBaseSourceNode"));
|
|
8
8
|
var _errors = require("../errors");
|
|
9
|
+
var _defaults = require("../defaults");
|
|
9
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
11
|
class AudioBufferQueueSourceNode extends _AudioBufferBaseSourceNode.default {
|
|
12
|
+
constructor(context, options) {
|
|
13
|
+
const finalOptions = {
|
|
14
|
+
..._defaults.BaseAudioBufferSourceOptions,
|
|
15
|
+
...options
|
|
16
|
+
};
|
|
17
|
+
const node = context.context.createBufferQueueSource(finalOptions);
|
|
18
|
+
super(context, node);
|
|
19
|
+
}
|
|
11
20
|
enqueueBuffer(buffer) {
|
|
12
21
|
return this.node.enqueueBuffer(buffer.buffer);
|
|
13
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_errors","e","__esModule","default","AudioBufferQueueSourceNode","AudioBufferBaseSourceNode","
|
|
1
|
+
{"version":3,"names":["_AudioBufferBaseSourceNode","_interopRequireDefault","require","_errors","_defaults","e","__esModule","default","AudioBufferQueueSourceNode","AudioBufferBaseSourceNode","constructor","context","options","finalOptions","BaseAudioBufferSourceOptions","node","createBufferQueueSource","enqueueBuffer","buffer","dequeueBuffer","bufferId","id","parseInt","isNaN","RangeError","clearBuffers","start","when","offset","stop","pause","exports"],"sourceRoot":"../../../src","sources":["core/AudioBufferQueueSourceNode.ts"],"mappings":";;;;;;AACA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,SAAA,GAAAF,OAAA;AAA2D,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5C,MAAMG,0BAA0B,SAASC,kCAAyB,CAAC;EAChFC,WAAWA,CACTC,OAAyB,EACzBC,OAAuC,EACvC;IACA,MAAMC,YAA2C,GAAG;MAClD,GAAGC,sCAA4B;MAC/B,GAAGF;IACL,CAAC;IACD,MAAMG,IAAI,GAAGJ,OAAO,CAACA,OAAO,CAACK,uBAAuB,CAACH,YAAY,CAAC;IAClE,KAAK,CAACF,OAAO,EAAEI,IAAI,CAAC;EACtB;EAEOE,aAAaA,CAACC,MAAmB,EAAU;IAChD,OAAQ,IAAI,CAACH,IAAI,CAAiCE,aAAa,CAC7DC,MAAM,CAACA,MACT,CAAC;EACH;EAEOC,aAAaA,CAACC,QAAgB,EAAQ;IAC3C,MAAMC,EAAE,GAAGC,QAAQ,CAACF,QAAQ,EAAE,EAAE,CAAC;IACjC,IAAIG,KAAK,CAACF,EAAE,CAAC,IAAIA,EAAE,GAAG,CAAC,EAAE;MACvB,MAAM,IAAIG,kBAAU,CAClB,4CAA4CJ,QAAQ,EACtD,CAAC;IACH;IACC,IAAI,CAACL,IAAI,CAAiCI,aAAa,CAACE,EAAE,CAAC;EAC9D;EAEOI,YAAYA,CAAA,EAAS;IACzB,IAAI,CAACV,IAAI,CAAiCU,YAAY,CAAC,CAAC;EAC3D;EAEgBC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAe,EAAQ;IAC7D,IAAID,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,IAAIA,MAAM,GAAG,CAAC,EAAE;MACxB,MAAM,IAAIJ,kBAAU,CAClB,gDAAgDI,MAAM,EACxD,CAAC;IACH;IAEC,IAAI,CAACb,IAAI,CAAiCW,KAAK,CAACC,IAAI,EAAEC,MAAM,CAAC;EAChE;EAEgBC,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAC3C,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIH,kBAAU,CAClB,8CAA8CG,IAAI,EACpD,CAAC;IACH;IAEC,IAAI,CAACZ,IAAI,CAAiCc,IAAI,CAACF,IAAI,CAAC;EACvD;EAEOG,KAAKA,CAAA,EAAS;IAClB,IAAI,CAACf,IAAI,CAAiCe,KAAK,CAAC,CAAC;EACpD;AACF;AAACC,OAAA,CAAAxB,OAAA,GAAAC,0BAAA","ignoreList":[]}
|