react-native-audio-api 0.3.0-rc2 → 0.3.1

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 (89) hide show
  1. package/android/CMakeLists.txt +2 -2
  2. package/android/src/main/cpp/AudioAPIInstaller/AudioAPIInstaller.cpp +3 -9
  3. package/android/src/main/cpp/AudioAPIInstaller/AudioAPIInstaller.h +0 -2
  4. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.h +25 -28
  5. package/common/cpp/HostObjects/AudioBufferHostObject.h +79 -13
  6. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.h +93 -14
  7. package/common/cpp/HostObjects/AudioContextHostObject.h +10 -21
  8. package/common/cpp/HostObjects/AudioDestinationNodeHostObject.h +3 -16
  9. package/common/cpp/HostObjects/AudioNodeHostObject.h +48 -11
  10. package/common/cpp/HostObjects/AudioParamHostObject.h +56 -14
  11. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.h +23 -16
  12. package/common/cpp/HostObjects/BaseAudioContextHostObject.h +131 -14
  13. package/common/cpp/HostObjects/BiquadFilterNodeHostObject.h +76 -18
  14. package/common/cpp/HostObjects/Constants.h +2 -0
  15. package/common/cpp/HostObjects/GainNodeHostObject.h +10 -15
  16. package/common/cpp/HostObjects/OscillatorNodeHostObject.h +40 -17
  17. package/common/cpp/HostObjects/PeriodicWaveHostObject.h +4 -17
  18. package/common/cpp/HostObjects/StereoPannerNodeHostObject.h +10 -17
  19. package/common/cpp/core/AudioBufferSourceNode.cpp +180 -73
  20. package/common/cpp/core/AudioBufferSourceNode.h +41 -1
  21. package/common/cpp/core/AudioDestinationNode.h +1 -1
  22. package/common/cpp/core/AudioScheduledSourceNode.cpp +86 -21
  23. package/common/cpp/core/AudioScheduledSourceNode.h +12 -4
  24. package/common/cpp/core/OscillatorNode.cpp +7 -2
  25. package/common/cpp/jsi/JsiHostObject.cpp +85 -0
  26. package/common/cpp/jsi/JsiHostObject.h +94 -0
  27. package/common/cpp/{utils → jsi}/JsiPromise.cpp +10 -9
  28. package/common/cpp/jsi/JsiPromise.h +48 -0
  29. package/common/cpp/utils/AudioUtils.cpp +26 -0
  30. package/common/cpp/utils/AudioUtils.h +16 -0
  31. package/ios/AudioAPIModule.mm +2 -6
  32. package/ios/AudioDecoder/AudioDecoder.m +9 -10
  33. package/ios/AudioPlayer/AudioPlayer.m +2 -1
  34. package/lib/module/core/AudioBufferSourceNode.js +15 -0
  35. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  36. package/lib/module/index.js +18 -0
  37. package/lib/module/index.js.map +1 -1
  38. package/lib/typescript/core/AudioBufferSourceNode.d.ts +7 -0
  39. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  40. package/lib/typescript/index.d.ts +6 -2
  41. package/lib/typescript/index.d.ts.map +1 -1
  42. package/lib/typescript/interfaces.d.ts +4 -0
  43. package/lib/typescript/interfaces.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/core/AudioBufferSourceNode.ts +23 -0
  46. package/src/index.ts +24 -0
  47. package/src/interfaces.ts +5 -0
  48. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerHostObject.cpp +0 -58
  49. package/common/cpp/AudioAPIInstaller/AudioAPIInstallerWrapper.h +0 -38
  50. package/common/cpp/AudioAPIInstaller/android/AudioAPIInstallerWrapper.cpp +0 -16
  51. package/common/cpp/AudioAPIInstaller/ios/AudioAPIInstallerWrapper.cpp +0 -12
  52. package/common/cpp/HostObjects/AudioBufferHostObject.cpp +0 -150
  53. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.cpp +0 -79
  54. package/common/cpp/HostObjects/AudioContextHostObject.cpp +0 -55
  55. package/common/cpp/HostObjects/AudioDestinationNodeHostObject.cpp +0 -33
  56. package/common/cpp/HostObjects/AudioNodeHostObject.cpp +0 -102
  57. package/common/cpp/HostObjects/AudioParamHostObject.cpp +0 -115
  58. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.cpp +0 -73
  59. package/common/cpp/HostObjects/BaseAudioContextHostObject.cpp +0 -250
  60. package/common/cpp/HostObjects/BiquadFilterNodeHostObject.cpp +0 -125
  61. package/common/cpp/HostObjects/GainNodeHostObject.cpp +0 -41
  62. package/common/cpp/HostObjects/OscillatorNodeHostObject.cpp +0 -88
  63. package/common/cpp/HostObjects/PeriodicWaveHostObject.cpp +0 -33
  64. package/common/cpp/HostObjects/StereoPannerNodeHostObject.cpp +0 -41
  65. package/common/cpp/utils/JsiPromise.h +0 -48
  66. package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.cpp +0 -45
  67. package/common/cpp/wrappers/AudioBufferSourceNodeWrapper.h +0 -26
  68. package/common/cpp/wrappers/AudioBufferWrapper.cpp +0 -46
  69. package/common/cpp/wrappers/AudioBufferWrapper.h +0 -30
  70. package/common/cpp/wrappers/AudioContextWrapper.cpp +0 -17
  71. package/common/cpp/wrappers/AudioContextWrapper.h +0 -19
  72. package/common/cpp/wrappers/AudioDestinationNodeWrapper.h +0 -16
  73. package/common/cpp/wrappers/AudioNodeWrapper.cpp +0 -37
  74. package/common/cpp/wrappers/AudioNodeWrapper.h +0 -25
  75. package/common/cpp/wrappers/AudioParamWrapper.cpp +0 -42
  76. package/common/cpp/wrappers/AudioParamWrapper.h +0 -25
  77. package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.cpp +0 -23
  78. package/common/cpp/wrappers/AudioScheduledSourceNodeWrapper.h +0 -23
  79. package/common/cpp/wrappers/BaseAudioContextWrapper.cpp +0 -83
  80. package/common/cpp/wrappers/BaseAudioContextWrapper.h +0 -51
  81. package/common/cpp/wrappers/BiquadFilterNodeWrapper.cpp +0 -60
  82. package/common/cpp/wrappers/BiquadFilterNodeWrapper.h +0 -37
  83. package/common/cpp/wrappers/GainNodeWrapper.cpp +0 -14
  84. package/common/cpp/wrappers/GainNodeWrapper.h +0 -20
  85. package/common/cpp/wrappers/OscillatorNodeWrapper.cpp +0 -44
  86. package/common/cpp/wrappers/OscillatorNodeWrapper.h +0 -31
  87. package/common/cpp/wrappers/PeriodicWaveWrapper.h +0 -17
  88. package/common/cpp/wrappers/StereoPannerNodeWrapper.cpp +0 -16
  89. package/common/cpp/wrappers/StereoPannerNodeWrapper.h +0 -21
@@ -0,0 +1,94 @@
1
+ #pragma once
2
+
3
+ #include <jsi/jsi.h>
4
+ #include <memory>
5
+ #include <string>
6
+ #include <unordered_map>
7
+ #include <utility>
8
+ #include <vector>
9
+
10
+ #define JSI_HOST_FUNCTION(NAME) \
11
+ jsi::Value NAME( \
12
+ jsi::Runtime &runtime, \
13
+ const jsi::Value &thisVal, \
14
+ const jsi::Value *args, \
15
+ size_t count)
16
+
17
+ #define JSI_EXPORT_FUNCTION(CLASS, FUNCTION) \
18
+ std::make_pair( \
19
+ std::string(#FUNCTION), \
20
+ static_cast<jsi::Value (JsiHostObject::*)( \
21
+ jsi::Runtime &, const jsi::Value &, const jsi::Value *, size_t)>( \
22
+ &CLASS::FUNCTION))
23
+
24
+ #define JSI_PROPERTY_GETTER(name) jsi::Value name(jsi::Runtime &runtime)
25
+
26
+ #define JSI_EXPORT_PROPERTY_GETTER(CLASS, FUNCTION) \
27
+ std::make_pair( \
28
+ std::string(#FUNCTION), \
29
+ static_cast<jsi::Value (JsiHostObject::*)(jsi::Runtime &)>( \
30
+ &CLASS::FUNCTION))
31
+
32
+ #define JSI_PROPERTY_SETTER(name) \
33
+ void name(jsi::Runtime &runtime, const jsi::Value &value)
34
+
35
+ #define JSI_EXPORT_PROPERTY_SETTER(CLASS, FUNCTION) \
36
+ std::make_pair( \
37
+ std::string(#FUNCTION), \
38
+ static_cast<void (JsiHostObject::*)( \
39
+ jsi::Runtime &, const jsi::Value &)>(&CLASS::FUNCTION))
40
+
41
+ namespace audioapi {
42
+
43
+ using namespace facebook;
44
+
45
+ class JsiHostObject : public jsi::HostObject {
46
+ public:
47
+ JsiHostObject();
48
+
49
+ std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime &rt) override;
50
+
51
+ jsi::Value get(jsi::Runtime &runtime, const jsi::PropNameID &name) override;
52
+
53
+ void set(
54
+ jsi::Runtime &runtime,
55
+ const jsi::PropNameID &name,
56
+ const jsi::Value &value) override;
57
+
58
+ template <typename... Args>
59
+ void addGetters(Args... args) {
60
+ (propertyGetters_->insert(args), ...);
61
+ }
62
+
63
+ template <typename... Args>
64
+ void addSetters(Args... args) {
65
+ (propertySetters_->insert(args), ...);
66
+ }
67
+
68
+ template <typename... Args>
69
+ void addFunctions(Args... args) {
70
+ (propertyFunctions_->insert(args), ...);
71
+ }
72
+
73
+ protected:
74
+ std::unique_ptr<std::unordered_map<
75
+ std::string,
76
+ jsi::Value (JsiHostObject::*)(jsi::Runtime &)>>
77
+ propertyGetters_;
78
+
79
+ std::unique_ptr<std::unordered_map<
80
+ std::string,
81
+ jsi::Value (JsiHostObject::*)(
82
+ jsi::Runtime &,
83
+ const jsi::Value &,
84
+ const jsi::Value *,
85
+ size_t)>>
86
+ propertyFunctions_;
87
+
88
+ std::unique_ptr<std::unordered_map<
89
+ std::string,
90
+ void (JsiHostObject::*)(jsi::Runtime &, const jsi::Value &)>>
91
+ propertySetters_;
92
+ };
93
+
94
+ } // namespace audioapi
@@ -4,17 +4,18 @@
4
4
  #include <jsi/jsi.h>
5
5
  #include <functional>
6
6
 
7
- namespace JsiPromise {
7
+ namespace audioapi {
8
8
 
9
9
  using namespace facebook;
10
10
 
11
11
  jsi::Value PromiseVendor::createPromise(
12
- std::function<void(std::shared_ptr<Promise>)> func) {
13
- if (_runtime == nullptr) {
14
- throw new std::runtime_error("Runtime was null!");
12
+ const std::function<void(std::shared_ptr<Promise>)> &function) {
13
+ if (runtime_ == nullptr) {
14
+ throw std::runtime_error("Runtime was null!");
15
15
  }
16
- auto &runtime = *_runtime;
17
- auto callInvoker = _callInvoker;
16
+
17
+ auto &runtime = *runtime_;
18
+ auto callInvoker = callInvoker_;
18
19
 
19
20
  // get Promise constructor
20
21
  auto promiseCtor = runtime.global().getPropertyAsFunction(runtime, "Promise");
@@ -24,7 +25,7 @@ jsi::Value PromiseVendor::createPromise(
24
25
  runtime,
25
26
  jsi::PropNameID::forUtf8(runtime, "runPromise"),
26
27
  2,
27
- [callInvoker, func](
28
+ [callInvoker, function](
28
29
  jsi::Runtime &runtime,
29
30
  const jsi::Value &thisValue,
30
31
  const jsi::Value *arguments,
@@ -52,7 +53,7 @@ jsi::Value PromiseVendor::createPromise(
52
53
  };
53
54
 
54
55
  auto promise = std::make_shared<Promise>(resolveWrapper, rejectWrapper);
55
- func(promise);
56
+ function(promise);
56
57
 
57
58
  return jsi::Value::undefined();
58
59
  });
@@ -61,4 +62,4 @@ jsi::Value PromiseVendor::createPromise(
61
62
  return promiseCtor.callAsConstructor(runtime, runPromise);
62
63
  }
63
64
 
64
- } // namespace JsiPromise
65
+ } // namespace audioapi
@@ -0,0 +1,48 @@
1
+ #pragma once
2
+
3
+ #include <ReactCommon/CallInvoker.h>
4
+ #include <jsi/jsi.h>
5
+ #include <memory>
6
+ #include <string>
7
+ #include <utility>
8
+
9
+ namespace audioapi {
10
+
11
+ using namespace facebook;
12
+
13
+ class Promise {
14
+ public:
15
+ Promise(
16
+ std::function<void(jsi::Value)> resolve,
17
+ std::function<void(const std::string &)> reject)
18
+ : resolve_(std::move(resolve)), reject_(std::move(reject)) {}
19
+
20
+ void resolve(jsi::Value &&value) {
21
+ resolve_(std::forward<jsi::Value>(value));
22
+ }
23
+ void reject(const std::string &errorMessage) {
24
+ reject_(errorMessage);
25
+ }
26
+
27
+ private:
28
+ std::function<void(jsi::Value)> resolve_;
29
+ std::function<void(const std::string &)> reject_;
30
+ };
31
+
32
+ class PromiseVendor {
33
+ public:
34
+ PromiseVendor(
35
+ jsi::Runtime *runtime,
36
+ const std::shared_ptr<react::CallInvoker> &callInvoker)
37
+ : runtime_(runtime), callInvoker_(callInvoker) {}
38
+
39
+ public:
40
+ jsi::Value createPromise(
41
+ const std::function<void(std::shared_ptr<Promise>)> &function);
42
+
43
+ private:
44
+ jsi::Runtime *runtime_;
45
+ std::shared_ptr<react::CallInvoker> callInvoker_;
46
+ };
47
+
48
+ } // namespace audioapi
@@ -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,16 @@
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(
11
+ const float *source,
12
+ size_t firstIndex,
13
+ size_t secondIndex,
14
+ float factor);
15
+
16
+ } // namespace audioapi::AudioUtils
@@ -7,7 +7,6 @@
7
7
  #import <jsi/jsi.h>
8
8
 
9
9
  #import "AudioAPIInstallerHostObject.h"
10
- #import "AudioAPIInstallerWrapper.h"
11
10
 
12
11
  @implementation AudioAPIModule
13
12
 
@@ -34,11 +33,8 @@ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install)
34
33
 
35
34
  auto &runtime = *jsRuntime;
36
35
 
37
- auto wrapper = std::make_shared<audioapi::AudioAPIInstallerWrapper>();
38
- auto hostObject =
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));
36
+ auto hostObject = std::make_shared<audioapi::AudioAPIInstallerHostObject>(jsRuntime, cxxBridge.jsCallInvoker);
37
+ hostObject->install();
42
38
 
43
39
  NSLog(@"Successfully installed JSI bindings for react-native-audio-api!");
44
40
  return @true;
@@ -51,16 +51,15 @@
51
51
  [[AVAudioPCMBuffer alloc] initWithPCMFormat:format frameCapacity:(AVAudioFrameCount)buffer.frameCapacity];
52
52
 
53
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
- };
54
+ ^AVAudioBuffer *(AVAudioPacketCount inNumberOfPackets, AVAudioConverterInputStatus *outStatus) {
55
+ if (buffer.frameLength > 0) {
56
+ *outStatus = AVAudioConverterInputStatus_HaveData;
57
+ return buffer;
58
+ } else {
59
+ *outStatus = AVAudioConverterInputStatus_NoDataNow;
60
+ return nil;
61
+ }
62
+ };
64
63
 
65
64
  [converter convertToBuffer:convertedBuffer error:&error withInputFromBlock:inputBlock];
66
65
 
@@ -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 = fmax(0.02, fmax(self.audioSession.IOBufferDuration, self.audioSession.preferredIOBufferDuration));
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,8 +1,11 @@
1
1
  import AudioScheduledSourceNode from './AudioScheduledSourceNode';
2
2
  import AudioBuffer from './AudioBuffer';
3
+ import AudioParam from './AudioParam';
3
4
  export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
4
5
  constructor(context, node) {
5
6
  super(context, node);
7
+ this.detune = new AudioParam(node.detune);
8
+ this.playbackRate = new AudioParam(node.playbackRate);
6
9
  }
7
10
  get buffer() {
8
11
  const buffer = this.node.buffer;
@@ -24,5 +27,17 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
24
27
  set loop(value) {
25
28
  this.node.loop = value;
26
29
  }
30
+ get loopStart() {
31
+ return this.node.loopStart;
32
+ }
33
+ set loopStart(value) {
34
+ this.node.loopStart = value;
35
+ }
36
+ get loopEnd() {
37
+ return this.node.loopEnd;
38
+ }
39
+ set loopEnd(value) {
40
+ this.node.loopEnd = value;
41
+ }
27
42
  }
28
43
  //# 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,4BAA4B;AAEjE,OAAOC,WAAW,MAAM,eAAe;AAEvC,eAAe,MAAMC,qBAAqB,SAASF,wBAAwB,CAAC;EAC1EG,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;EACtB;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACD,IAAI,CAA4BC,MAAM;IAC3D,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAIL,WAAW,CAACK,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACD,IAAI,CAA4BC,MAAM,GAAG,IAAI;MACnD;IACF;IAEC,IAAI,CAACD,IAAI,CAA4BC,MAAM,GAAGA,MAAM,CAACA,MAAM;EAC9D;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACF,IAAI,CAA4BE,IAAI;EACnD;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACH,IAAI,CAA4BE,IAAI,GAAGC,KAAK;EACpD;AACF","ignoreList":[]}
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,4BAA4B;AAEjE,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,UAAU,MAAM,cAAc;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,4 +1,6 @@
1
1
  export class AudioBuffer {
2
+ /** @internal */
3
+
2
4
  constructor(buffer) {
3
5
  this.buffer = buffer;
4
6
  this.length = buffer.length;
@@ -81,6 +83,8 @@ export class AudioScheduledSourceNode extends AudioNode {
81
83
  export class AudioBufferSourceNode extends AudioScheduledSourceNode {
82
84
  constructor(context, node) {
83
85
  super(context, node);
86
+ this.detune = new AudioParam(node.detune);
87
+ this.playbackRate = new AudioParam(node.playbackRate);
84
88
  }
85
89
  get buffer() {
86
90
  const buffer = this.node.buffer;
@@ -102,6 +106,18 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
102
106
  set loop(value) {
103
107
  this.node.loop = value;
104
108
  }
109
+ get loopStart() {
110
+ return this.node.loopStart;
111
+ }
112
+ set loopStart(value) {
113
+ this.node.loopStart = value;
114
+ }
115
+ get loopEnd() {
116
+ return this.node.loopEnd;
117
+ }
118
+ set loopEnd(value) {
119
+ this.node.loopEnd = value;
120
+ }
105
121
  }
106
122
  export class AudioDestinationNode extends AudioNode {
107
123
  constructor(context, node) {
@@ -153,6 +169,8 @@ export class BiquadFilterNode extends AudioNode {
153
169
  }
154
170
  }
155
171
  export class PeriodicWave {
172
+ /** @internal */
173
+
156
174
  constructor(periodicWave) {
157
175
  this.periodicWave = periodicWave;
158
176
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","Float32Array","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","loop","value","AudioDestinationNode","AudioParam","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","BiquadFilterNode","biquadFilter","frequency","detune","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","window","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","Error","Array","from","copyFromChannel","destination","channelNumber","startInChannel","Float32Array","copyToChannel","source","AudioNode","context","node","numberOfInputs","numberOfOutputs","channelCount","channelCountMode","channelInterpretation","connect","disconnect","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","value","loopStart","loopEnd","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","window","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -2,11 +2,18 @@ import { IAudioBufferSourceNode } from '../interfaces';
2
2
  import AudioScheduledSourceNode from './AudioScheduledSourceNode';
3
3
  import BaseAudioContext from './BaseAudioContext';
4
4
  import AudioBuffer from './AudioBuffer';
5
+ import AudioParam from './AudioParam';
5
6
  export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
7
+ readonly playbackRate: AudioParam;
8
+ readonly detune: AudioParam;
6
9
  constructor(context: BaseAudioContext, node: IAudioBufferSourceNode);
7
10
  get buffer(): AudioBuffer | null;
8
11
  set buffer(buffer: AudioBuffer | null);
9
12
  get loop(): boolean;
10
13
  set loop(value: boolean);
14
+ get loopStart(): number;
15
+ set loopStart(value: number);
16
+ get loopEnd(): number;
17
+ set loopEnd(value: number);
11
18
  }
12
19
  //# sourceMappingURL=AudioBufferSourceNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioBufferSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferSourceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,wBAAwB;gBAC7D,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB;IAInE,IAAW,MAAM,IAAI,WAAW,GAAG,IAAI,CAMtC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAO3C;IAED,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAE7B;CACF"}
1
+ {"version":3,"file":"AudioBufferSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioBufferSourceNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB;IAOnE,IAAW,MAAM,IAAI,WAAW,GAAG,IAAI,CAMtC;IAED,IAAW,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAO3C;IAED,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAE7B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAE/B;CACF"}
@@ -4,7 +4,6 @@ export declare class AudioBuffer {
4
4
  readonly duration: number;
5
5
  readonly sampleRate: number;
6
6
  readonly numberOfChannels: number;
7
- readonly buffer: globalThis.AudioBuffer;
8
7
  constructor(buffer: globalThis.AudioBuffer);
9
8
  getChannelData(channel: number): number[];
10
9
  copyFromChannel(destination: number[], channelNumber: number, startInChannel?: number): void;
@@ -29,11 +28,17 @@ export declare class AudioScheduledSourceNode extends AudioNode {
29
28
  stop(when?: number): void;
30
29
  }
31
30
  export declare class AudioBufferSourceNode extends AudioScheduledSourceNode {
31
+ readonly playbackRate: AudioParam;
32
+ readonly detune: AudioParam;
32
33
  constructor(context: AudioContext, node: globalThis.AudioBufferSourceNode);
33
34
  get buffer(): AudioBuffer | null;
34
35
  set buffer(buffer: AudioBuffer | null);
35
36
  get loop(): boolean;
36
37
  set loop(value: boolean);
38
+ get loopStart(): number;
39
+ set loopStart(value: number);
40
+ get loopEnd(): number;
41
+ set loopEnd(value: number);
37
42
  }
38
43
  export declare class AudioDestinationNode extends AudioNode {
39
44
  constructor(context: AudioContext, node: globalThis.AudioDestinationNode);
@@ -61,7 +66,6 @@ export declare class BiquadFilterNode extends AudioNode {
61
66
  getFrequencyResponse(frequencyArray: number[], magResponseOutput: number[], phaseResponseOutput: number[]): void;
62
67
  }
63
68
  export declare class PeriodicWave {
64
- readonly periodicWave: globalThis.PeriodicWave;
65
69
  constructor(periodicWave: globalThis.PeriodicWave);
66
70
  }
67
71
  export declare class OscillatorNode extends AudioScheduledSourceNode {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,10 @@ export interface IOscillatorNode extends IAudioScheduledSourceNode {
55
55
  export interface IAudioBufferSourceNode extends IAudioScheduledSourceNode {
56
56
  buffer: IAudioBuffer | null;
57
57
  loop: boolean;
58
+ loopStart: number;
59
+ loopEnd: number;
60
+ detune: IAudioParam;
61
+ playbackRate: IAudioParam;
58
62
  }
59
63
  export interface IAudioBuffer {
60
64
  readonly length: number;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-audio-api",
3
- "version": "0.3.0-rc2",
3
+ "version": "0.3.1",
4
4
  "description": "react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -2,10 +2,17 @@ import { IAudioBufferSourceNode } from '../interfaces';
2
2
  import AudioScheduledSourceNode from './AudioScheduledSourceNode';
3
3
  import BaseAudioContext from './BaseAudioContext';
4
4
  import AudioBuffer from './AudioBuffer';
5
+ import AudioParam from './AudioParam';
5
6
 
6
7
  export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
8
+ readonly playbackRate: AudioParam;
9
+ readonly detune: AudioParam;
10
+
7
11
  constructor(context: BaseAudioContext, node: IAudioBufferSourceNode) {
8
12
  super(context, node);
13
+
14
+ this.detune = new AudioParam(node.detune);
15
+ this.playbackRate = new AudioParam(node.playbackRate);
9
16
  }
10
17
 
11
18
  public get buffer(): AudioBuffer | null {
@@ -32,4 +39,20 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
32
39
  public set loop(value: boolean) {
33
40
  (this.node as IAudioBufferSourceNode).loop = value;
34
41
  }
42
+
43
+ public get loopStart(): number {
44
+ return (this.node as IAudioBufferSourceNode).loopStart;
45
+ }
46
+
47
+ public set loopStart(value: number) {
48
+ (this.node as IAudioBufferSourceNode).loopStart = value;
49
+ }
50
+
51
+ public get loopEnd(): number {
52
+ return (this.node as IAudioBufferSourceNode).loopEnd;
53
+ }
54
+
55
+ public set loopEnd(value: number) {
56
+ (this.node as IAudioBufferSourceNode).loopEnd = value;
57
+ }
35
58
  }
package/src/index.ts CHANGED
@@ -6,6 +6,7 @@ export class AudioBuffer {
6
6
  readonly sampleRate: number;
7
7
  readonly numberOfChannels: number;
8
8
 
9
+ /** @internal */
9
10
  public readonly buffer: globalThis.AudioBuffer;
10
11
 
11
12
  constructor(buffer: globalThis.AudioBuffer) {
@@ -150,8 +151,14 @@ export class AudioScheduledSourceNode extends AudioNode {
150
151
  }
151
152
 
152
153
  export class AudioBufferSourceNode extends AudioScheduledSourceNode {
154
+ readonly playbackRate: AudioParam;
155
+ readonly detune: AudioParam;
156
+
153
157
  constructor(context: AudioContext, node: globalThis.AudioBufferSourceNode) {
154
158
  super(context, node);
159
+
160
+ this.detune = new AudioParam(node.detune);
161
+ this.playbackRate = new AudioParam(node.playbackRate);
155
162
  }
156
163
 
157
164
  public get buffer(): AudioBuffer | null {
@@ -180,6 +187,22 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
180
187
  public set loop(value: boolean) {
181
188
  (this.node as globalThis.AudioBufferSourceNode).loop = value;
182
189
  }
190
+
191
+ public get loopStart(): number {
192
+ return (this.node as globalThis.AudioBufferSourceNode).loopStart;
193
+ }
194
+
195
+ public set loopStart(value: number) {
196
+ (this.node as globalThis.AudioBufferSourceNode).loopStart = value;
197
+ }
198
+
199
+ public get loopEnd(): number {
200
+ return (this.node as globalThis.AudioBufferSourceNode).loopEnd;
201
+ }
202
+
203
+ public set loopEnd(value: number) {
204
+ (this.node as globalThis.AudioBufferSourceNode).loopEnd = value;
205
+ }
183
206
  }
184
207
 
185
208
  export class AudioDestinationNode extends AudioNode {
@@ -271,6 +294,7 @@ export class BiquadFilterNode extends AudioNode {
271
294
  }
272
295
 
273
296
  export class PeriodicWave {
297
+ /** @internal */
274
298
  readonly periodicWave: globalThis.PeriodicWave;
275
299
 
276
300
  constructor(periodicWave: globalThis.PeriodicWave) {
package/src/interfaces.ts CHANGED
@@ -86,6 +86,11 @@ export interface IOscillatorNode extends IAudioScheduledSourceNode {
86
86
  export interface IAudioBufferSourceNode extends IAudioScheduledSourceNode {
87
87
  buffer: IAudioBuffer | null;
88
88
  loop: boolean;
89
+ loopStart: number;
90
+ loopEnd: number;
91
+
92
+ detune: IAudioParam;
93
+ playbackRate: IAudioParam;
89
94
  }
90
95
 
91
96
  export interface IAudioBuffer {