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,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { AudioApiError } from "../errors/index.js";
|
|
3
4
|
import { AudioEventEmitter } from "../events/index.js";
|
|
4
5
|
import { FileDirectory, FileFormat } from "../types.js";
|
|
5
6
|
import FilePreset from "../utils/filePresets.js";
|
|
6
7
|
import AudioBuffer from "./AudioBuffer.js";
|
|
7
|
-
import { AudioApiError } from "../errors/index.js";
|
|
8
|
-
|
|
9
8
|
// Enforces default options, making sure that all properties are defined
|
|
10
9
|
// for the contract with native code.
|
|
11
10
|
function withDefaultOptions(inOptions) {
|
|
@@ -49,7 +48,7 @@ export default class AudioRecorder {
|
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
/** Starts the audio recording process with configured output options */
|
|
52
|
-
start() {
|
|
51
|
+
start(options) {
|
|
53
52
|
if (!this.isFileOutputEnabled) {
|
|
54
53
|
this.recorder.start();
|
|
55
54
|
return {
|
|
@@ -57,7 +56,7 @@ export default class AudioRecorder {
|
|
|
57
56
|
path: ''
|
|
58
57
|
};
|
|
59
58
|
}
|
|
60
|
-
return this.recorder.start();
|
|
59
|
+
return this.recorder.start(options?.fileNameOverride);
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
/** Stops the audio recording process and releases internal resources */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioEventEmitter","FileDirectory","FileFormat","FilePreset","AudioBuffer","
|
|
1
|
+
{"version":3,"names":["AudioApiError","AudioEventEmitter","FileDirectory","FileFormat","FilePreset","AudioBuffer","withDefaultOptions","inOptions","directory","Cache","subDirectory","fileNamePrefix","channelCount","format","M4A","batchDurationSeconds","preset","High","androidFlushIntervalMs","AudioRecorder","onAudioReadySubscription","onErrorSubscription","options_","isFileOutputEnabled","audioEventEmitter","global","constructor","recorder","createAudioRecorder","enableFileOutput","options","parsedOptions","result","disableFileOutput","start","status","path","fileNameOverride","stop","pause","resume","connect","node","wasConnected","getNode","disconnect","onAudioReady","callback","clearOnAudioReady","remove","addAudioEventListener","event","audioBuffer","buffer","setOnAudioReady","sampleRate","bufferLength","callbackId","subscriptionId","isRecording","isPaused","getCurrentDuration","onError","clearOnError","setOnError"],"sourceRoot":"../../../src","sources":["core/AudioRecorder.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAW;AACzC,SAASC,iBAAiB,QAAgC,oBAAW;AAMrE,SAIEC,aAAa,EACbC,UAAU,QAGL,aAAU;AACjB,OAAOC,UAAU,MAAM,yBAAsB;AAC7C,OAAOC,WAAW,MAAM,kBAAe;AAGvC;AACA;AACA,SAASC,kBAAkBA,CACzBC,SAAmC,EACC;EACpC,OAAO;IACLC,SAAS,EAAEN,aAAa,CAACO,KAAK;IAC9BC,YAAY,EAAE,UAAU;IACxBC,cAAc,EAAE,YAAY;IAC5BC,YAAY,EAAE,CAAC;IACfC,MAAM,EAAEV,UAAU,CAACW,GAAG;IACtBC,oBAAoB,EAAE,CAAC;IACvBC,MAAM,EAAEZ,UAAU,CAACa,IAAI;IACvBC,sBAAsB,EAAE,GAAG;IAC3B,GAAGX;EACL,CAAC;AACH;AAEA,eAAe,MAAMY,aAAa,CAAC;EACvBC,wBAAwB,GAAkC,IAAI;EAC9DC,mBAAmB,GAAkC,IAAI;EAEzDC,QAAQ,GAAoC,IAAI;EAClDC,mBAAmB,GAAY,KAAK;EAEzBC,iBAAiB,GAAG,IAAIvB,iBAAiB,CAC1DwB,MAAM,CAACxB,iBACT,CAAC;EAEDyB,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACG,mBAAmB,CAAC,CAAC;EAC9C;EAEAC,gBAAgBA;EACd;EACAC,OAAgE,EACtC;IAC1B,IAAI,CAACR,QAAQ,GAAGQ,OAAO,IAAI,CAAC,CAAC;IAC7B,MAAMC,aAAa,GAAGzB,kBAAkB,CAAC,IAAI,CAACgB,QAAQ,CAAC;IACvD,MAAMU,MAAM,GAAG,IAAI,CAACL,QAAQ,CAACE,gBAAgB,CAACE,aAAa,CAAC;IAC5D,IAAI,CAACR,mBAAmB,GAAG,IAAI;IAE/B,OAAOS,MAAM;EACf;EAEA,IAAWF,OAAOA,CAAA,EAAoC;IACpD,OAAO,IAAI,CAACR,QAAQ;EACtB;EAEAW,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACX,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACK,QAAQ,CAACM,iBAAiB,CAAC,CAAC;IACjC,IAAI,CAACV,mBAAmB,GAAG,KAAK;EAClC;;EAEA;EACAW,KAAKA,CAACJ,OAAmC,EAA4B;IACnE,IAAI,CAAC,IAAI,CAACP,mBAAmB,EAAE;MAC7B,IAAI,CAACI,QAAQ,CAACO,KAAK,CAAC,CAAC;MACrB,OAAO;QAAEC,MAAM,EAAE,SAAS;QAAEC,IAAI,EAAE;MAAG,CAAC;IACxC;IAEA,OAAO,IAAI,CAACT,QAAQ,CAACO,KAAK,CAACJ,OAAO,EAAEO,gBAAgB,CAAC;EACvD;;EAEA;EACAC,IAAIA,CAAA,EAAqB;IACvB,OAAO,IAAI,CAACX,QAAQ,CAACW,IAAI,CAAC,CAAC;EAC7B;;EAEA;EACAC,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACZ,QAAQ,CAACY,KAAK,CAAC,CAAC;EACvB;;EAEA;EACAC,MAAMA,CAAA,EAAS;IACb,IAAI,CAACb,QAAQ,CAACa,MAAM,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,OAAOA,CAACC,IAAyB,EAAQ;IACvC,IAAIA,IAAI,CAACC,YAAY,EAAE;MACrB,MAAM,IAAI3C,aAAa,CACrB,sGACF,CAAC;IACH;IAEA0C,IAAI,CAACC,YAAY,GAAG,IAAI;IACxB,IAAI,CAAChB,QAAQ,CAACc,OAAO,CAACC,IAAI,CAACE,OAAO,CAAC,CAAC,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,UAAUA,CAAA,EAAS;IACjB,IAAI,CAAClB,QAAQ,CAACkB,UAAU,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,YAAYA,CACVhB,OAAqC,EACrCiB,QAAgD,EAClC;IACd,IAAI,IAAI,CAAC3B,wBAAwB,EAAE;MACjC,IAAI,CAACO,QAAQ,CAACqB,iBAAiB,CAAC,CAAC;MACjC,IAAI,CAAC5B,wBAAwB,CAAC6B,MAAM,CAAC,CAAC;MACtC,IAAI,CAAC7B,wBAAwB,GAAG,IAAI;IACtC;IAEA,IAAI,CAACA,wBAAwB,GAC3B,IAAI,CAACI,iBAAiB,CAAC0B,qBAAqB,CAAC,YAAY,EAAGC,KAAK,IAAK;MACpE,MAAMC,WAAW,GAAG,IAAI/C,WAAW,CAAC8C,KAAK,CAACE,MAAM,CAAC;MACjDN,QAAQ,CAAC;QACP,GAAGI,KAAK;QACRE,MAAM,EAAED;MACV,CAAC,CAAC;IACJ,CAAC,CAAC;IAEJ,OAAO,IAAI,CAACzB,QAAQ,CAAC2B,eAAe,CAAC;MACnCC,UAAU,EAAEzB,OAAO,CAACyB,UAAU;MAC9BC,YAAY,EAAE1B,OAAO,CAAC0B,YAAY;MAClC5C,YAAY,EAAEkB,OAAO,CAAClB,YAAY;MAClC6C,UAAU,EAAE,IAAI,CAACrC,wBAAwB,CAACsC;IAC5C,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEV,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAAC,IAAI,CAAC5B,wBAAwB,EAAE;MAClC;IACF;IAEA,IAAI,CAACO,QAAQ,CAACqB,iBAAiB,CAAC,CAAC;IAEjC,IAAI,CAAC5B,wBAAwB,CAAC6B,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC7B,wBAAwB,GAAG,IAAI;EACtC;EAEAuC,WAAWA,CAAA,EAAY;IACrB,OAAO,IAAI,CAAChC,QAAQ,CAACgC,WAAW,CAAC,CAAC;EACpC;EAEAC,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAACjC,QAAQ,CAACiC,QAAQ,CAAC,CAAC;EACjC;EAEAC,kBAAkBA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAAClC,QAAQ,CAACkC,kBAAkB,CAAC,CAAC;EAC3C;EAEAC,OAAOA,CAACf,QAAmD,EAAQ;IACjE,IAAI,IAAI,CAAC1B,mBAAmB,EAAE;MAC5B,IAAI,CAACM,QAAQ,CAACoC,YAAY,CAAC,CAAC;MAC5B,IAAI,CAAC1C,mBAAmB,CAAC4B,MAAM,CAAC,CAAC;MACjC,IAAI,CAAC5B,mBAAmB,GAAG,IAAI;IACjC;IAEA,IAAI,CAACA,mBAAmB,GAAG,IAAI,CAACG,iBAAiB,CAAC0B,qBAAqB,CACrE,eAAe,EACfH,QACF,CAAC;IAED,IAAI,CAACpB,QAAQ,CAACqC,UAAU,CAAC;MACvBP,UAAU,EAAE,IAAI,CAACpC,mBAAmB,CAACqC;IACvC,CAAC,CAAC;EACJ;EAEAK,YAAYA,CAAA,EAAS;IACnB,IAAI,CAAC,IAAI,CAAC1C,mBAAmB,EAAE;MAC7B;IACF;IAEA,IAAI,CAACM,QAAQ,CAACoC,YAAY,CAAC,CAAC;IAE5B,IAAI,CAAC1C,mBAAmB,CAAC4B,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC5B,mBAAmB,GAAG,IAAI;EACjC;AACF","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import AudioAPIModule from "../AudioAPIModule/index.js";
|
|
4
3
|
import { InvalidAccessError, InvalidStateError, NotSupportedError } from "../errors/index.js";
|
|
5
4
|
import { assertWorkletsEnabled } from "../utils/index.js";
|
|
6
5
|
import AnalyserNode from "./AnalyserNode.js";
|
|
@@ -50,67 +49,54 @@ export default class BaseAudioContext {
|
|
|
50
49
|
throw new NotSupportedError(`The buffer length provided (${bufferLength}) can not be less than 1`);
|
|
51
50
|
}
|
|
52
51
|
assertWorkletsEnabled();
|
|
53
|
-
|
|
54
|
-
'worklet';
|
|
55
|
-
|
|
56
|
-
const floatAudioData = audioBuffers.map(buffer => new Float32Array(buffer));
|
|
57
|
-
callback(floatAudioData, channelCount);
|
|
58
|
-
});
|
|
59
|
-
return new WorkletNode(this, this.context.createWorkletNode(shareableWorklet, workletRuntime === 'UIRuntime', bufferLength, inputChannelCount));
|
|
52
|
+
return new WorkletNode(this, workletRuntime, callback, bufferLength, inputChannelCount);
|
|
60
53
|
}
|
|
61
54
|
createWorkletProcessingNode(callback, workletRuntime = 'AudioRuntime') {
|
|
62
55
|
assertWorkletsEnabled();
|
|
63
|
-
|
|
64
|
-
'worklet';
|
|
65
|
-
|
|
66
|
-
const inputData = inputBuffers.map(buffer => new Float32Array(buffer, 0, framesToProcess));
|
|
67
|
-
const outputData = outputBuffers.map(buffer => new Float32Array(buffer, 0, framesToProcess));
|
|
68
|
-
callback(inputData, outputData, framesToProcess, currentTime);
|
|
69
|
-
});
|
|
70
|
-
return new WorkletProcessingNode(this, this.context.createWorkletProcessingNode(shareableWorklet, workletRuntime === 'UIRuntime'));
|
|
56
|
+
return new WorkletProcessingNode(this, workletRuntime, callback);
|
|
71
57
|
}
|
|
72
58
|
createWorkletSourceNode(callback, workletRuntime = 'AudioRuntime') {
|
|
73
59
|
assertWorkletsEnabled();
|
|
74
|
-
|
|
75
|
-
'worklet';
|
|
76
|
-
|
|
77
|
-
const floatAudioData = audioBuffers.map(buffer => new Float32Array(buffer));
|
|
78
|
-
callback(floatAudioData, framesToProcess, currentTime, startOffset);
|
|
79
|
-
});
|
|
80
|
-
return new WorkletSourceNode(this, this.context.createWorkletSourceNode(shareableWorklet, workletRuntime === 'UIRuntime'));
|
|
60
|
+
return new WorkletSourceNode(this, workletRuntime, callback);
|
|
81
61
|
}
|
|
82
62
|
createRecorderAdapter() {
|
|
83
|
-
return new RecorderAdapterNode(this
|
|
63
|
+
return new RecorderAdapterNode(this);
|
|
84
64
|
}
|
|
85
65
|
createOscillator() {
|
|
86
|
-
return new OscillatorNode(this
|
|
66
|
+
return new OscillatorNode(this);
|
|
87
67
|
}
|
|
88
68
|
createStreamer() {
|
|
89
|
-
|
|
90
|
-
if (!streamer) {
|
|
91
|
-
throw new NotSupportedError('StreamerNode requires FFmpeg build');
|
|
92
|
-
}
|
|
93
|
-
return new StreamerNode(this, streamer);
|
|
69
|
+
return new StreamerNode(this);
|
|
94
70
|
}
|
|
95
71
|
createConstantSource() {
|
|
96
|
-
return new ConstantSourceNode(this
|
|
72
|
+
return new ConstantSourceNode(this);
|
|
97
73
|
}
|
|
98
74
|
createGain() {
|
|
99
|
-
return new GainNode(this
|
|
75
|
+
return new GainNode(this);
|
|
100
76
|
}
|
|
101
77
|
createDelay(maxDelayTime) {
|
|
102
|
-
|
|
103
|
-
|
|
78
|
+
if (maxDelayTime !== undefined) {
|
|
79
|
+
return new DelayNode(this, {
|
|
80
|
+
maxDelayTime
|
|
81
|
+
});
|
|
82
|
+
} else {
|
|
83
|
+
return new DelayNode(this);
|
|
84
|
+
}
|
|
104
85
|
}
|
|
105
86
|
createStereoPanner() {
|
|
106
|
-
return new StereoPannerNode(this
|
|
87
|
+
return new StereoPannerNode(this);
|
|
107
88
|
}
|
|
108
89
|
createBiquadFilter() {
|
|
109
|
-
return new BiquadFilterNode(this
|
|
90
|
+
return new BiquadFilterNode(this);
|
|
110
91
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
92
|
+
createBufferSource(options) {
|
|
93
|
+
if (options.pitchCorrection !== undefined) {
|
|
94
|
+
return new AudioBufferSourceNode(this, options);
|
|
95
|
+
} else {
|
|
96
|
+
return new AudioBufferSourceNode(this);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
createIIRFilter(feedforward, feedback) {
|
|
114
100
|
if (feedforward.length < 1 || feedforward.length > 20) {
|
|
115
101
|
throw new NotSupportedError(`The provided feedforward array has length (${feedforward.length}) outside the range [1, 20]`);
|
|
116
102
|
}
|
|
@@ -123,19 +109,21 @@ export default class BaseAudioContext {
|
|
|
123
109
|
if (feedback[0] === 0) {
|
|
124
110
|
throw new InvalidStateError(`First value of feedback array cannot be zero`);
|
|
125
111
|
}
|
|
126
|
-
return new IIRFilterNode(this,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return new AudioBufferSourceNode(this, this.context.createBufferSource(pitchCorrection));
|
|
112
|
+
return new IIRFilterNode(this, {
|
|
113
|
+
feedforward,
|
|
114
|
+
feedback
|
|
115
|
+
});
|
|
131
116
|
}
|
|
132
117
|
createBufferQueueSource(options) {
|
|
133
|
-
|
|
134
|
-
|
|
118
|
+
if (options.pitchCorrection !== undefined) {
|
|
119
|
+
return new AudioBufferQueueSourceNode(this, options);
|
|
120
|
+
} else {
|
|
121
|
+
return new AudioBufferQueueSourceNode(this);
|
|
122
|
+
}
|
|
135
123
|
}
|
|
136
|
-
createBuffer(
|
|
137
|
-
if (
|
|
138
|
-
throw new NotSupportedError(`The number of channels provided (${
|
|
124
|
+
createBuffer(numberOfChannels, length, sampleRate) {
|
|
125
|
+
if (numberOfChannels < 1 || numberOfChannels >= 32) {
|
|
126
|
+
throw new NotSupportedError(`The number of channels provided (${numberOfChannels}) is outside the range [1, 32]`);
|
|
139
127
|
}
|
|
140
128
|
if (length <= 0) {
|
|
141
129
|
throw new NotSupportedError(`The number of frames provided (${length}) is less than or equal to the minimum bound (0)`);
|
|
@@ -143,31 +131,30 @@ export default class BaseAudioContext {
|
|
|
143
131
|
if (sampleRate < 8000 || sampleRate > 96000) {
|
|
144
132
|
throw new NotSupportedError(`The sample rate provided (${sampleRate}) is outside the range [8000, 96000]`);
|
|
145
133
|
}
|
|
146
|
-
return new AudioBuffer(this
|
|
134
|
+
return new AudioBuffer(this, {
|
|
135
|
+
numberOfChannels,
|
|
136
|
+
length,
|
|
137
|
+
sampleRate
|
|
138
|
+
});
|
|
147
139
|
}
|
|
148
140
|
createPeriodicWave(real, imag, constraints) {
|
|
149
141
|
if (real.length !== imag.length) {
|
|
150
142
|
throw new InvalidAccessError(`The lengths of the real (${real.length}) and imaginary (${imag.length}) arrays must match.`);
|
|
151
143
|
}
|
|
152
|
-
|
|
153
|
-
|
|
144
|
+
return new PeriodicWave(this, {
|
|
145
|
+
real,
|
|
146
|
+
imag,
|
|
147
|
+
...constraints
|
|
148
|
+
});
|
|
154
149
|
}
|
|
155
150
|
createAnalyser() {
|
|
156
|
-
return new AnalyserNode(this
|
|
157
|
-
}
|
|
158
|
-
createConvolver(
|
|
159
|
-
|
|
160
|
-
const numberOfChannels = options.buffer.numberOfChannels;
|
|
161
|
-
if (numberOfChannels !== 1 && numberOfChannels !== 2 && numberOfChannels !== 4) {
|
|
162
|
-
throw new NotSupportedError(`The number of channels provided (${numberOfChannels}) in impulse response for ConvolverNode buffer must be 1 or 2 or 4.`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
const buffer = options?.buffer ?? null;
|
|
166
|
-
const disableNormalization = options?.disableNormalization ?? false;
|
|
167
|
-
return new ConvolverNode(this, this.context.createConvolver(buffer?.buffer, disableNormalization));
|
|
151
|
+
return new AnalyserNode(this);
|
|
152
|
+
}
|
|
153
|
+
createConvolver() {
|
|
154
|
+
return new ConvolverNode(this);
|
|
168
155
|
}
|
|
169
156
|
createWaveShaper() {
|
|
170
|
-
return new WaveShaperNode(this
|
|
157
|
+
return new WaveShaperNode(this);
|
|
171
158
|
}
|
|
172
159
|
}
|
|
173
160
|
//# sourceMappingURL=BaseAudioContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","InvalidStateError","NotSupportedError","assertWorkletsEnabled","AnalyserNode","AudioBuffer","AudioBufferQueueSourceNode","AudioBufferSourceNode","decodeAudioData","decodePCMInBase64","AudioDestinationNode","BiquadFilterNode","ConstantSourceNode","ConvolverNode","DelayNode","GainNode","IIRFilterNode","OscillatorNode","PeriodicWave","RecorderAdapterNode","StereoPannerNode","StreamerNode","WaveShaperNode","WorkletNode","WorkletProcessingNode","WorkletSourceNode","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","input","fetchOptions","base64String","inputSampleRate","inputChannelCount","isInterleaved","createWorkletNode","callback","bufferLength","workletRuntime","createWorkletProcessingNode","createWorkletSourceNode","createRecorderAdapter","createOscillator","createStreamer","createConstantSource","createGain","createDelay","maxDelayTime","undefined","createStereoPanner","createBiquadFilter","createBufferSource","options","pitchCorrection","createIIRFilter","feedforward","feedback","length","every","value","createBufferQueueSource","createBuffer","numberOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","createConvolver","createWaveShaper"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,iBAAiB,EACjBC,iBAAiB,QACZ,oBAAW;AAGlB,SAASC,qBAAqB,QAAQ,mBAAU;AAChD,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,0BAA0B,MAAM,iCAA8B;AACrE,OAAOC,qBAAqB,MAAM,4BAAyB;AAC3D,SAASC,eAAe,EAAEC,iBAAiB,QAAQ,mBAAgB;AACnE,OAAOC,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,kBAAkB,MAAM,yBAAsB;AACrD,OAAOC,aAAa,MAAM,oBAAiB;AAC3C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,QAAQ,MAAM,eAAY;AACjC,OAAOC,aAAa,MAAM,oBAAiB;AAC3C,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,mBAAmB,MAAM,0BAAuB;AACvD,OAAOC,gBAAgB,MAAM,uBAAoB;AACjD,OAAOC,YAAY,MAAM,mBAAgB;AACzC,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,qBAAqB,MAAM,4BAAyB;AAC3D,OAAOC,iBAAiB,MAAM,wBAAqB;AAEnD,eAAe,MAAMC,gBAAgB,CAAC;EAKpCC,WAAWA,CAACC,OAA0B,EAAE;IACtC,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAG,IAAInB,oBAAoB,CAAC,IAAI,EAAEkB,OAAO,CAACC,WAAW,CAAC;IACtE,IAAI,CAACC,UAAU,GAAGF,OAAO,CAACE,UAAU;EACtC;EAEA,IAAWC,WAAWA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACH,OAAO,CAACG,WAAW;EACjC;EAEA,IAAWC,KAAKA,CAAA,EAAiB;IAC/B,OAAO,IAAI,CAACJ,OAAO,CAACI,KAAK;EAC3B;EAEA,MAAaxB,eAAeA,CAC1ByB,KAAsB,EACtBC,YAA0B,EACJ;IACtB,OAAO,MAAM1B,eAAe,CAACyB,KAAK,EAAE,IAAI,CAACH,UAAU,EAAEI,YAAY,CAAC;EACpE;EAEA,MAAazB,iBAAiBA,CAC5B0B,YAAoB,EACpBC,eAAuB,EACvBC,iBAAyB,EACzBC,aAAsB,GAAG,IAAI,EACP;IACtB,OAAO,MAAM7B,iBAAiB,CAC5B0B,YAAY,EACZC,eAAe,EACfC,iBAAiB,EACjBC,aACF,CAAC;EACH;EAEAC,iBAAiBA,CACfC,QAAwE,EACxEC,YAAoB,EACpBJ,iBAAyB,EACzBK,cAAmC,GAAG,cAAc,EACvC;IACb,IAAIL,iBAAiB,GAAG,CAAC,IAAIA,iBAAiB,GAAG,EAAE,EAAE;MACnD,MAAM,IAAInC,iBAAiB,CACzB,0CAA0CmC,iBAAiB,6CAC7D,CAAC;IACH;IAEA,IAAII,YAAY,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIvC,iBAAiB,CACzB,+BAA+BuC,YAAY,0BAC7C,CAAC;IACH;IAEAtC,qBAAqB,CAAC,CAAC;IACvB,OAAO,IAAIoB,WAAW,CACpB,IAAI,EACJmB,cAAc,EACdF,QAAQ,EACRC,YAAY,EACZJ,iBACF,CAAC;EACH;EAEAM,2BAA2BA,CACzBH,QAKS,EACTE,cAAmC,GAAG,cAAc,EAC7B;IACvBvC,qBAAqB,CAAC,CAAC;IACvB,OAAO,IAAIqB,qBAAqB,CAAC,IAAI,EAAEkB,cAAc,EAAEF,QAAQ,CAAC;EAClE;EAEAI,uBAAuBA,CACrBJ,QAKS,EACTE,cAAmC,GAAG,cAAc,EACjC;IACnBvC,qBAAqB,CAAC,CAAC;IACvB,OAAO,IAAIsB,iBAAiB,CAAC,IAAI,EAAEiB,cAAc,EAAEF,QAAQ,CAAC;EAC9D;EAEAK,qBAAqBA,CAAA,EAAwB;IAC3C,OAAO,IAAI1B,mBAAmB,CAAC,IAAI,CAAC;EACtC;EAEA2B,gBAAgBA,CAAA,EAAmB;IACjC,OAAO,IAAI7B,cAAc,CAAC,IAAI,CAAC;EACjC;EAEA8B,cAAcA,CAAA,EAAiB;IAC7B,OAAO,IAAI1B,YAAY,CAAC,IAAI,CAAC;EAC/B;EAEA2B,oBAAoBA,CAAA,EAAuB;IACzC,OAAO,IAAIpC,kBAAkB,CAAC,IAAI,CAAC;EACrC;EAEAqC,UAAUA,CAAA,EAAa;IACrB,OAAO,IAAIlC,QAAQ,CAAC,IAAI,CAAC;EAC3B;EAEAmC,WAAWA,CAACC,YAAqB,EAAa;IAC5C,IAAIA,YAAY,KAAKC,SAAS,EAAE;MAC9B,OAAO,IAAItC,SAAS,CAAC,IAAI,EAAE;QAAEqC;MAAa,CAAC,CAAC;IAC9C,CAAC,MAAM;MACL,OAAO,IAAIrC,SAAS,CAAC,IAAI,CAAC;IAC5B;EACF;EAEAuC,kBAAkBA,CAAA,EAAqB;IACrC,OAAO,IAAIjC,gBAAgB,CAAC,IAAI,CAAC;EACnC;EAEAkC,kBAAkBA,CAAA,EAAqB;IACrC,OAAO,IAAI3C,gBAAgB,CAAC,IAAI,CAAC;EACnC;EAEA4C,kBAAkBA,CAACC,OAElB,EAAyB;IACxB,IAAIA,OAAO,CAACC,eAAe,KAAKL,SAAS,EAAE;MACzC,OAAO,IAAI7C,qBAAqB,CAAC,IAAI,EAAEiD,OAAO,CAAC;IACjD,CAAC,MAAM;MACL,OAAO,IAAIjD,qBAAqB,CAAC,IAAI,CAAC;IACxC;EACF;EAEAmD,eAAeA,CAACC,WAAqB,EAAEC,QAAkB,EAAiB;IACxE,IAAID,WAAW,CAACE,MAAM,GAAG,CAAC,IAAIF,WAAW,CAACE,MAAM,GAAG,EAAE,EAAE;MACrD,MAAM,IAAI3D,iBAAiB,CACzB,8CAA8CyD,WAAW,CAACE,MAAM,6BAClE,CAAC;IACH;IACA,IAAID,QAAQ,CAACC,MAAM,GAAG,CAAC,IAAID,QAAQ,CAACC,MAAM,GAAG,EAAE,EAAE;MAC/C,MAAM,IAAI3D,iBAAiB,CACzB,2CAA2C0D,QAAQ,CAACC,MAAM,6BAC5D,CAAC;IACH;IAEA,IAAIF,WAAW,CAACG,KAAK,CAAEC,KAAK,IAAKA,KAAK,KAAK,CAAC,CAAC,EAAE;MAC7C,MAAM,IAAI9D,iBAAiB,CACzB,4DACF,CAAC;IACH;IAEA,IAAI2D,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;MACrB,MAAM,IAAI3D,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEA,OAAO,IAAIe,aAAa,CAAC,IAAI,EAAE;MAAE2C,WAAW;MAAEC;IAAS,CAAC,CAAC;EAC3D;EAEAI,uBAAuBA,CAACR,OAEvB,EAA8B;IAC7B,IAAIA,OAAO,CAACC,eAAe,KAAKL,SAAS,EAAE;MACzC,OAAO,IAAI9C,0BAA0B,CAAC,IAAI,EAAEkD,OAAO,CAAC;IACtD,CAAC,MAAM;MACL,OAAO,IAAIlD,0BAA0B,CAAC,IAAI,CAAC;IAC7C;EACF;EAEA2D,YAAYA,CACVC,gBAAwB,EACxBL,MAAc,EACd/B,UAAkB,EACL;IACb,IAAIoC,gBAAgB,GAAG,CAAC,IAAIA,gBAAgB,IAAI,EAAE,EAAE;MAClD,MAAM,IAAIhE,iBAAiB,CACzB,oCAAoCgE,gBAAgB,gCACtD,CAAC;IACH;IAEA,IAAIL,MAAM,IAAI,CAAC,EAAE;MACf,MAAM,IAAI3D,iBAAiB,CACzB,kCAAkC2D,MAAM,kDAC1C,CAAC;IACH;IAEA,IAAI/B,UAAU,GAAG,IAAI,IAAIA,UAAU,GAAG,KAAK,EAAE;MAC3C,MAAM,IAAI5B,iBAAiB,CACzB,6BAA6B4B,UAAU,sCACzC,CAAC;IACH;IAEA,OAAO,IAAIzB,WAAW,CAAC,IAAI,EAAE;MAAE6D,gBAAgB;MAAEL,MAAM;MAAE/B;IAAW,CAAC,CAAC;EACxE;EAEAqC,kBAAkBA,CAChBC,IAAkB,EAClBC,IAAkB,EAClBC,WAAqC,EACvB;IACd,IAAIF,IAAI,CAACP,MAAM,KAAKQ,IAAI,CAACR,MAAM,EAAE;MAC/B,MAAM,IAAI7D,kBAAkB,CAC1B,4BAA4BoE,IAAI,CAACP,MAAM,oBAAoBQ,IAAI,CAACR,MAAM,sBACxE,CAAC;IACH;IACA,OAAO,IAAI3C,YAAY,CAAC,IAAI,EAAE;MAAEkD,IAAI;MAAEC,IAAI;MAAE,GAAGC;IAAY,CAAC,CAAC;EAC/D;EAEAC,cAAcA,CAAA,EAAiB;IAC7B,OAAO,IAAInE,YAAY,CAAC,IAAI,CAAC;EAC/B;EAEAoE,eAAeA,CAAA,EAAkB;IAC/B,OAAO,IAAI3D,aAAa,CAAC,IAAI,CAAC;EAChC;EAEA4D,gBAAgBA,CAAA,EAAmB;IACjC,OAAO,IAAInD,cAAc,CAAC,IAAI,CAAC;EACjC;AACF","ignoreList":[]}
|
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
import { InvalidAccessError } from "../errors/index.js";
|
|
4
4
|
import AudioNode from "./AudioNode.js";
|
|
5
5
|
import AudioParam from "./AudioParam.js";
|
|
6
|
+
import { BiquadFilterOptions } from "../defaults.js";
|
|
6
7
|
export default class BiquadFilterNode extends AudioNode {
|
|
7
|
-
constructor(context,
|
|
8
|
+
constructor(context, options) {
|
|
9
|
+
const finalOptions = {
|
|
10
|
+
...BiquadFilterOptions,
|
|
11
|
+
...options
|
|
12
|
+
};
|
|
13
|
+
const biquadFilter = context.context.createBiquadFilter(finalOptions);
|
|
8
14
|
super(context, biquadFilter);
|
|
9
15
|
this.frequency = new AudioParam(biquadFilter.frequency, context);
|
|
10
16
|
this.detune = new AudioParam(biquadFilter.detune, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterOptions","BiquadFilterNode","constructor","context","options","finalOptions","biquadFilter","createBiquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAErC,SAASC,mBAAmB,QAAQ,gBAAa;AAGjD,eAAe,MAAMC,gBAAgB,SAASH,SAAS,CAAC;EAMtDI,WAAWA,CAACC,OAAyB,EAAEC,OAA8B,EAAE;IACrE,MAAMC,YAAkC,GAAG;MACzC,GAAGL,mBAAmB;MACtB,GAAGI;IACL,CAAC;IACD,MAAME,YAA+B,GACnCH,OAAO,CAACA,OAAO,CAACI,kBAAkB,CAACF,YAAY,CAAC;IAClD,KAAK,CAACF,OAAO,EAAEG,YAAY,CAAC;IAC5B,IAAI,CAACE,SAAS,GAAG,IAAIT,UAAU,CAACO,YAAY,CAACE,SAAS,EAAEL,OAAO,CAAC;IAChE,IAAI,CAACM,MAAM,GAAG,IAAIV,UAAU,CAACO,YAAY,CAACG,MAAM,EAAEN,OAAO,CAAC;IAC1D,IAAI,CAACO,CAAC,GAAG,IAAIX,UAAU,CAACO,YAAY,CAACI,CAAC,EAAEP,OAAO,CAAC;IAChD,IAAI,CAACQ,IAAI,GAAG,IAAIZ,UAAU,CAACO,YAAY,CAACK,IAAI,EAAER,OAAO,CAAC;EACxD;EAEA,IAAWS,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,cAA4B,EAC5BC,iBAA+B,EAC/BC,mBAAiC,EACjC;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAItB,kBAAkB,CAC1B,8DAA8DmB,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACN,IAAI,CAAuBE,oBAAoB,CACnDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { ConstantSourceOptions } from "../defaults.js";
|
|
3
4
|
import AudioParam from "./AudioParam.js";
|
|
4
5
|
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
5
6
|
export default class ConstantSourceNode extends AudioScheduledSourceNode {
|
|
6
|
-
constructor(context,
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const finalOptions = {
|
|
9
|
+
...ConstantSourceOptions,
|
|
10
|
+
...options
|
|
11
|
+
};
|
|
12
|
+
const node = context.context.createConstantSource(finalOptions);
|
|
7
13
|
super(context, node);
|
|
8
14
|
this.offset = new AudioParam(node.offset, context);
|
|
9
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioParam","AudioScheduledSourceNode","ConstantSourceNode","constructor","context","node","offset"],"sourceRoot":"../../../src","sources":["core/ConstantSourceNode.ts"],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"names":["ConstantSourceOptions","AudioParam","AudioScheduledSourceNode","ConstantSourceNode","constructor","context","options","finalOptions","node","createConstantSource","offset"],"sourceRoot":"../../../src","sources":["core/ConstantSourceNode.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,gBAAa;AAEnD,OAAOC,UAAU,MAAM,iBAAc;AACrC,OAAOC,wBAAwB,MAAM,+BAA4B;AAGjE,eAAe,MAAMC,kBAAkB,SAASD,wBAAwB,CAAC;EAGvEE,WAAWA,CAACC,OAAyB,EAAEC,OAAgC,EAAE;IACvE,MAAMC,YAAoC,GAAG;MAC3C,GAAGP,qBAAqB;MACxB,GAAGM;IACL,CAAC;IACD,MAAME,IAAyB,GAC7BH,OAAO,CAACA,OAAO,CAACI,oBAAoB,CAACF,YAAY,CAAC;IACpD,KAAK,CAACF,OAAO,EAAEG,IAAI,CAAC;IACpB,IAAI,CAACE,MAAM,GAAG,IAAIT,UAAU,CAACO,IAAI,CAACE,MAAM,EAAEL,OAAO,CAAC;EACpD;AACF","ignoreList":[]}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { ConvolverOptions } from "../defaults.js";
|
|
3
4
|
import AudioNode from "./AudioNode.js";
|
|
4
5
|
import AudioBuffer from "./AudioBuffer.js";
|
|
5
6
|
export default class ConvolverNode extends AudioNode {
|
|
6
|
-
constructor(context,
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const finalOptions = {
|
|
9
|
+
...ConvolverOptions,
|
|
10
|
+
...options
|
|
11
|
+
};
|
|
12
|
+
const convolverNode = context.context.createConvolver(finalOptions);
|
|
13
|
+
super(context, convolverNode);
|
|
14
|
+
this.normalize = convolverNode.normalize;
|
|
9
15
|
}
|
|
10
16
|
get buffer() {
|
|
11
17
|
const buffer = this.node.buffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioBuffer","ConvolverNode","constructor","context","
|
|
1
|
+
{"version":3,"names":["ConvolverOptions","AudioNode","AudioBuffer","ConvolverNode","constructor","context","options","finalOptions","convolverNode","createConvolver","normalize","buffer","node","setBuffer","value"],"sourceRoot":"../../../src","sources":["core/ConvolverNode.ts"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,gBAAa;AAG9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,WAAW,MAAM,kBAAe;AAEvC,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EACnDG,WAAWA,CAACC,OAAyB,EAAEC,OAA2B,EAAE;IAClE,MAAMC,YAA+B,GAAG;MACtC,GAAGP,gBAAgB;MACnB,GAAGM;IACL,CAAC;IACD,MAAME,aAA6B,GACjCH,OAAO,CAACA,OAAO,CAACI,eAAe,CAACF,YAAY,CAAC;IAC/C,KAAK,CAACF,OAAO,EAAEG,aAAa,CAAC;IAC7B,IAAI,CAACE,SAAS,GAAGF,aAAa,CAACE,SAAS;EAC1C;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACC,IAAI,CAAoBD,MAAM;IACnD,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIT,WAAW,CAACS,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACC,IAAI,CAAoBC,SAAS,CAAC,IAAI,CAAC;MAC7C;IACF;IACC,IAAI,CAACD,IAAI,CAAoBC,SAAS,CAACF,MAAM,CAACA,MAAM,CAAC;EACxD;EAEA,IAAWD,SAASA,CAAA,EAAY;IAC9B,OAAQ,IAAI,CAACE,IAAI,CAAoBF,SAAS;EAChD;EAEA,IAAWA,SAASA,CAACI,KAAc,EAAE;IAClC,IAAI,CAACF,IAAI,CAAoBF,SAAS,GAAGI,KAAK;EACjD;AACF","ignoreList":[]}
|
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import AudioNode from "./AudioNode.js";
|
|
4
4
|
import AudioParam from "./AudioParam.js";
|
|
5
|
+
import { DelayOptions } from "../defaults.js";
|
|
5
6
|
export default class DelayNode extends AudioNode {
|
|
6
|
-
constructor(context,
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const finalOptions = {
|
|
9
|
+
...DelayOptions,
|
|
10
|
+
...options
|
|
11
|
+
};
|
|
12
|
+
const delay = context.context.createDelay(finalOptions);
|
|
7
13
|
super(context, delay);
|
|
8
14
|
this.delayTime = new AudioParam(delay.delayTime, context);
|
|
9
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","DelayNode","constructor","context","delay","delayTime"],"sourceRoot":"../../../src","sources":["core/DelayNode.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","DelayOptions","DelayNode","constructor","context","options","finalOptions","delay","createDelay","delayTime"],"sourceRoot":"../../../src","sources":["core/DelayNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,SAASC,YAAY,QAAQ,gBAAa;AAE1C,eAAe,MAAMC,SAAS,SAASH,SAAS,CAAC;EAG/CI,WAAWA,CAACC,OAAyB,EAAEC,OAAuB,EAAE;IAC9D,MAAMC,YAAY,GAAG;MAAE,GAAGL,YAAY;MAAE,GAAGI;IAAQ,CAAC;IACpD,MAAME,KAAK,GAAGH,OAAO,CAACA,OAAO,CAACI,WAAW,CAACF,YAAY,CAAC;IACvD,KAAK,CAACF,OAAO,EAAEG,KAAK,CAAC;IACrB,IAAI,CAACE,SAAS,GAAG,IAAIT,UAAU,CAACO,KAAK,CAACE,SAAS,EAAEL,OAAO,CAAC;EAC3D;AACF","ignoreList":[]}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { GainOptions } from "../defaults.js";
|
|
3
4
|
import AudioNode from "./AudioNode.js";
|
|
4
5
|
import AudioParam from "./AudioParam.js";
|
|
5
6
|
export default class GainNode extends AudioNode {
|
|
6
|
-
constructor(context,
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const finalOptions = {
|
|
9
|
+
...GainOptions,
|
|
10
|
+
...options
|
|
11
|
+
};
|
|
12
|
+
const gainNode = context.context.createGain(finalOptions);
|
|
13
|
+
super(context, gainNode);
|
|
14
|
+
this.gain = new AudioParam(gainNode.gain, context);
|
|
9
15
|
}
|
|
10
16
|
}
|
|
11
17
|
//# sourceMappingURL=GainNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"names":["GainOptions","AudioNode","AudioParam","GainNode","constructor","context","options","finalOptions","gainNode","createGain","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;AACA,SAASA,WAAW,QAAQ,gBAAa;AAEzC,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,OAAsB,EAAE;IAC7D,MAAMC,YAA0B,GAAG;MACjC,GAAGP,WAAW;MACd,GAAGM;IACL,CAAC;IACD,MAAME,QAAmB,GAAGH,OAAO,CAACA,OAAO,CAACI,UAAU,CAACF,YAAY,CAAC;IACpE,KAAK,CAACF,OAAO,EAAEG,QAAQ,CAAC;IACxB,IAAI,CAACE,IAAI,GAAG,IAAIR,UAAU,CAACM,QAAQ,CAACE,IAAI,EAAEL,OAAO,CAAC;EACpD;AACF","ignoreList":[]}
|
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
import { NotSupportedError } from "../errors/index.js";
|
|
4
4
|
import AudioNode from "./AudioNode.js";
|
|
5
|
+
import { AudioNodeOptions } from "../defaults.js";
|
|
5
6
|
export default class IIRFilterNode extends AudioNode {
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const finalOptions = {
|
|
9
|
+
...AudioNodeOptions,
|
|
10
|
+
...options
|
|
11
|
+
};
|
|
12
|
+
const iirFilterNode = context.context.createIIRFilter(finalOptions);
|
|
13
|
+
super(context, iirFilterNode);
|
|
14
|
+
}
|
|
6
15
|
getFrequencyResponse(frequencyArray, magResponseOutput, phaseResponseOutput) {
|
|
7
16
|
if (frequencyArray.length !== magResponseOutput.length || frequencyArray.length !== phaseResponseOutput.length) {
|
|
8
17
|
throw new NotSupportedError(`The lengths of the arrays are not the same frequencyArray: ${frequencyArray.length}, magResponseOutput: ${magResponseOutput.length}, phaseResponseOutput: ${phaseResponseOutput.length}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NotSupportedError","AudioNode","IIRFilterNode","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length","node"],"sourceRoot":"../../../src","sources":["core/IIRFilterNode.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,oBAAW;AAE7C,OAAOC,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,aAAa,
|
|
1
|
+
{"version":3,"names":["NotSupportedError","AudioNode","AudioNodeOptions","IIRFilterNode","constructor","context","options","finalOptions","iirFilterNode","createIIRFilter","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length","node"],"sourceRoot":"../../../src","sources":["core/IIRFilterNode.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,oBAAW;AAE7C,OAAOC,SAAS,MAAM,gBAAa;AAEnC,SAASC,gBAAgB,QAAQ,gBAAa;AAG9C,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EACnDG,WAAWA,CAACC,OAAyB,EAAEC,OAA0B,EAAE;IACjE,MAAMC,YAA+B,GAAG;MACtC,GAAGL,gBAAgB;MACnB,GAAGI;IACL,CAAC;IACD,MAAME,aAAa,GAAGH,OAAO,CAACA,OAAO,CAACI,eAAe,CAACF,YAAY,CAAC;IACnE,KAAK,CAACF,OAAO,EAAEG,aAAa,CAAC;EAC/B;EAEOE,oBAAoBA,CACzBC,cAA4B,EAC5BC,iBAA+B,EAC/BC,mBAAiC,EACjC;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAId,iBAAiB,CACzB,8DAA8DW,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACC,IAAI,CAAoBL,oBAAoB,CAChDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -3,8 +3,17 @@
|
|
|
3
3
|
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
4
4
|
import AudioParam from "./AudioParam.js";
|
|
5
5
|
import { InvalidStateError } from "../errors/index.js";
|
|
6
|
+
import { OscillatorOptions } from "../defaults.js";
|
|
6
7
|
export default class OscillatorNode extends AudioScheduledSourceNode {
|
|
7
|
-
constructor(context,
|
|
8
|
+
constructor(context, options) {
|
|
9
|
+
const finalOptions = {
|
|
10
|
+
...OscillatorOptions,
|
|
11
|
+
...options
|
|
12
|
+
};
|
|
13
|
+
if (finalOptions.periodicWave) {
|
|
14
|
+
finalOptions.type = 'custom';
|
|
15
|
+
}
|
|
16
|
+
const node = context.context.createOscillator(finalOptions);
|
|
8
17
|
super(context, node);
|
|
9
18
|
this.frequency = new AudioParam(node.frequency, context);
|
|
10
19
|
this.detune = new AudioParam(node.detune, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorOptions","OscillatorNode","constructor","context","options","finalOptions","periodicWave","type","node","createOscillator","frequency","detune","value","setPeriodicWave","wave","onEnded","callback"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,SAASC,iBAAiB,QAAQ,gBAAa;AAG/C,eAAe,MAAMC,cAAc,SAASJ,wBAAwB,CAAC;EAInEK,WAAWA,CAACC,OAAyB,EAAEC,OAA4B,EAAE;IACnE,MAAMC,YAAgC,GAAG;MACvC,GAAGL,iBAAiB;MACpB,GAAGI;IACL,CAAC;IAED,IAAIC,YAAY,CAACC,YAAY,EAAE;MAC7BD,YAAY,CAACE,IAAI,GAAG,QAAQ;IAC9B;IAEA,MAAMC,IAAI,GAAGL,OAAO,CAACA,OAAO,CAACM,gBAAgB,CAACJ,YAAY,CAAC;IAC3D,KAAK,CAACF,OAAO,EAAEK,IAAI,CAAC;IACpB,IAAI,CAACE,SAAS,GAAG,IAAIZ,UAAU,CAACU,IAAI,CAACE,SAAS,EAAEP,OAAO,CAAC;IACxD,IAAI,CAACQ,MAAM,GAAG,IAAIb,UAAU,CAACU,IAAI,CAACG,MAAM,EAAER,OAAO,CAAC;IAClD,IAAI,CAACI,IAAI,GAAGC,IAAI,CAACD,IAAI;EACvB;EAEA,IAAWA,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACC,IAAI,CAAqBD,IAAI;EAC5C;EAEA,IAAWA,IAAIA,CAACK,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIb,iBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACS,IAAI,CAAqBD,IAAI,GAAGK,KAAK;EAC7C;EAEOC,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACN,IAAI,CAAqBK,eAAe,CAACC,IAAI,CAACR,YAAY,CAAC;EACnE;EAEA,IAAoBS,OAAOA,CAAA,EAAkD;IAC3E,OAAO,KAAK,CAACA,OAAO;EACtB;EAEA,IAAoBA,OAAOA,CACzBC,QAAkD,EAClD;IACA,KAAK,CAACD,OAAO,GAAGC,QAAQ;EAC1B;AACF","ignoreList":[]}
|
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { PeriodicWaveConstraints } from "../defaults.js";
|
|
4
|
+
import { PeriodicWaveOptionsValidator } from "../options-validators.js";
|
|
5
|
+
export function generateRealAndImag(options) {
|
|
6
|
+
let real;
|
|
7
|
+
let imag;
|
|
8
|
+
if (!options || !options.real && !options.imag) {
|
|
9
|
+
real = new Float32Array(2);
|
|
10
|
+
imag = new Float32Array(2);
|
|
11
|
+
imag[1] = 1;
|
|
12
|
+
} else {
|
|
13
|
+
real = options.real;
|
|
14
|
+
imag = options.imag;
|
|
15
|
+
PeriodicWaveOptionsValidator.validate(options);
|
|
16
|
+
if (real && !imag) {
|
|
17
|
+
imag = new Float32Array(real.length);
|
|
18
|
+
} else if (!real && imag) {
|
|
19
|
+
real = new Float32Array(imag.length);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const norm = options?.disableNormalization ? options.disableNormalization : PeriodicWaveConstraints.disableNormalization;
|
|
23
|
+
return {
|
|
24
|
+
real,
|
|
25
|
+
imag,
|
|
26
|
+
disableNormalization: norm
|
|
27
|
+
};
|
|
28
|
+
}
|
|
3
29
|
export default class PeriodicWave {
|
|
4
30
|
/** @internal */
|
|
5
31
|
|
|
6
|
-
constructor(
|
|
7
|
-
|
|
32
|
+
constructor(context, options) {
|
|
33
|
+
const finalOptions = generateRealAndImag(options);
|
|
34
|
+
this.periodicWave = context.context.createPeriodicWave(finalOptions.real, finalOptions.imag, finalOptions.disableNormalization);
|
|
8
35
|
}
|
|
9
36
|
}
|
|
10
37
|
//# sourceMappingURL=PeriodicWave.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PeriodicWave","constructor","periodicWave"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":";;AAEA,eAAe,
|
|
1
|
+
{"version":3,"names":["PeriodicWaveConstraints","PeriodicWaveOptionsValidator","generateRealAndImag","options","real","imag","Float32Array","validate","length","norm","disableNormalization","PeriodicWave","constructor","context","finalOptions","periodicWave","createPeriodicWave"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":";;AAGA,SAASA,uBAAuB,QAAQ,gBAAa;AACrD,SAASC,4BAA4B,QAAQ,0BAAuB;AAEpE,OAAO,SAASC,mBAAmBA,CACjCC,OAA8B,EACR;EACtB,IAAIC,IAA8B;EAClC,IAAIC,IAA8B;EAClC,IAAI,CAACF,OAAO,IAAK,CAACA,OAAO,CAACC,IAAI,IAAI,CAACD,OAAO,CAACE,IAAK,EAAE;IAChDD,IAAI,GAAG,IAAIE,YAAY,CAAC,CAAC,CAAC;IAC1BD,IAAI,GAAG,IAAIC,YAAY,CAAC,CAAC,CAAC;IAC1BD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;EACb,CAAC,MAAM;IACLD,IAAI,GAAGD,OAAO,CAACC,IAAI;IACnBC,IAAI,GAAGF,OAAO,CAACE,IAAI;IACnBJ,4BAA4B,CAACM,QAAQ,CAACJ,OAAO,CAAC;IAC9C,IAAIC,IAAI,IAAI,CAACC,IAAI,EAAE;MACjBA,IAAI,GAAG,IAAIC,YAAY,CAACF,IAAI,CAACI,MAAM,CAAC;IACtC,CAAC,MAAM,IAAI,CAACJ,IAAI,IAAIC,IAAI,EAAE;MACxBD,IAAI,GAAG,IAAIE,YAAY,CAACD,IAAI,CAACG,MAAM,CAAC;IACtC;EACF;EACA,MAAMC,IAAa,GAAGN,OAAO,EAAEO,oBAAoB,GAC/CP,OAAO,CAACO,oBAAoB,GAC5BV,uBAAuB,CAACU,oBAAqB;EACjD,OAAO;IAAEN,IAAI;IAAEC,IAAI;IAAEK,oBAAoB,EAAED;EAAK,CAAC;AACnD;AAEA,eAAe,MAAME,YAAY,CAAC;EAChC;;EAGAC,WAAWA,CAACC,OAAyB,EAAEV,OAA8B,EAAE;IACrE,MAAMW,YAAY,GAAGZ,mBAAmB,CAACC,OAAO,CAAC;IACjD,IAAI,CAACY,YAAY,GAAGF,OAAO,CAACA,OAAO,CAACG,kBAAkB,CACpDF,YAAY,CAACV,IAAI,EACjBU,YAAY,CAACT,IAAI,EACjBS,YAAY,CAACJ,oBACf,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -4,6 +4,9 @@ import AudioNode from "./AudioNode.js";
|
|
|
4
4
|
export default class RecorderAdapterNode extends AudioNode {
|
|
5
5
|
/** @internal */
|
|
6
6
|
wasConnected = false;
|
|
7
|
+
constructor(context) {
|
|
8
|
+
super(context, context.context.createRecorderAdapter());
|
|
9
|
+
}
|
|
7
10
|
|
|
8
11
|
/** @internal */
|
|
9
12
|
getNode() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","RecorderAdapterNode","wasConnected","getNode","node"],"sourceRoot":"../../../src","sources":["core/RecorderAdapterNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;
|
|
1
|
+
{"version":3,"names":["AudioNode","RecorderAdapterNode","wasConnected","constructor","context","createRecorderAdapter","getNode","node"],"sourceRoot":"../../../src","sources":["core/RecorderAdapterNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AAGnC,eAAe,MAAMC,mBAAmB,SAASD,SAAS,CAAC;EACzD;EACOE,YAAY,GAAY,KAAK;EAEpCC,WAAWA,CAACC,OAAyB,EAAE;IACrC,KAAK,CAACA,OAAO,EAAEA,OAAO,CAACA,OAAO,CAACC,qBAAqB,CAAC,CAAC,CAAC;EACzD;;EAEA;EACOC,OAAOA,CAAA,EAAyB;IACrC,OAAO,IAAI,CAACC,IAAI;EAClB;AACF","ignoreList":[]}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { SteroPannerOptions } from "../defaults.js";
|
|
3
4
|
import AudioNode from "./AudioNode.js";
|
|
4
5
|
import AudioParam from "./AudioParam.js";
|
|
5
6
|
export default class StereoPannerNode extends AudioNode {
|
|
6
|
-
constructor(context,
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const finalOptions = {
|
|
9
|
+
...SteroPannerOptions,
|
|
10
|
+
...options
|
|
11
|
+
};
|
|
12
|
+
const pan = context.context.createStereoPanner(finalOptions);
|
|
7
13
|
super(context, pan);
|
|
8
14
|
this.pan = new AudioParam(pan.pan, context);
|
|
9
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"names":["SteroPannerOptions","AudioNode","AudioParam","StereoPannerNode","constructor","context","options","finalOptions","pan","createStereoPanner"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":";;AACA,SAASA,kBAAkB,QAAQ,gBAAa;AAEhD,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,OAA6B,EAAE;IACpE,MAAMC,YAAiC,GAAG;MACxC,GAAGP,kBAAkB;MACrB,GAAGM;IACL,CAAC;IACD,MAAME,GAAsB,GAC1BH,OAAO,CAACA,OAAO,CAACI,kBAAkB,CAACF,YAAY,CAAC;IAClD,KAAK,CAACF,OAAO,EAAEG,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIN,UAAU,CAACM,GAAG,CAACA,GAAG,EAAEH,OAAO,CAAC;EAC7C;AACF","ignoreList":[]}
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
4
|
+
import { InvalidStateError, NotSupportedError } from "../errors/index.js";
|
|
4
5
|
export default class StreamerNode extends AudioScheduledSourceNode {
|
|
6
|
+
hasBeenSetup = false;
|
|
7
|
+
constructor(context, options) {
|
|
8
|
+
const node = context.context.createStreamer(options);
|
|
9
|
+
if (!node) {
|
|
10
|
+
throw new NotSupportedError('StreamerNode requires FFmpeg build');
|
|
11
|
+
}
|
|
12
|
+
super(context, node);
|
|
13
|
+
if (options?.streamPath) {
|
|
14
|
+
if (this.initialize(options.streamPath)) {
|
|
15
|
+
this.hasBeenSetup = true;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
5
19
|
initialize(streamPath) {
|
|
6
|
-
|
|
20
|
+
if (this.hasBeenSetup) {
|
|
21
|
+
throw new InvalidStateError('Node is already setup');
|
|
22
|
+
}
|
|
23
|
+
const res = this.node.initialize(streamPath);
|
|
24
|
+
if (res) {
|
|
25
|
+
this.hasBeenSetup = true;
|
|
26
|
+
}
|
|
27
|
+
return res;
|
|
28
|
+
}
|
|
29
|
+
get streamPath() {
|
|
30
|
+
return this.node.streamPath;
|
|
7
31
|
}
|
|
8
32
|
}
|
|
9
33
|
//# sourceMappingURL=StreamerNode.js.map
|