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.
Files changed (197) hide show
  1. package/RNAudioAPI.podspec +40 -29
  2. package/android/CMakeLists.txt +17 -21
  3. package/android/build.gradle +26 -9
  4. package/android/src/main/cpp/OnLoad.cpp +1 -1
  5. package/android/src/main/cpp/core/AudioAPIInstaller.cpp +37 -0
  6. package/android/src/main/cpp/{AudioAPIInstaller → core}/AudioAPIInstaller.h +5 -16
  7. package/android/src/main/cpp/{AudioDecoder → core}/AudioDecoder.cpp +0 -8
  8. package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +2 -0
  9. package/android/src/main/java/com/swmansion/audioapi/nativemodules/AudioAPIModule.kt +6 -4
  10. package/common/cpp/HostObjects/AudioAPIInstallerHostObject.h +48 -0
  11. package/common/cpp/HostObjects/AudioBufferHostObject.h +79 -13
  12. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.h +93 -14
  13. package/common/cpp/HostObjects/AudioContextHostObject.h +10 -21
  14. package/common/cpp/HostObjects/AudioDestinationNodeHostObject.h +3 -16
  15. package/common/cpp/HostObjects/AudioNodeHostObject.h +48 -11
  16. package/common/cpp/HostObjects/AudioParamHostObject.h +93 -14
  17. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.h +23 -16
  18. package/common/cpp/HostObjects/BaseAudioContextHostObject.h +131 -14
  19. package/common/cpp/HostObjects/BiquadFilterNodeHostObject.h +76 -18
  20. package/common/cpp/HostObjects/GainNodeHostObject.h +10 -15
  21. package/common/cpp/HostObjects/OscillatorNodeHostObject.h +40 -17
  22. package/common/cpp/HostObjects/PeriodicWaveHostObject.h +4 -17
  23. package/common/cpp/HostObjects/StereoPannerNodeHostObject.h +10 -17
  24. package/common/cpp/core/AudioBufferSourceNode.cpp +181 -73
  25. package/common/cpp/core/AudioBufferSourceNode.h +41 -1
  26. package/{android/src/main/cpp/AudioDecoder → common/cpp/core}/AudioDecoder.h +1 -3
  27. package/common/cpp/core/AudioDestinationNode.h +1 -1
  28. package/common/cpp/core/AudioParam.cpp +218 -58
  29. package/common/cpp/core/AudioParam.h +19 -15
  30. package/common/cpp/core/AudioScheduledSourceNode.cpp +94 -21
  31. package/common/cpp/core/AudioScheduledSourceNode.h +16 -5
  32. package/common/cpp/core/BaseAudioContext.cpp +3 -13
  33. package/common/cpp/core/BaseAudioContext.h +2 -4
  34. package/common/cpp/core/BiquadFilterNode.cpp +5 -7
  35. package/common/cpp/{HostObjects → core}/Constants.h +2 -2
  36. package/common/cpp/core/GainNode.cpp +1 -1
  37. package/common/cpp/core/OscillatorNode.cpp +11 -5
  38. package/common/cpp/core/ParamChangeEvent.cpp +58 -0
  39. package/common/cpp/core/{ParamChange.h → ParamChangeEvent.h} +11 -5
  40. package/common/cpp/core/StereoPannerNode.cpp +1 -1
  41. package/common/cpp/jsi/JsiHostObject.cpp +90 -0
  42. package/common/cpp/jsi/JsiHostObject.h +100 -0
  43. package/common/cpp/{utils → jsi}/JsiPromise.cpp +10 -9
  44. package/common/cpp/jsi/JsiPromise.h +48 -0
  45. package/common/cpp/jsi/RuntimeAwareCache.h +57 -0
  46. package/common/cpp/jsi/RuntimeLifecycleMonitor.cpp +61 -0
  47. package/common/cpp/jsi/RuntimeLifecycleMonitor.h +32 -0
  48. package/common/cpp/types/BiquadFilterType.h +0 -4
  49. package/common/cpp/types/ChannelCountMode.h +0 -3
  50. package/common/cpp/types/ChannelInterpretation.h +0 -3
  51. package/common/cpp/types/ContextState.h +0 -3
  52. package/common/cpp/types/OscillatorType.h +0 -4
  53. package/common/cpp/types/ParamChangeEventType.h +13 -0
  54. package/common/cpp/utils/AudioUtils.cpp +26 -0
  55. package/common/cpp/utils/AudioUtils.h +12 -0
  56. package/common/cpp/utils/{ios/FFTFrame.cpp → FFTFrame.cpp} +30 -3
  57. package/common/cpp/utils/VectorMath.h +7 -33
  58. package/ios/AudioAPIModule.h +4 -12
  59. package/ios/AudioAPIModule.mm +26 -25
  60. package/ios/core/AudioDecoder.mm +45 -0
  61. package/ios/{AudioPlayer → core}/AudioPlayer.m +2 -1
  62. package/lib/module/core/AudioBuffer.js +3 -1
  63. package/lib/module/core/AudioBuffer.js.map +1 -1
  64. package/lib/module/core/AudioBufferSourceNode.js +19 -2
  65. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  66. package/lib/module/core/AudioContext.js +3 -1
  67. package/lib/module/core/AudioContext.js.map +1 -1
  68. package/lib/module/core/AudioDestinationNode.js +4 -6
  69. package/lib/module/core/AudioDestinationNode.js.map +1 -1
  70. package/lib/module/core/AudioNode.js +3 -1
  71. package/lib/module/core/AudioNode.js.map +1 -1
  72. package/lib/module/core/AudioParam.js +27 -1
  73. package/lib/module/core/AudioParam.js.map +1 -1
  74. package/lib/module/core/AudioScheduledSourceNode.js +4 -5
  75. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  76. package/lib/module/core/BaseAudioContext.js +11 -9
  77. package/lib/module/core/BaseAudioContext.js.map +1 -1
  78. package/lib/module/core/BiquadFilterNode.js +5 -3
  79. package/lib/module/core/BiquadFilterNode.js.map +1 -1
  80. package/lib/module/core/GainNode.js +4 -2
  81. package/lib/module/core/GainNode.js.map +1 -1
  82. package/lib/module/core/OscillatorNode.js +5 -3
  83. package/lib/module/core/OscillatorNode.js.map +1 -1
  84. package/lib/module/core/PeriodicWave.js +2 -0
  85. package/lib/module/core/PeriodicWave.js.map +1 -1
  86. package/lib/module/core/StereoPannerNode.js +4 -2
  87. package/lib/module/core/StereoPannerNode.js.map +1 -1
  88. package/lib/module/core/types.js +1 -1
  89. package/lib/module/errors/IndexSizeError.js +2 -0
  90. package/lib/module/errors/IndexSizeError.js.map +1 -1
  91. package/lib/module/errors/InvalidAccessError.js +2 -0
  92. package/lib/module/errors/InvalidAccessError.js.map +1 -1
  93. package/lib/module/errors/InvalidStateError.js +2 -0
  94. package/lib/module/errors/InvalidStateError.js.map +1 -1
  95. package/lib/module/errors/RangeError.js +2 -0
  96. package/lib/module/errors/RangeError.js.map +1 -1
  97. package/lib/module/errors/index.js +6 -4
  98. package/lib/module/errors/index.js.map +1 -1
  99. package/lib/module/index.js +35 -10
  100. package/lib/module/index.js.map +1 -1
  101. package/lib/module/index.native.js +16 -14
  102. package/lib/module/index.native.js.map +1 -1
  103. package/lib/module/interfaces.js +2 -0
  104. package/lib/module/specs/global.d.js +4 -0
  105. package/lib/module/{modules → specs}/global.d.js.map +1 -1
  106. package/lib/module/{utils → specs}/install.js +5 -9
  107. package/lib/module/specs/install.js.map +1 -0
  108. package/lib/typescript/core/AudioBuffer.d.ts +2 -0
  109. package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
  110. package/lib/typescript/core/AudioBufferSourceNode.d.ts +7 -0
  111. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  112. package/lib/typescript/core/AudioDestinationNode.d.ts +0 -3
  113. package/lib/typescript/core/AudioDestinationNode.d.ts.map +1 -1
  114. package/lib/typescript/core/AudioParam.d.ts +4 -0
  115. package/lib/typescript/core/AudioParam.d.ts.map +1 -1
  116. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +0 -3
  117. package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
  118. package/lib/typescript/core/PeriodicWave.d.ts +2 -0
  119. package/lib/typescript/core/PeriodicWave.d.ts.map +1 -1
  120. package/lib/typescript/index.d.ts +13 -3
  121. package/lib/typescript/index.d.ts.map +1 -1
  122. package/lib/typescript/interfaces.d.ts +8 -0
  123. package/lib/typescript/interfaces.d.ts.map +1 -1
  124. package/lib/typescript/{utils → specs}/install.d.ts.map +1 -1
  125. package/metro-config/index.d.ts +5 -0
  126. package/metro-config/index.js +41 -0
  127. package/metro-config/tsconfig.json +3 -0
  128. package/package.json +50 -16
  129. package/scripts/audioapi_utils.rb +56 -0
  130. package/src/core/AudioBufferSourceNode.ts +23 -0
  131. package/src/core/AudioDestinationNode.ts +1 -7
  132. package/src/core/AudioParam.ts +48 -0
  133. package/src/core/AudioScheduledSourceNode.ts +0 -5
  134. package/src/index.native.ts +1 -1
  135. package/src/index.ts +54 -13
  136. package/src/interfaces.ts +17 -0
  137. package/src/{modules → specs}/global.d.ts +2 -0
  138. package/src/{utils → specs}/install.ts +4 -11
  139. package/android/src/main/cpp/AudioAPIInstaller/AudioAPIInstaller.cpp +0 -26
  140. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.cpp +0 -58
  141. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.h +0 -51
  142. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerWrapper.h +0 -38
  143. package/common/cpp/AudioAPIInstaller/android/AudioAPIInstallerWrapper.cpp +0 -16
  144. package/common/cpp/AudioAPIInstaller/ios/AudioAPIInstallerWrapper.cpp +0 -12
  145. package/common/cpp/HostObjects/AudioBufferHostObject.cpp +0 -150
  146. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.cpp +0 -79
  147. package/common/cpp/HostObjects/AudioContextHostObject.cpp +0 -55
  148. package/common/cpp/HostObjects/AudioDestinationNodeHostObject.cpp +0 -33
  149. package/common/cpp/HostObjects/AudioNodeHostObject.cpp +0 -102
  150. package/common/cpp/HostObjects/AudioParamHostObject.cpp +0 -115
  151. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.cpp +0 -73
  152. package/common/cpp/HostObjects/BaseAudioContextHostObject.cpp +0 -250
  153. package/common/cpp/HostObjects/BiquadFilterNodeHostObject.cpp +0 -125
  154. package/common/cpp/HostObjects/GainNodeHostObject.cpp +0 -41
  155. package/common/cpp/HostObjects/OscillatorNodeHostObject.cpp +0 -88
  156. package/common/cpp/HostObjects/PeriodicWaveHostObject.cpp +0 -33
  157. package/common/cpp/HostObjects/StereoPannerNodeHostObject.cpp +0 -41
  158. package/common/cpp/core/ParamChange.cpp +0 -46
  159. package/common/cpp/utils/JsiPromise.h +0 -48
  160. package/common/cpp/utils/android/FFTFrame.cpp +0 -23
  161. package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.cpp +0 -45
  162. package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.h +0 -26
  163. package/common/cpp/wrappers/AudioBufferWrapper.cpp +0 -46
  164. package/common/cpp/wrappers/AudioBufferWrapper.h +0 -30
  165. package/common/cpp/wrappers/AudioContextWrapper.cpp +0 -17
  166. package/common/cpp/wrappers/AudioContextWrapper.h +0 -19
  167. package/common/cpp/wrappers/AudioDestinationNodeWrapper.h +0 -16
  168. package/common/cpp/wrappers/AudioNodeWrapper.cpp +0 -37
  169. package/common/cpp/wrappers/AudioNodeWrapper.h +0 -25
  170. package/common/cpp/wrappers/AudioParamWrapper.cpp +0 -42
  171. package/common/cpp/wrappers/AudioParamWrapper.h +0 -25
  172. package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.cpp +0 -23
  173. package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.h +0 -23
  174. package/common/cpp/wrappers/BaseAudioContextWrapper.cpp +0 -83
  175. package/common/cpp/wrappers/BaseAudioContextWrapper.h +0 -51
  176. package/common/cpp/wrappers/BiquadFilterNodeWrapper.cpp +0 -60
  177. package/common/cpp/wrappers/BiquadFilterNodeWrapper.h +0 -37
  178. package/common/cpp/wrappers/GainNodeWrapper.cpp +0 -14
  179. package/common/cpp/wrappers/GainNodeWrapper.h +0 -20
  180. package/common/cpp/wrappers/OscillatorNodeWrapper.cpp +0 -44
  181. package/common/cpp/wrappers/OscillatorNodeWrapper.h +0 -31
  182. package/common/cpp/wrappers/PeriodicWaveWrapper.h +0 -17
  183. package/common/cpp/wrappers/StereoPannerNodeWrapper.cpp +0 -16
  184. package/common/cpp/wrappers/StereoPannerNodeWrapper.h +0 -21
  185. package/ios/AudioDecoder/AudioDecoder.h +0 -17
  186. package/ios/AudioDecoder/AudioDecoder.m +0 -80
  187. package/ios/AudioDecoder/IOSAudioDecoder.h +0 -28
  188. package/ios/AudioDecoder/IOSAudioDecoder.mm +0 -46
  189. package/lib/module/modules/global.d.js +0 -2
  190. package/lib/module/utils/install.js.map +0 -1
  191. /package/android/src/main/cpp/{AudioPlayer → core}/AudioPlayer.cpp +0 -0
  192. /package/android/src/main/cpp/{AudioPlayer → core}/AudioPlayer.h +0 -0
  193. /package/{android/libs/include → common/cpp/libs}/miniaudio.h +0 -0
  194. /package/ios/{AudioPlayer → core}/AudioPlayer.h +0 -0
  195. /package/ios/{AudioPlayer → core}/IOSAudioPlayer.h +0 -0
  196. /package/ios/{AudioPlayer → core}/IOSAudioPlayer.mm +0 -0
  197. /package/lib/typescript/{utils → specs}/install.d.ts +0 -0
@@ -1,44 +0,0 @@
1
- #include "OscillatorNodeWrapper.h"
2
-
3
- namespace audioapi {
4
-
5
- std::shared_ptr<OscillatorNode>
6
- OscillatorNodeWrapper::getOscillatorNodeFromAudioNode() {
7
- return std::static_pointer_cast<OscillatorNode>(node_);
8
- }
9
-
10
- OscillatorNodeWrapper::OscillatorNodeWrapper(
11
- const std::shared_ptr<OscillatorNode> &oscillator)
12
- : AudioScheduledSourceNodeWrapper(oscillator) {
13
- auto frequencyParam = oscillator->getFrequencyParam();
14
- frequencyParam_ = std::make_shared<AudioParamWrapper>(frequencyParam);
15
- auto detuneParam = oscillator->getDetuneParam();
16
- detuneParam_ = std::make_shared<AudioParamWrapper>(detuneParam);
17
- }
18
-
19
- std::shared_ptr<AudioParamWrapper> OscillatorNodeWrapper::getFrequencyParam()
20
- const {
21
- return frequencyParam_;
22
- }
23
-
24
- std::shared_ptr<AudioParamWrapper> OscillatorNodeWrapper::getDetuneParam()
25
- const {
26
- return detuneParam_;
27
- }
28
-
29
- std::string OscillatorNodeWrapper::getType() {
30
- auto oscillatorNode_ = getOscillatorNodeFromAudioNode();
31
- return oscillatorNode_->getType();
32
- }
33
-
34
- void OscillatorNodeWrapper::setType(const std::string &type) {
35
- auto oscillatorNode_ = getOscillatorNodeFromAudioNode();
36
- oscillatorNode_->setType(type);
37
- }
38
-
39
- void OscillatorNodeWrapper::setPeriodicWave(
40
- const std::shared_ptr<PeriodicWaveWrapper> &periodicWave) {
41
- auto oscillatorNode_ = getOscillatorNodeFromAudioNode();
42
- oscillatorNode_->setPeriodicWave(periodicWave->periodicWave_);
43
- }
44
- } // namespace audioapi
@@ -1,31 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include "AudioParamWrapper.h"
7
- #include "AudioScheduledSourceNodeWrapper.h"
8
- #include "OscillatorNode.h"
9
- #include "PeriodicWaveWrapper.h"
10
-
11
- namespace audioapi {
12
-
13
- class OscillatorNodeWrapper : public AudioScheduledSourceNodeWrapper {
14
- public:
15
- explicit OscillatorNodeWrapper(
16
- const std::shared_ptr<OscillatorNode> &oscillatorNode);
17
-
18
- [[nodiscard]] std::shared_ptr<AudioParamWrapper> getFrequencyParam() const;
19
- [[nodiscard]] std::shared_ptr<AudioParamWrapper> getDetuneParam() const;
20
- std::string getType();
21
- void setType(const std::string &type);
22
- void setPeriodicWave(
23
- const std::shared_ptr<PeriodicWaveWrapper> &periodicWave);
24
-
25
- private:
26
- std::shared_ptr<AudioParamWrapper> frequencyParam_;
27
- std::shared_ptr<AudioParamWrapper> detuneParam_;
28
-
29
- std::shared_ptr<OscillatorNode> getOscillatorNodeFromAudioNode();
30
- };
31
- } // namespace audioapi
@@ -1,17 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "PeriodicWave.h"
6
-
7
- namespace audioapi {
8
-
9
- class PeriodicWaveWrapper {
10
- public:
11
- explicit PeriodicWaveWrapper(
12
- const std::shared_ptr<PeriodicWave> &periodicWave)
13
- : periodicWave_(periodicWave) {}
14
-
15
- std::shared_ptr<PeriodicWave> periodicWave_;
16
- };
17
- } // namespace audioapi
@@ -1,16 +0,0 @@
1
- #include "StereoPannerNodeWrapper.h"
2
-
3
- namespace audioapi {
4
-
5
- StereoPannerNodeWrapper::StereoPannerNodeWrapper(
6
- const std::shared_ptr<StereoPannerNode> &stereoPannerNode)
7
- : AudioNodeWrapper(stereoPannerNode) {
8
- auto panParam = stereoPannerNode->getPanParam();
9
- panParam_ = std::make_shared<AudioParamWrapper>(panParam);
10
- }
11
-
12
- std::shared_ptr<AudioParamWrapper> StereoPannerNodeWrapper::getPanParam()
13
- const {
14
- return panParam_;
15
- }
16
- } // namespace audioapi
@@ -1,21 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
-
5
- #include "AudioNodeWrapper.h"
6
- #include "AudioParamWrapper.h"
7
- #include "StereoPannerNode.h"
8
-
9
- namespace audioapi {
10
-
11
- class StereoPannerNodeWrapper : public AudioNodeWrapper {
12
- public:
13
- explicit StereoPannerNodeWrapper(
14
- const std::shared_ptr<StereoPannerNode> &stereoPannerNode);
15
-
16
- [[nodiscard]] std::shared_ptr<AudioParamWrapper> getPanParam() const;
17
-
18
- private:
19
- std::shared_ptr<AudioParamWrapper> panParam_;
20
- };
21
- } // namespace audioapi
@@ -1,17 +0,0 @@
1
- #pragma once
2
-
3
- #import <AVFoundation/AVFoundation.h>
4
- #import <Foundation/Foundation.h>
5
-
6
- @interface AudioDecoder : NSObject
7
-
8
- @property (nonatomic, strong) AVAudioPCMBuffer *buffer;
9
- @property (nonatomic, assign) int sampleRate;
10
-
11
- - (instancetype)initWithSampleRate:(int)sampleRate;
12
-
13
- - (const AudioBufferList *)decodeWithFile:(NSString *)path;
14
-
15
- - (void)cleanup;
16
-
17
- @end
@@ -1,80 +0,0 @@
1
- #import <AudioDecoder.h>
2
-
3
- @implementation AudioDecoder
4
-
5
- - (instancetype)initWithSampleRate:(int)sampleRate
6
- {
7
- if (self = [super init]) {
8
- self.sampleRate = sampleRate;
9
- }
10
- return self;
11
- }
12
-
13
- - (const AudioBufferList *)decodeWithFile:(NSString *)path
14
- {
15
- NSError *error = nil;
16
- NSURL *fileURL = [NSURL fileURLWithPath:path];
17
- AVAudioFile *audioFile = [[AVAudioFile alloc] initForReading:fileURL error:&error];
18
-
19
- if (error) {
20
- NSLog(@"Error occurred while opening the audio file: %@", [error localizedDescription]);
21
- return nil;
22
- }
23
- AVAudioPCMBuffer *buffer = [[AVAudioPCMBuffer alloc] initWithPCMFormat:[audioFile processingFormat]
24
- frameCapacity:[audioFile length]];
25
-
26
- AVAudioFormat *format = [[AVAudioFormat alloc] initWithCommonFormat:AVAudioPCMFormatFloat32
27
- sampleRate:self.sampleRate
28
- channels:buffer.audioBufferList->mNumberBuffers
29
- interleaved:NO];
30
-
31
- [audioFile readIntoBuffer:buffer error:&error];
32
- if (error) {
33
- NSLog(@"Error occurred while reading the audio file: %@", [error localizedDescription]);
34
- return nil;
35
- }
36
-
37
- if (self.sampleRate != audioFile.processingFormat.sampleRate) {
38
- self.buffer = [self convertBuffer:buffer ToFormat:format];
39
- } else {
40
- self.buffer = buffer;
41
- }
42
-
43
- return self.buffer.audioBufferList;
44
- }
45
-
46
- - (AVAudioPCMBuffer *)convertBuffer:(AVAudioPCMBuffer *)buffer ToFormat:(AVAudioFormat *)format
47
- {
48
- NSError *error = nil;
49
- AVAudioConverter *converter = [[AVAudioConverter alloc] initFromFormat:buffer.format toFormat:format];
50
- AVAudioPCMBuffer *convertedBuffer =
51
- [[AVAudioPCMBuffer alloc] initWithPCMFormat:format frameCapacity:(AVAudioFrameCount)buffer.frameCapacity];
52
-
53
- AVAudioConverterInputBlock inputBlock =
54
- ^AVAudioBuffer *(AVAudioPacketCount inNumberOfPackets, AVAudioConverterInputStatus *outStatus)
55
- {
56
- if (buffer.frameLength > 0) {
57
- *outStatus = AVAudioConverterInputStatus_HaveData;
58
- return buffer;
59
- } else {
60
- *outStatus = AVAudioConverterInputStatus_NoDataNow;
61
- return nil;
62
- }
63
- };
64
-
65
- [converter convertToBuffer:convertedBuffer error:&error withInputFromBlock:inputBlock];
66
-
67
- if (error) {
68
- NSLog(@"Error occurred while converting the audio file: %@", [error localizedDescription]);
69
- return nil;
70
- }
71
-
72
- return convertedBuffer;
73
- }
74
-
75
- - (void)cleanup
76
- {
77
- self.buffer = nil;
78
- }
79
-
80
- @end
@@ -1,28 +0,0 @@
1
- #pragma once
2
-
3
- #include <string>
4
-
5
- #ifdef __OBJC__ // when compiled as Objective-C++
6
- #import <AudioDecoder.h>
7
- #else // when compiled as C++
8
- typedef struct objc_object AudioDecoder;
9
- #endif // __OBJC__
10
-
11
- namespace audioapi {
12
-
13
- class AudioBus;
14
-
15
- class IOSAudioDecoder {
16
- protected:
17
- AudioDecoder *audioDecoder_;
18
- int sampleRate_;
19
-
20
- public:
21
- IOSAudioDecoder(int sampleRate);
22
- ~IOSAudioDecoder();
23
-
24
- AudioBus *decodeWithFilePath(const std::string &path);
25
- // TODO: implement this
26
- AudioBus *decodeWithArrayBuffer();
27
- };
28
- } // namespace audioapi
@@ -1,46 +0,0 @@
1
- #import <AVFoundation/AVFoundation.h>
2
-
3
- #include <AudioArray.h>
4
- #include <AudioBus.h>
5
- #include <IOSAudioDecoder.h>
6
-
7
- namespace audioapi {
8
-
9
- IOSAudioDecoder::IOSAudioDecoder(int sampleRate) : sampleRate_(sampleRate)
10
- {
11
- audioDecoder_ = [[AudioDecoder alloc] initWithSampleRate:sampleRate_];
12
- }
13
-
14
- IOSAudioDecoder::~IOSAudioDecoder()
15
- {
16
- [audioDecoder_ cleanup];
17
- audioDecoder_ = nullptr;
18
- }
19
-
20
- AudioBus *IOSAudioDecoder::decodeWithFilePath(const std::string &path)
21
- {
22
- auto bufferList = [audioDecoder_ decodeWithFile:[NSString stringWithUTF8String:path.c_str()]];
23
- AudioBus *audioBus;
24
- if (bufferList) {
25
- auto numberOfChannels = bufferList->mNumberBuffers;
26
- auto size = bufferList->mBuffers[0].mDataByteSize / sizeof(float);
27
-
28
- audioBus = new AudioBus(sampleRate_, size, numberOfChannels);
29
-
30
- for (int i = 0; i < numberOfChannels; i++) {
31
- float *data = (float *)bufferList->mBuffers[i].mData;
32
- memcpy(audioBus->getChannel(i)->getData(), data, sizeof(float) * size);
33
- }
34
- } else {
35
- audioBus = new AudioBus(sampleRate_, 1, 1);
36
- }
37
-
38
- return audioBus;
39
- }
40
-
41
- AudioBus *IOSAudioDecoder::decodeWithArrayBuffer()
42
- {
43
- // TODO: implement his
44
- return new AudioBus(sampleRate_, 1, 1);
45
- }
46
- } // namespace audioapi
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=global.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["TurboModuleRegistry","installModule","AudioAPIModule","getEnforcing","Error","runInstall","verifyInstallation","Module","result","install","global","__AudioAPIInstaller"],"sourceRoot":"../../../src","sources":["utils/install.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAAqB,cAAc;AAM/D,OAAO,SAASC,aAAaA,CAAA,EAAG;EAC9B,MAAMC,cAAc,GAClBF,mBAAmB,CAACG,YAAY,CAAqB,gBAAgB,CAAC;EAExE,IAAID,cAAc,IAAI,IAAI,EAAE;IAC1B,MAAM,IAAIE,KAAK,CACb,iFACF,CAAC;EACH;EAEAC,UAAU,CAACH,cAAc,CAAC;EAC1BI,kBAAkB,CAAC,CAAC;EAEpB,OAAOJ,cAAc;AACvB;AAEA,SAASG,UAAUA,CAACE,MAAW,EAAE;EAC/B,MAAMC,MAAM,GAAGD,MAAM,CAACE,OAAO,CAAC,CAAC;EAE/B,IAAID,MAAM,KAAK,IAAI,EAAE;IACnB,MAAM,IAAIJ,KAAK,CACb,+JAA+JI,MAAM,EACvK,CAAC;EACH;AACF;AAEA,SAASF,kBAAkBA,CAAA,EAAG;EAC5B,IAAII,MAAM,CAACC,mBAAmB,IAAI,IAAI,EAAE;IACtC,MAAM,IAAIP,KAAK,CACb,sJACF,CAAC;EACH;AACF","ignoreList":[]}
File without changes
File without changes
File without changes
File without changes