react-native-audio-api 0.3.0-rc2 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNAudioAPI.podspec +40 -29
- package/android/CMakeLists.txt +17 -21
- package/android/build.gradle +26 -9
- package/android/src/main/cpp/OnLoad.cpp +1 -1
- package/android/src/main/cpp/core/AudioAPIInstaller.cpp +37 -0
- package/android/src/main/cpp/{AudioAPIInstaller → core}/AudioAPIInstaller.h +5 -16
- package/android/src/main/cpp/{AudioDecoder → core}/AudioDecoder.cpp +0 -8
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +2 -0
- package/android/src/main/java/com/swmansion/audioapi/nativemodules/AudioAPIModule.kt +6 -4
- package/common/cpp/HostObjects/AudioAPIInstallerHostObject.h +48 -0
- package/common/cpp/HostObjects/AudioBufferHostObject.h +79 -13
- package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.h +93 -14
- package/common/cpp/HostObjects/AudioContextHostObject.h +10 -21
- package/common/cpp/HostObjects/AudioDestinationNodeHostObject.h +3 -16
- package/common/cpp/HostObjects/AudioNodeHostObject.h +48 -11
- package/common/cpp/HostObjects/AudioParamHostObject.h +93 -14
- package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.h +23 -16
- package/common/cpp/HostObjects/BaseAudioContextHostObject.h +131 -14
- package/common/cpp/HostObjects/BiquadFilterNodeHostObject.h +76 -18
- package/common/cpp/HostObjects/GainNodeHostObject.h +10 -15
- package/common/cpp/HostObjects/OscillatorNodeHostObject.h +40 -17
- package/common/cpp/HostObjects/PeriodicWaveHostObject.h +4 -17
- package/common/cpp/HostObjects/StereoPannerNodeHostObject.h +10 -17
- package/common/cpp/core/AudioBufferSourceNode.cpp +181 -73
- package/common/cpp/core/AudioBufferSourceNode.h +41 -1
- package/{android/src/main/cpp/AudioDecoder → common/cpp/core}/AudioDecoder.h +1 -3
- package/common/cpp/core/AudioDestinationNode.h +1 -1
- package/common/cpp/core/AudioParam.cpp +218 -58
- package/common/cpp/core/AudioParam.h +19 -15
- package/common/cpp/core/AudioScheduledSourceNode.cpp +94 -21
- package/common/cpp/core/AudioScheduledSourceNode.h +16 -5
- package/common/cpp/core/BaseAudioContext.cpp +3 -13
- package/common/cpp/core/BaseAudioContext.h +2 -4
- package/common/cpp/core/BiquadFilterNode.cpp +5 -7
- package/common/cpp/{HostObjects → core}/Constants.h +2 -2
- package/common/cpp/core/GainNode.cpp +1 -1
- package/common/cpp/core/OscillatorNode.cpp +11 -5
- package/common/cpp/core/ParamChangeEvent.cpp +58 -0
- package/common/cpp/core/{ParamChange.h → ParamChangeEvent.h} +11 -5
- package/common/cpp/core/StereoPannerNode.cpp +1 -1
- package/common/cpp/jsi/JsiHostObject.cpp +90 -0
- package/common/cpp/jsi/JsiHostObject.h +100 -0
- package/common/cpp/{utils → jsi}/JsiPromise.cpp +10 -9
- package/common/cpp/jsi/JsiPromise.h +48 -0
- package/common/cpp/jsi/RuntimeAwareCache.h +57 -0
- package/common/cpp/jsi/RuntimeLifecycleMonitor.cpp +61 -0
- package/common/cpp/jsi/RuntimeLifecycleMonitor.h +32 -0
- package/common/cpp/types/BiquadFilterType.h +0 -4
- package/common/cpp/types/ChannelCountMode.h +0 -3
- package/common/cpp/types/ChannelInterpretation.h +0 -3
- package/common/cpp/types/ContextState.h +0 -3
- package/common/cpp/types/OscillatorType.h +0 -4
- package/common/cpp/types/ParamChangeEventType.h +13 -0
- package/common/cpp/utils/AudioUtils.cpp +26 -0
- package/common/cpp/utils/AudioUtils.h +12 -0
- package/common/cpp/utils/{ios/FFTFrame.cpp → FFTFrame.cpp} +30 -3
- package/common/cpp/utils/VectorMath.h +7 -33
- package/ios/AudioAPIModule.h +4 -12
- package/ios/AudioAPIModule.mm +26 -25
- package/ios/core/AudioDecoder.mm +45 -0
- package/ios/{AudioPlayer → core}/AudioPlayer.m +2 -1
- package/lib/module/core/AudioBuffer.js +3 -1
- package/lib/module/core/AudioBuffer.js.map +1 -1
- package/lib/module/core/AudioBufferSourceNode.js +19 -2
- package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/core/AudioContext.js +3 -1
- package/lib/module/core/AudioContext.js.map +1 -1
- package/lib/module/core/AudioDestinationNode.js +4 -6
- package/lib/module/core/AudioDestinationNode.js.map +1 -1
- package/lib/module/core/AudioNode.js +3 -1
- package/lib/module/core/AudioNode.js.map +1 -1
- package/lib/module/core/AudioParam.js +27 -1
- package/lib/module/core/AudioParam.js.map +1 -1
- package/lib/module/core/AudioScheduledSourceNode.js +4 -5
- package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
- package/lib/module/core/BaseAudioContext.js +11 -9
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/core/BiquadFilterNode.js +5 -3
- package/lib/module/core/BiquadFilterNode.js.map +1 -1
- package/lib/module/core/GainNode.js +4 -2
- package/lib/module/core/GainNode.js.map +1 -1
- package/lib/module/core/OscillatorNode.js +5 -3
- package/lib/module/core/OscillatorNode.js.map +1 -1
- package/lib/module/core/PeriodicWave.js +2 -0
- package/lib/module/core/PeriodicWave.js.map +1 -1
- package/lib/module/core/StereoPannerNode.js +4 -2
- package/lib/module/core/StereoPannerNode.js.map +1 -1
- package/lib/module/core/types.js +1 -1
- package/lib/module/errors/IndexSizeError.js +2 -0
- package/lib/module/errors/IndexSizeError.js.map +1 -1
- package/lib/module/errors/InvalidAccessError.js +2 -0
- package/lib/module/errors/InvalidAccessError.js.map +1 -1
- package/lib/module/errors/InvalidStateError.js +2 -0
- package/lib/module/errors/InvalidStateError.js.map +1 -1
- package/lib/module/errors/RangeError.js +2 -0
- package/lib/module/errors/RangeError.js.map +1 -1
- package/lib/module/errors/index.js +6 -4
- package/lib/module/errors/index.js.map +1 -1
- package/lib/module/index.js +35 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.native.js +16 -14
- package/lib/module/index.native.js.map +1 -1
- package/lib/module/interfaces.js +2 -0
- package/lib/module/specs/global.d.js +4 -0
- package/lib/module/{modules → specs}/global.d.js.map +1 -1
- package/lib/module/{utils → specs}/install.js +5 -9
- package/lib/module/specs/install.js.map +1 -0
- package/lib/typescript/core/AudioBuffer.d.ts +2 -0
- package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/core/AudioBufferSourceNode.d.ts +7 -0
- package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioDestinationNode.d.ts +0 -3
- package/lib/typescript/core/AudioDestinationNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioParam.d.ts +4 -0
- package/lib/typescript/core/AudioParam.d.ts.map +1 -1
- package/lib/typescript/core/AudioScheduledSourceNode.d.ts +0 -3
- package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/PeriodicWave.d.ts +2 -0
- package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +13 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +8 -0
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/{utils → specs}/install.d.ts.map +1 -1
- package/metro-config/index.d.ts +5 -0
- package/metro-config/index.js +41 -0
- package/metro-config/tsconfig.json +3 -0
- package/package.json +50 -16
- package/scripts/audioapi_utils.rb +56 -0
- package/src/core/AudioBufferSourceNode.ts +23 -0
- package/src/core/AudioDestinationNode.ts +1 -7
- package/src/core/AudioParam.ts +48 -0
- package/src/core/AudioScheduledSourceNode.ts +0 -5
- package/src/index.native.ts +1 -1
- package/src/index.ts +54 -13
- package/src/interfaces.ts +17 -0
- package/src/{modules → specs}/global.d.ts +2 -0
- package/src/{utils → specs}/install.ts +4 -11
- package/android/src/main/cpp/AudioAPIInstaller/AudioAPIInstaller.cpp +0 -26
- package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.cpp +0 -58
- package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.h +0 -51
- package/common/cpp/AudioAPIInstaller/AudioAPIInstallerWrapper.h +0 -38
- package/common/cpp/AudioAPIInstaller/android/AudioAPIInstallerWrapper.cpp +0 -16
- package/common/cpp/AudioAPIInstaller/ios/AudioAPIInstallerWrapper.cpp +0 -12
- package/common/cpp/HostObjects/AudioBufferHostObject.cpp +0 -150
- package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.cpp +0 -79
- package/common/cpp/HostObjects/AudioContextHostObject.cpp +0 -55
- package/common/cpp/HostObjects/AudioDestinationNodeHostObject.cpp +0 -33
- package/common/cpp/HostObjects/AudioNodeHostObject.cpp +0 -102
- package/common/cpp/HostObjects/AudioParamHostObject.cpp +0 -115
- package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.cpp +0 -73
- package/common/cpp/HostObjects/BaseAudioContextHostObject.cpp +0 -250
- package/common/cpp/HostObjects/BiquadFilterNodeHostObject.cpp +0 -125
- package/common/cpp/HostObjects/GainNodeHostObject.cpp +0 -41
- package/common/cpp/HostObjects/OscillatorNodeHostObject.cpp +0 -88
- package/common/cpp/HostObjects/PeriodicWaveHostObject.cpp +0 -33
- package/common/cpp/HostObjects/StereoPannerNodeHostObject.cpp +0 -41
- package/common/cpp/core/ParamChange.cpp +0 -46
- package/common/cpp/utils/JsiPromise.h +0 -48
- package/common/cpp/utils/android/FFTFrame.cpp +0 -23
- package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.cpp +0 -45
- package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.h +0 -26
- package/common/cpp/wrappers/AudioBufferWrapper.cpp +0 -46
- package/common/cpp/wrappers/AudioBufferWrapper.h +0 -30
- package/common/cpp/wrappers/AudioContextWrapper.cpp +0 -17
- package/common/cpp/wrappers/AudioContextWrapper.h +0 -19
- package/common/cpp/wrappers/AudioDestinationNodeWrapper.h +0 -16
- package/common/cpp/wrappers/AudioNodeWrapper.cpp +0 -37
- package/common/cpp/wrappers/AudioNodeWrapper.h +0 -25
- package/common/cpp/wrappers/AudioParamWrapper.cpp +0 -42
- package/common/cpp/wrappers/AudioParamWrapper.h +0 -25
- package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.cpp +0 -23
- package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.h +0 -23
- package/common/cpp/wrappers/BaseAudioContextWrapper.cpp +0 -83
- package/common/cpp/wrappers/BaseAudioContextWrapper.h +0 -51
- package/common/cpp/wrappers/BiquadFilterNodeWrapper.cpp +0 -60
- package/common/cpp/wrappers/BiquadFilterNodeWrapper.h +0 -37
- package/common/cpp/wrappers/GainNodeWrapper.cpp +0 -14
- package/common/cpp/wrappers/GainNodeWrapper.h +0 -20
- package/common/cpp/wrappers/OscillatorNodeWrapper.cpp +0 -44
- package/common/cpp/wrappers/OscillatorNodeWrapper.h +0 -31
- package/common/cpp/wrappers/PeriodicWaveWrapper.h +0 -17
- package/common/cpp/wrappers/StereoPannerNodeWrapper.cpp +0 -16
- package/common/cpp/wrappers/StereoPannerNodeWrapper.h +0 -21
- package/ios/AudioDecoder/AudioDecoder.h +0 -17
- package/ios/AudioDecoder/AudioDecoder.m +0 -80
- package/ios/AudioDecoder/IOSAudioDecoder.h +0 -28
- package/ios/AudioDecoder/IOSAudioDecoder.mm +0 -46
- package/lib/module/modules/global.d.js +0 -2
- package/lib/module/utils/install.js.map +0 -1
- /package/android/src/main/cpp/{AudioPlayer → core}/AudioPlayer.cpp +0 -0
- /package/android/src/main/cpp/{AudioPlayer → core}/AudioPlayer.h +0 -0
- /package/{android/libs/include → common/cpp/libs}/miniaudio.h +0 -0
- /package/ios/{AudioPlayer → core}/AudioPlayer.h +0 -0
- /package/ios/{AudioPlayer → core}/IOSAudioPlayer.h +0 -0
- /package/ios/{AudioPlayer → core}/IOSAudioPlayer.mm +0 -0
- /package/lib/typescript/{utils → specs}/install.d.ts +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#include "AudioUtils.h"
|
|
2
|
+
|
|
3
|
+
namespace audioapi::AudioUtils {
|
|
4
|
+
size_t timeToSampleFrame(double time, int sampleRate) {
|
|
5
|
+
return static_cast<size_t>(time * sampleRate);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
double sampleFrameToTime(int sampleFrame, int sampleRate) {
|
|
9
|
+
return static_cast<double>(sampleFrame) / sampleRate;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
float linearInterpolate(
|
|
13
|
+
const float *source,
|
|
14
|
+
size_t firstIndex,
|
|
15
|
+
size_t secondIndex,
|
|
16
|
+
float factor) {
|
|
17
|
+
if (firstIndex == secondIndex && firstIndex >= 1) {
|
|
18
|
+
return source[firstIndex] +
|
|
19
|
+
factor * (source[firstIndex] - source[firstIndex - 1]);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return source[firstIndex] +
|
|
23
|
+
factor * (source[secondIndex] - source[firstIndex]);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
} // namespace audioapi::AudioUtils
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <cstddef>
|
|
4
|
+
|
|
5
|
+
namespace audioapi::AudioUtils {
|
|
6
|
+
size_t timeToSampleFrame(double time, int sampleRate);
|
|
7
|
+
|
|
8
|
+
double sampleFrameToTime(int sampleFrame, int sampleRate);
|
|
9
|
+
|
|
10
|
+
float linearInterpolate(const float *source, size_t firstIndex, size_t secondIndex, float factor);
|
|
11
|
+
|
|
12
|
+
} // namespace audioapi::AudioUtils
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
#if defined(HAVE_ACCELERATE)
|
|
2
1
|
#include "FFTFrame.h"
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
#if defined(HAVE_ACCELERATE)
|
|
4
|
+
#include <Accelerate/Accelerate.h>
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
#if defined(ANDROID)
|
|
8
|
+
#include <fftw3.h>
|
|
9
|
+
#endif
|
|
4
10
|
|
|
5
11
|
namespace audioapi {
|
|
12
|
+
#if defined(HAVE_ACCELERATE)
|
|
6
13
|
|
|
7
14
|
void FFTFrame::inverse(float *timeDomainData) {
|
|
8
15
|
FFTSetup fftSetup_ = vDSP_create_fftsetup(log2Size_, FFT_RADIX2);
|
|
@@ -25,5 +32,25 @@ void FFTFrame::inverse(float *timeDomainData) {
|
|
|
25
32
|
|
|
26
33
|
vDSP_destroy_fftsetup(fftSetup_);
|
|
27
34
|
}
|
|
28
|
-
|
|
35
|
+
|
|
36
|
+
#elif defined(ANDROID)
|
|
37
|
+
|
|
38
|
+
void FFTFrame::inverse(float *timeDomainData) {
|
|
39
|
+
fftwf_complex *freqDomainData = fftwf_alloc_complex(size_ / 2);
|
|
40
|
+
for (int i = 0; i < size_ / 2; i++) {
|
|
41
|
+
freqDomainData[i][0] = realData_[i];
|
|
42
|
+
freqDomainData[i][1] = imaginaryData_[i];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
auto plan = fftwf_plan_dft_c2r_1d(
|
|
46
|
+
size_, freqDomainData, timeDomainData, FFTW_ESTIMATE);
|
|
47
|
+
fftwf_execute(plan);
|
|
48
|
+
fftwf_destroy_plan(plan);
|
|
49
|
+
fftwf_free(freqDomainData);
|
|
50
|
+
|
|
51
|
+
VectorMath::multiplyByScalar(
|
|
52
|
+
timeDomainData, 1.0f / static_cast<float>(size_), timeDomainData, size_);
|
|
53
|
+
}
|
|
54
|
+
|
|
29
55
|
#endif
|
|
56
|
+
} // namespace audioapi
|
|
@@ -32,40 +32,14 @@
|
|
|
32
32
|
|
|
33
33
|
namespace audioapi::VectorMath {
|
|
34
34
|
|
|
35
|
-
void multiplyByScalarThenAddToOutput(
|
|
36
|
-
const float *inputVector,
|
|
37
|
-
float scalar,
|
|
38
|
-
float *outputVector,
|
|
39
|
-
size_t numberOfElementsToProcess);
|
|
35
|
+
void multiplyByScalarThenAddToOutput(const float *inputVector, float scalar, float *outputVector, size_t numberOfElementsToProcess);
|
|
40
36
|
|
|
41
|
-
void multiplyByScalar(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
void addScalar(
|
|
47
|
-
const float *inputVector,
|
|
48
|
-
float scalar,
|
|
49
|
-
float *outputVector,
|
|
50
|
-
size_t numberOfElementsToProcess);
|
|
51
|
-
void add(
|
|
52
|
-
const float *inputVector1,
|
|
53
|
-
const float *inputVector2,
|
|
54
|
-
float *outputVector,
|
|
55
|
-
size_t numberOfElementsToProcess);
|
|
56
|
-
void subtract(
|
|
57
|
-
const float *inputVector1,
|
|
58
|
-
const float *inputVector2,
|
|
59
|
-
float *outputVector,
|
|
60
|
-
size_t numberOfElementsToProcess);
|
|
61
|
-
void multiply(
|
|
62
|
-
const float *inputVector1,
|
|
63
|
-
const float *inputVector2,
|
|
64
|
-
float *outputVector,
|
|
65
|
-
size_t numberOfElementsToProcess);
|
|
37
|
+
void multiplyByScalar(const float *inputVector, float scalar, float *outputVector, size_t numberOfElementsToProcess);
|
|
38
|
+
void addScalar(const float *inputVector, float scalar, float *outputVector, size_t numberOfElementsToProcess);
|
|
39
|
+
void add(const float *inputVector1, const float *inputVector2, float *outputVector, size_t numberOfElementsToProcess);
|
|
40
|
+
void subtract(const float *inputVector1, const float *inputVector2, float *outputVector, size_t numberOfElementsToProcess);
|
|
41
|
+
void multiply(const float *inputVector1, const float *inputVector2, float *outputVector, size_t numberOfElementsToProcess);
|
|
66
42
|
|
|
67
43
|
// Finds the maximum magnitude of a float vector.
|
|
68
|
-
float maximumMagnitude(
|
|
69
|
-
const float *inputVector,
|
|
70
|
-
size_t numberOfElementsToProcess);
|
|
44
|
+
float maximumMagnitude(const float *inputVector, size_t numberOfElementsToProcess);
|
|
71
45
|
} // namespace audioapi::VectorMath
|
package/ios/AudioAPIModule.h
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
2
|
-
#import <React/
|
|
3
|
-
#
|
|
4
|
-
#import <React/RCTRuntimeExecutorModule.h>
|
|
5
|
-
#import <ReactCommon/RCTRuntimeExecutor.h>
|
|
6
|
-
#endif // REACT_NATIVE_MINOR_VERSION >= 74
|
|
2
|
+
#import <React/RCTCallInvokerModule.h>
|
|
3
|
+
#import <rnaudioapi/rnaudioapi.h>
|
|
7
4
|
#else // RCT_NEW_ARCH_ENABLED
|
|
8
5
|
#import <React/RCTBridgeModule.h>
|
|
9
6
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
@@ -12,13 +9,8 @@
|
|
|
12
9
|
|
|
13
10
|
@interface AudioAPIModule : RCTEventEmitter
|
|
14
11
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
15
|
-
<
|
|
16
|
-
#if REACT_NATIVE_MINOR_VERSION >= 74
|
|
17
|
-
,
|
|
18
|
-
RCTRuntimeExecutorModule
|
|
19
|
-
#endif // REACT_NATIVE_MINOR_VERSION >= 74
|
|
12
|
+
<RCTCallInvokerModule>
|
|
20
13
|
#else
|
|
21
|
-
<RCTBridgeModule
|
|
14
|
+
<RCTBridgeModule>
|
|
22
15
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
23
|
-
>
|
|
24
16
|
@end
|
package/ios/AudioAPIModule.mm
CHANGED
|
@@ -1,44 +1,45 @@
|
|
|
1
1
|
#import "AudioAPIModule.h"
|
|
2
2
|
|
|
3
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
3
4
|
#import <React/RCTBridge+Private.h>
|
|
4
|
-
#import <React/
|
|
5
|
-
#import <React/RCTUtils.h>
|
|
5
|
+
#import <React/RCTCallInvoker.h>
|
|
6
6
|
#import <ReactCommon/RCTTurboModule.h>
|
|
7
|
-
#
|
|
7
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
8
8
|
|
|
9
9
|
#import "AudioAPIInstallerHostObject.h"
|
|
10
|
-
#import "AudioAPIInstallerWrapper.h"
|
|
11
10
|
|
|
12
11
|
@implementation AudioAPIModule
|
|
13
12
|
|
|
13
|
+
#if defined(RCT_NEW_ARCH_ENABLED)
|
|
14
|
+
// nothing
|
|
15
|
+
#else // defined(RCT_NEW_ARCH_ENABLED)
|
|
16
|
+
@interface RCTBridge (RCTTurboModule)
|
|
17
|
+
- (std::shared_ptr<facebook::react::CallInvoker>)jsCallInvoker;
|
|
18
|
+
- (void)_tryAndHandleError:(dispatch_block_t)block;
|
|
19
|
+
@end
|
|
20
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
21
|
+
|
|
22
|
+
#if defined(RCT_NEW_ARCH_ENABLED)
|
|
23
|
+
@synthesize callInvoker = _callInvoker;
|
|
24
|
+
#endif // defined(RCT_NEW_ARCH_ENABLED)
|
|
25
|
+
|
|
14
26
|
RCT_EXPORT_MODULE(AudioAPIModule)
|
|
15
27
|
|
|
16
28
|
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install)
|
|
17
29
|
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (cxxBridge == nil) {
|
|
22
|
-
NSLog(@"Error during getting bridge!");
|
|
23
|
-
return @false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
using namespace facebook;
|
|
27
|
-
|
|
28
|
-
auto jsRuntime = (jsi::Runtime *)cxxBridge.runtime;
|
|
30
|
+
auto *cxxBridge = reinterpret_cast<RCTCxxBridge *>(self.bridge);
|
|
31
|
+
auto jsiRuntime = reinterpret_cast<facebook::jsi::Runtime *>(cxxBridge.runtime);
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
#if defined(RCT_NEW_ARCH_ENABLED)
|
|
34
|
+
auto jsCallInvoker = _callInvoker.callInvoker;
|
|
35
|
+
#else // defined(RCT_NEW_ARCH_ENABLED)
|
|
36
|
+
auto jsCallInvoker = self.bridge.jsCallInvoker;
|
|
37
|
+
#endif // defined(RCT_NEW_ARCH_ENABLED)
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
assert(jsiRuntime != nullptr);
|
|
36
40
|
|
|
37
|
-
auto
|
|
38
|
-
|
|
39
|
-
std::make_shared<audioapi::AudioAPIInstallerHostObject>(wrapper, jsRuntime, cxxBridge.jsCallInvoker);
|
|
40
|
-
auto object = jsi::Object::createFromHostObject(runtime, hostObject);
|
|
41
|
-
runtime.global().setProperty(runtime, "__AudioAPIInstaller", std::move(object));
|
|
41
|
+
auto hostObject = std::make_shared<audioapi::AudioAPIInstallerHostObject>(jsiRuntime, jsCallInvoker);
|
|
42
|
+
hostObject->install();
|
|
42
43
|
|
|
43
44
|
NSLog(@"Successfully installed JSI bindings for react-native-audio-api!");
|
|
44
45
|
return @true;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#define MINIAUDIO_IMPLEMENTATION
|
|
2
|
+
#import <miniaudio.h>
|
|
3
|
+
|
|
4
|
+
#include <AudioArray.h>
|
|
5
|
+
#include <AudioBus.h>
|
|
6
|
+
#include <AudioDecoder.h>
|
|
7
|
+
|
|
8
|
+
namespace audioapi {
|
|
9
|
+
|
|
10
|
+
AudioBus *AudioDecoder::decodeWithFilePath(const std::string &path) const
|
|
11
|
+
{
|
|
12
|
+
ma_decoder decoder;
|
|
13
|
+
ma_decoder_config config = ma_decoder_config_init(ma_format_f32, 2, sampleRate_);
|
|
14
|
+
ma_result result = ma_decoder_init_file(path.c_str(), &config, &decoder);
|
|
15
|
+
if (result != MA_SUCCESS) {
|
|
16
|
+
NSLog(@"Failed to initialize decoder for file: %s", path.c_str());
|
|
17
|
+
return new AudioBus(1, 1, 1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
ma_uint64 totalFrameCount;
|
|
21
|
+
ma_decoder_get_length_in_pcm_frames(&decoder, &totalFrameCount);
|
|
22
|
+
|
|
23
|
+
auto *audioBus = new AudioBus(sampleRate_, static_cast<int>(totalFrameCount), 2);
|
|
24
|
+
auto *buffer = new float[totalFrameCount * 2];
|
|
25
|
+
|
|
26
|
+
ma_uint64 framesDecoded;
|
|
27
|
+
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
28
|
+
if (framesDecoded == 0) {
|
|
29
|
+
NSLog(@"Failed to decode audio file: %s", path.c_str());
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
for (int i = 0; i < decoder.outputChannels; ++i) {
|
|
33
|
+
float *channelData = audioBus->getChannel(i)->getData();
|
|
34
|
+
|
|
35
|
+
for (ma_uint64 j = 0; j < framesDecoded; ++j) {
|
|
36
|
+
channelData[j] = buffer[j * decoder.outputChannels + i];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
delete[] buffer;
|
|
41
|
+
ma_decoder_uninit(&decoder);
|
|
42
|
+
|
|
43
|
+
return audioBus;
|
|
44
|
+
}
|
|
45
|
+
} // namespace audioapi
|
|
@@ -62,7 +62,8 @@
|
|
|
62
62
|
// which is safer to base our internal AudioBus sizes.
|
|
63
63
|
// Buut no documentation => no guarantee :)
|
|
64
64
|
// If something is crackling when it should play silence, start here 📻
|
|
65
|
-
double maxBufferDuration =
|
|
65
|
+
double maxBufferDuration =
|
|
66
|
+
fmax(0.02, fmax(self.audioSession.IOBufferDuration, self.audioSession.preferredIOBufferDuration));
|
|
66
67
|
return (int)(maxBufferDuration * self.audioSession.sampleRate + 1);
|
|
67
68
|
}
|
|
68
69
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":"AACA,SAASA,cAAc,QAAQ,
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;AACA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAY;IAC/C,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAqB,EACrBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAgB,EAChBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
4
|
+
import AudioBuffer from "./AudioBuffer.js";
|
|
5
|
+
import AudioParam from "./AudioParam.js";
|
|
3
6
|
export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
4
7
|
constructor(context, node) {
|
|
5
8
|
super(context, node);
|
|
9
|
+
this.detune = new AudioParam(node.detune);
|
|
10
|
+
this.playbackRate = new AudioParam(node.playbackRate);
|
|
6
11
|
}
|
|
7
12
|
get buffer() {
|
|
8
13
|
const buffer = this.node.buffer;
|
|
@@ -24,5 +29,17 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
|
|
|
24
29
|
set loop(value) {
|
|
25
30
|
this.node.loop = value;
|
|
26
31
|
}
|
|
32
|
+
get loopStart() {
|
|
33
|
+
return this.node.loopStart;
|
|
34
|
+
}
|
|
35
|
+
set loopStart(value) {
|
|
36
|
+
this.node.loopStart = value;
|
|
37
|
+
}
|
|
38
|
+
get loopEnd() {
|
|
39
|
+
return this.node.loopEnd;
|
|
40
|
+
}
|
|
41
|
+
set loopEnd(value) {
|
|
42
|
+
this.node.loopEnd = value;
|
|
43
|
+
}
|
|
27
44
|
}
|
|
28
45
|
//# sourceMappingURL=AudioBufferSourceNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioBufferSourceNode","constructor","context","node","buffer","loop","value"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":"AACA,OAAOA,wBAAwB,MAAM
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AAErC,eAAe,MAAMC,qBAAqB,SAASH,wBAAwB,CAAC;EAI1EI,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIL,UAAU,CAACI,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIN,UAAU,CAACI,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAA4BG,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIR,WAAW,CAACQ,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACH,IAAI,CAA4BG,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAA4BI,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAA4BI,IAAI,GAAGC,KAAK;EACpD;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAA4BM,SAAS;EACxD;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAA4BM,SAAS,GAAGD,KAAK;EACzD;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAA4BO,OAAO;EACtD;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAA4BO,OAAO,GAAGF,KAAK;EACvD;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseAudioContext","AudioContext","constructor","global","__AudioAPIInstaller","createAudioContext","close","context"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":"AACA,OAAOA,gBAAgB,MAAM,
|
|
1
|
+
{"version":3,"names":["BaseAudioContext","AudioContext","constructor","global","__AudioAPIInstaller","createAudioContext","close","context"],"sourceRoot":"../../../src","sources":["core/AudioContext.ts"],"mappings":";;AACA,OAAOA,gBAAgB,MAAM,uBAAoB;AAEjD,eAAe,MAAMC,YAAY,SAASD,gBAAgB,CAAC;EACzDE,WAAWA,CAAA,EAAG;IACZ,KAAK,CAACC,MAAM,CAACC,mBAAmB,CAACC,kBAAkB,CAAC,CAAC,CAAC;EACxD;EAEAC,KAAKA,CAAA,EAAS;IACX,IAAI,CAACC,OAAO,CAAmBD,KAAK,CAAC,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioNode from "./AudioNode.js";
|
|
4
|
+
export default class AudioDestinationNode extends AudioNode {}
|
|
7
5
|
//# sourceMappingURL=AudioDestinationNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioDestinationNode"
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioDestinationNode"],"sourceRoot":"../../../src","sources":["core/AudioDestinationNode.ts"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,oBAAoB,SAASD,SAAS,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ,
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","AudioNode","constructor","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect"],"sourceRoot":"../../../src","sources":["core/AudioNode.ts"],"mappings":";;AAGA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,eAAe,MAAMC,SAAS,CAAC;EAS7BC,WAAWA,CAACC,OAAyB,EAAEC,IAAgB,EAAE;IACvD,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,cAAc,GAAG,IAAI,CAACD,IAAI,CAACC,cAAc;IAC9C,IAAI,CAACC,eAAe,GAAG,IAAI,CAACF,IAAI,CAACE,eAAe;IAChD,IAAI,CAACC,YAAY,GAAG,IAAI,CAACH,IAAI,CAACG,YAAY;IAC1C,IAAI,CAACC,gBAAgB,GAAG,IAAI,CAACJ,IAAI,CAACI,gBAAgB;IAClD,IAAI,CAACC,qBAAqB,GAAG,IAAI,CAACL,IAAI,CAACK,qBAAqB;EAC9D;EAEOC,OAAOA,CAACN,IAAe,EAAQ;IACpC,IAAI,IAAI,CAACD,OAAO,KAAKC,IAAI,CAACD,OAAO,EAAE;MACjC,MAAM,IAAIH,kBAAkB,CAC1B,qDACF,CAAC;IACH;IAEA,IAAI,CAACI,IAAI,CAACM,OAAO,CAACN,IAAI,CAACA,IAAI,CAAC;EAC9B;EAEOO,UAAUA,CAACP,IAAe,EAAQ;IACvC,IAAI,CAACA,IAAI,CAACO,UAAU,CAACP,IAAI,CAACA,IAAI,CAAC;EACjC;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { RangeError } from "../errors/index.js";
|
|
2
4
|
export default class AudioParam {
|
|
3
5
|
constructor(audioParam) {
|
|
4
6
|
this.audioParam = audioParam;
|
|
@@ -31,5 +33,29 @@ export default class AudioParam {
|
|
|
31
33
|
}
|
|
32
34
|
this.audioParam.exponentialRampToValueAtTime(value, endTime);
|
|
33
35
|
}
|
|
36
|
+
setTargetAtTime(target, startTime, timeConstant) {
|
|
37
|
+
if (startTime < 0) {
|
|
38
|
+
throw new RangeError(`Time must be a finite non-negative number: ${startTime}`);
|
|
39
|
+
}
|
|
40
|
+
this.audioParam.setTargetAtTime(target, startTime, timeConstant);
|
|
41
|
+
}
|
|
42
|
+
setValueCurveAtTime(values, startTime, duration) {
|
|
43
|
+
if (startTime < 0) {
|
|
44
|
+
throw new RangeError(`Time must be a finite non-negative number: ${startTime}`);
|
|
45
|
+
}
|
|
46
|
+
this.audioParam.setValueCurveAtTime(values, startTime, duration);
|
|
47
|
+
}
|
|
48
|
+
cancelScheduledValues(cancelTime) {
|
|
49
|
+
if (cancelTime < 0) {
|
|
50
|
+
throw new RangeError(`Time must be a finite non-negative number: ${cancelTime}`);
|
|
51
|
+
}
|
|
52
|
+
this.audioParam.cancelScheduledValues(cancelTime);
|
|
53
|
+
}
|
|
54
|
+
cancelAndHoldAtTime(cancelTime) {
|
|
55
|
+
if (cancelTime < 0) {
|
|
56
|
+
throw new RangeError(`Time must be a finite non-negative number: ${cancelTime}`);
|
|
57
|
+
}
|
|
58
|
+
this.audioParam.cancelAndHoldAtTime(cancelTime);
|
|
59
|
+
}
|
|
34
60
|
}
|
|
35
61
|
//# sourceMappingURL=AudioParam.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RangeError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":"AACA,SAASA,UAAU,QAAQ,
|
|
1
|
+
{"version":3,"names":["RangeError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":";;AACA,SAASA,UAAU,QAAQ,oBAAW;AAEtC,eAAe,MAAMC,UAAU,CAAC;EAM9BC,WAAWA,CAACC,UAAuB,EAAE;IACnC,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,KAAK,GAAGD,UAAU,CAACC,KAAK;IAC7B,IAAI,CAACC,YAAY,GAAGF,UAAU,CAACE,YAAY;IAC3C,IAAI,CAACC,QAAQ,GAAGH,UAAU,CAACG,QAAQ;IACnC,IAAI,CAACC,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;EACrC;EAEA,IAAWH,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK;EAC9B;EAEA,IAAWA,KAAKA,CAACA,KAAa,EAAE;IAC9B,IAAI,CAACD,UAAU,CAACC,KAAK,GAAGA,KAAK;EAC/B;EAEOI,cAAcA,CAACJ,KAAa,EAAEK,SAAiB,EAAQ;IAC5D,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACK,cAAc,CAACJ,KAAK,EAAEK,SAAS,CAAC;EAClD;EAEOC,uBAAuBA,CAACN,KAAa,EAAEO,OAAe,EAAQ;IACnE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIX,UAAU,CAClB,8CAA8CW,OAAO,EACvD,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACO,uBAAuB,CAACN,KAAK,EAAEO,OAAO,CAAC;EACzD;EAEOC,4BAA4BA,CAACR,KAAa,EAAEO,OAAe,EAAQ;IACxE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIX,UAAU,CAClB,8CAA8CW,OAAO,EACvD,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACS,4BAA4B,CAACR,KAAK,EAAEO,OAAO,CAAC;EAC9D;EAEOE,eAAeA,CACpBC,MAAc,EACdL,SAAiB,EACjBM,YAAoB,EACd;IACN,IAAIN,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACU,eAAe,CAACC,MAAM,EAAEL,SAAS,EAAEM,YAAY,CAAC;EAClE;EAEOC,mBAAmBA,CACxBC,MAAgB,EAChBR,SAAiB,EACjBS,QAAgB,EACV;IACN,IAAIT,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIT,UAAU,CAClB,8CAA8CS,SAAS,EACzD,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACa,mBAAmB,CAACC,MAAM,EAAER,SAAS,EAAES,QAAQ,CAAC;EAClE;EAEOC,qBAAqBA,CAACC,UAAkB,EAAQ;IACrD,IAAIA,UAAU,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIpB,UAAU,CAClB,8CAA8CoB,UAAU,EAC1D,CAAC;IACH;IAEA,IAAI,CAACjB,UAAU,CAACgB,qBAAqB,CAACC,UAAU,CAAC;EACnD;EAEOC,mBAAmBA,CAACD,UAAkB,EAAQ;IACnD,IAAIA,UAAU,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIpB,UAAU,CAClB,8CAA8CoB,UAAU,EAC1D,CAAC;IACH;IAEA,IAAI,CAACjB,UAAU,CAACkB,mBAAmB,CAACD,UAAU,CAAC;EACjD;AACF","ignoreList":[]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioNode from "./AudioNode.js";
|
|
4
|
+
import { InvalidStateError, RangeError } from "../errors/index.js";
|
|
3
5
|
export default class AudioScheduledSourceNode extends AudioNode {
|
|
4
6
|
hasBeenStarted = false;
|
|
5
|
-
constructor(context, node) {
|
|
6
|
-
super(context, node);
|
|
7
|
-
}
|
|
8
7
|
start(when = 0) {
|
|
9
8
|
if (when < 0) {
|
|
10
9
|
throw new RangeError(`Time must be a finite non-negative number: ${when}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","
|
|
1
|
+
{"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop"],"sourceRoot":"../../../src","sources":["core/AudioScheduledSourceNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,wBAAwB,SAASH,SAAS,CAAC;EACtDI,cAAc,GAAY,KAAK;EAEhCC,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAQ;IACnC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIJ,UAAU,CAClB,8CAA8CI,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACF,cAAc,EAAE;MACvB,MAAM,IAAIH,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACG,cAAc,GAAG,IAAI;IACzB,IAAI,CAACG,IAAI,CAA+BF,KAAK,CAACC,IAAI,CAAC;EACtD;EAEOE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIJ,UAAU,CAClB,8CAA8CI,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MACxB,MAAM,IAAIH,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACM,IAAI,CAA+BC,IAAI,CAACF,IAAI,CAAC;EACrD;AACF","ignoreList":[]}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioDestinationNode from "./AudioDestinationNode.js";
|
|
4
|
+
import OscillatorNode from "./OscillatorNode.js";
|
|
5
|
+
import GainNode from "./GainNode.js";
|
|
6
|
+
import StereoPannerNode from "./StereoPannerNode.js";
|
|
7
|
+
import BiquadFilterNode from "./BiquadFilterNode.js";
|
|
8
|
+
import AudioBufferSourceNode from "./AudioBufferSourceNode.js";
|
|
9
|
+
import AudioBuffer from "./AudioBuffer.js";
|
|
10
|
+
import PeriodicWave from "./PeriodicWave.js";
|
|
11
|
+
import { InvalidAccessError } from "../errors/index.js";
|
|
10
12
|
export default class BaseAudioContext {
|
|
11
13
|
constructor(context) {
|
|
12
14
|
this.context = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","InvalidAccessError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","RangeError","createPeriodicWave","real","imag","constraints","disableNormalization","decodeAudioDataSource","sourcePath","buffer"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"AAEA,OAAOA,oBAAoB,MAAM,
|
|
1
|
+
{"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","InvalidAccessError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","RangeError","createPeriodicWave","real","imag","constraints","disableNormalization","decodeAudioDataSource","sourcePath","buffer"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { InvalidAccessError } from "../errors/index.js";
|
|
4
|
+
import AudioNode from "./AudioNode.js";
|
|
5
|
+
import AudioParam from "./AudioParam.js";
|
|
4
6
|
export default class BiquadFilterNode extends AudioNode {
|
|
5
7
|
constructor(context, biquadFilter) {
|
|
6
8
|
super(context, biquadFilter);
|
|
@@ -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,
|
|
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;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,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,cAAwB,EACxBC,iBAA2B,EAC3BC,mBAA6B,EAC7B;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIlB,kBAAkB,CAC1B,8DAA8De,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,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioNode from "./AudioNode.js";
|
|
4
|
+
import AudioParam from "./AudioParam.js";
|
|
3
5
|
export default class GainNode extends AudioNode {
|
|
4
6
|
constructor(context, gain) {
|
|
5
7
|
super(context, gain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":"AACA,OAAOA,SAAS,MAAM,
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","GainNode","constructor","context","gain"],"sourceRoot":"../../../src","sources":["core/GainNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,QAAQ,SAASF,SAAS,CAAC;EAG9CG,WAAWA,CAACC,OAAyB,EAAEC,IAAe,EAAE;IACtD,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACA,IAAI,GAAG,IAAIJ,UAAU,CAACI,IAAI,CAACA,IAAI,CAAC;EACvC;AACF","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
|
|
4
|
+
import AudioParam from "./AudioParam.js";
|
|
5
|
+
import { InvalidStateError } from "../errors/index.js";
|
|
4
6
|
export default class OscillatorNode extends AudioScheduledSourceNode {
|
|
5
7
|
constructor(context, node) {
|
|
6
8
|
super(context, node);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","node","frequency","detune","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":"AAEA,OAAOA,wBAAwB,MAAM
|
|
1
|
+
{"version":3,"names":["AudioScheduledSourceNode","AudioParam","InvalidStateError","OscillatorNode","constructor","context","node","frequency","detune","type","value","setPeriodicWave","wave","periodicWave"],"sourceRoot":"../../../src","sources":["core/OscillatorNode.ts"],"mappings":";;AAEA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AAGrC,SAASC,iBAAiB,QAAQ,oBAAW;AAE7C,eAAe,MAAMC,cAAc,SAASH,wBAAwB,CAAC;EAInEI,WAAWA,CAACC,OAAyB,EAAEC,IAAqB,EAAE;IAC5D,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IACpB,IAAI,CAACC,SAAS,GAAG,IAAIN,UAAU,CAACK,IAAI,CAACC,SAAS,CAAC;IAC/C,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACK,IAAI,CAACE,MAAM,CAAC;IACzC,IAAI,CAACC,IAAI,GAAGH,IAAI,CAACG,IAAI;EACvB;EAEA,IAAWA,IAAIA,CAAA,EAAmB;IAChC,OAAQ,IAAI,CAACH,IAAI,CAAqBG,IAAI;EAC5C;EAEA,IAAWA,IAAIA,CAACC,KAAqB,EAAE;IACrC,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB,MAAM,IAAIR,iBAAiB,CACzB,uGACF,CAAC;IACH;IAEC,IAAI,CAACI,IAAI,CAAqBG,IAAI,GAAGC,KAAK;EAC7C;EAEOC,eAAeA,CAACC,IAAkB,EAAQ;IAC9C,IAAI,CAACN,IAAI,CAAqBK,eAAe,CAACC,IAAI,CAACC,YAAY,CAAC;EACnE;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PeriodicWave","constructor","periodicWave"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":"AAEA,eAAe,MAAMA,YAAY,CAAC;EAChC;;EAGAC,WAAWA,CAACC,YAA2B,EAAE;IACvC,IAAI,CAACA,YAAY,GAAGA,YAAY;EAClC;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PeriodicWave","constructor","periodicWave"],"sourceRoot":"../../../src","sources":["core/PeriodicWave.ts"],"mappings":";;AAEA,eAAe,MAAMA,YAAY,CAAC;EAChC;;EAGAC,WAAWA,CAACC,YAA2B,EAAE;IACvC,IAAI,CAACA,YAAY,GAAGA,YAAY;EAClC;AACF","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AudioNode from "./AudioNode.js";
|
|
4
|
+
import AudioParam from "./AudioParam.js";
|
|
3
5
|
export default class StereoPannerNode extends AudioNode {
|
|
4
6
|
constructor(context, pan) {
|
|
5
7
|
super(context, pan);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":"AACA,OAAOA,SAAS,MAAM,
|
|
1
|
+
{"version":3,"names":["AudioNode","AudioParam","StereoPannerNode","constructor","context","pan"],"sourceRoot":"../../../src","sources":["core/StereoPannerNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAGtDG,WAAWA,CAACC,OAAyB,EAAEC,GAAsB,EAAE;IAC7D,KAAK,CAACD,OAAO,EAAEC,GAAG,CAAC;IACnB,IAAI,CAACA,GAAG,GAAG,IAAIJ,UAAU,CAACI,GAAG,CAACA,GAAG,CAAC;EACpC;AACF","ignoreList":[]}
|
package/lib/module/core/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
//# sourceMappingURL=types.js.map
|