react-native-audio-api 0.4.4 → 0.4.6

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 (37) hide show
  1. package/android/build.gradle +7 -0
  2. package/common/cpp/HostObjects/AudioBufferSourceNodeHostObject.h +18 -0
  3. package/common/cpp/HostObjects/AudioScheduledSourceNodeHostObject.h +2 -2
  4. package/common/cpp/HostObjects/BaseAudioContextHostObject.h +9 -13
  5. package/common/cpp/core/AudioBuffer.cpp +2 -2
  6. package/common/cpp/core/AudioBuffer.h +1 -1
  7. package/common/cpp/core/AudioBufferSourceNode.cpp +13 -0
  8. package/common/cpp/core/AudioBufferSourceNode.h +2 -3
  9. package/common/cpp/core/AudioContext.cpp +2 -2
  10. package/common/cpp/core/AudioNode.cpp +23 -31
  11. package/common/cpp/core/AudioNode.h +4 -3
  12. package/common/cpp/core/AudioNodeManager.cpp +14 -18
  13. package/common/cpp/core/AudioNodeManager.h +10 -5
  14. package/common/cpp/core/AudioScheduledSourceNode.cpp +4 -6
  15. package/common/cpp/core/AudioScheduledSourceNode.h +2 -2
  16. package/common/cpp/core/BaseAudioContext.cpp +18 -6
  17. package/common/cpp/jsi/JsiPromise.cpp +6 -3
  18. package/common/cpp/jsi/JsiPromise.h +7 -14
  19. package/lib/module/core/AudioBufferSourceNode.js +21 -0
  20. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  21. package/lib/module/core/AudioScheduledSourceNode.js +2 -2
  22. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  23. package/lib/module/index.js +3 -0
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/typescript/core/AudioBufferSourceNode.d.ts +1 -0
  26. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  27. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +1 -1
  28. package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
  29. package/lib/typescript/index.d.ts +1 -0
  30. package/lib/typescript/index.d.ts.map +1 -1
  31. package/lib/typescript/interfaces.d.ts +3 -2
  32. package/lib/typescript/interfaces.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/core/AudioBufferSourceNode.ts +38 -0
  35. package/src/core/AudioScheduledSourceNode.ts +3 -3
  36. package/src/index.ts +8 -0
  37. package/src/interfaces.ts +4 -3
@@ -207,3 +207,10 @@ def assertMinimalReactNativeVersion = task assertMinimalReactNativeVersionTask {
207
207
  tasks.preBuild {
208
208
  dependsOn assertMinimalReactNativeVersion
209
209
  }
210
+
211
+ task cleanCmakeCache() {
212
+ tasks.getByName("clean").dependsOn(cleanCmakeCache)
213
+ doFirst {
214
+ delete "${projectDir}/.cxx"
215
+ }
216
+ }
@@ -28,6 +28,12 @@ class AudioBufferSourceNodeHostObject
28
28
  addSetters(
29
29
  JSI_EXPORT_PROPERTY_SETTER(AudioBufferSourceNodeHostObject, loop),
30
30
  JSI_EXPORT_PROPERTY_SETTER(AudioBufferSourceNodeHostObject, buffer));
31
+
32
+ // start method is overridden in this class
33
+ functions_->erase("start");
34
+
35
+ addFunctions(
36
+ JSI_EXPORT_FUNCTION(AudioBufferSourceNodeHostObject, start));
31
37
  }
32
38
 
33
39
  JSI_PROPERTY_GETTER(loop) {
@@ -111,6 +117,18 @@ class AudioBufferSourceNodeHostObject
111
117
  std::static_pointer_cast<AudioBufferSourceNode>(node_);
112
118
  audioBufferSourceNode->setLoopEnd(value.getNumber());
113
119
  }
120
+
121
+ JSI_HOST_FUNCTION(start) {
122
+ auto when = args[0].getNumber();
123
+ auto offset = args[1].getNumber();
124
+ auto duration = args[2].getNumber();
125
+
126
+ auto audioBufferSourceNode =
127
+ std::static_pointer_cast<AudioBufferSourceNode>(node_);
128
+ audioBufferSourceNode->start(when, offset, duration);
129
+
130
+ return jsi::Value::undefined();
131
+ }
114
132
  };
115
133
 
116
134
  } // namespace audioapi
@@ -20,10 +20,10 @@ class AudioScheduledSourceNodeHostObject : public AudioNodeHostObject {
20
20
  }
21
21
 
22
22
  JSI_HOST_FUNCTION(start) {
23
- auto time = args[0].getNumber();
23
+ auto when = args[0].getNumber();
24
24
  auto audioScheduleSourceNode =
25
25
  std::static_pointer_cast<AudioScheduledSourceNode>(node_);
26
- audioScheduleSourceNode->start(time);
26
+ audioScheduleSourceNode->start(when);
27
27
  return jsi::Value::undefined();
28
28
  }
29
29
 
@@ -143,20 +143,16 @@ class BaseAudioContextHostObject : public JsiHostObject {
143
143
  JSI_HOST_FUNCTION(decodeAudioDataSource) {
144
144
  auto sourcePath = args[0].getString(runtime).utf8(runtime);
145
145
 
146
- auto promise = promiseVendor_->createPromise(
147
- [this, &runtime, sourcePath](std::shared_ptr<Promise> promise) {
148
- std::thread([this,
149
- &runtime,
150
- sourcePath,
151
- promise = std::move(promise)]() {
152
- auto results = context_->decodeAudioDataSource(sourcePath);
153
- auto audioBufferHostObject =
154
- std::make_shared<AudioBufferHostObject>(results);
155
-
156
- promise->resolve(jsi::Object::createFromHostObject(
157
- runtime, audioBufferHostObject));
158
- }).detach();
146
+ auto promise = promiseVendor_->createPromise([this, sourcePath](std::shared_ptr<Promise> promise) {
147
+ std::thread([this, sourcePath, promise = std::move(promise)]() {
148
+ auto results = context_->decodeAudioDataSource(sourcePath);
149
+ auto audioBufferHostObject = std::make_shared<AudioBufferHostObject>(results);
150
+
151
+ promise->resolve([audioBufferHostObject = std::move(audioBufferHostObject)](jsi::Runtime &runtime) {
152
+ return jsi::Object::createFromHostObject(runtime, audioBufferHostObject);
159
153
  });
154
+ }).detach();
155
+ });
160
156
 
161
157
  return promise;
162
158
  }
@@ -27,8 +27,8 @@ float AudioBuffer::getSampleRate() const {
27
27
  return bus_->getSampleRate();
28
28
  }
29
29
 
30
- float AudioBuffer::getDuration() const {
31
- return static_cast<float>(getLength()) / getSampleRate();
30
+ double AudioBuffer::getDuration() const {
31
+ return static_cast<double>(getLength()) / getSampleRate();
32
32
  }
33
33
 
34
34
  float *AudioBuffer::getChannelData(int channel) const {
@@ -17,7 +17,7 @@ class AudioBuffer : public std::enable_shared_from_this<AudioBuffer> {
17
17
 
18
18
  [[nodiscard]] size_t getLength() const;
19
19
  [[nodiscard]] float getSampleRate() const;
20
- [[nodiscard]] float getDuration() const;
20
+ [[nodiscard]] double getDuration() const;
21
21
 
22
22
  [[nodiscard]] int getNumberOfChannels() const;
23
23
  [[nodiscard]] float *getChannelData(int channel) const;
@@ -80,6 +80,19 @@ void AudioBufferSourceNode::setBuffer(
80
80
  alignedBus_->sum(buffer_->bus_.get());
81
81
  }
82
82
 
83
+ void AudioBufferSourceNode::start(double when, double offset, double duration) {
84
+ AudioScheduledSourceNode::start(when);
85
+
86
+ offset = std::min(offset, buffer_->getDuration());
87
+ if (loop_) {
88
+ offset = std::min(offset, loopEnd_);
89
+ }
90
+
91
+ vReadIndex_ = static_cast<double>(buffer_->getSampleRate() * offset);
92
+
93
+ AudioScheduledSourceNode::stop(when + duration);
94
+ }
95
+
83
96
  void AudioBufferSourceNode::processNode(
84
97
  AudioBus *processingBus,
85
98
  int framesToProcess) {
@@ -18,18 +18,17 @@ class AudioBufferSourceNode : public AudioScheduledSourceNode {
18
18
  [[nodiscard]] bool getLoop() const;
19
19
  [[nodiscard]] double getLoopStart() const;
20
20
  [[nodiscard]] double getLoopEnd() const;
21
-
22
21
  [[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
23
22
  [[nodiscard]] std::shared_ptr<AudioParam> getPlaybackRateParam() const;
24
-
25
23
  [[nodiscard]] std::shared_ptr<AudioBuffer> getBuffer() const;
26
24
 
27
25
  void setLoop(bool loop);
28
26
  void setLoopStart(double loopStart);
29
27
  void setLoopEnd(double loopEnd);
30
-
31
28
  void setBuffer(const std::shared_ptr<AudioBuffer> &buffer);
32
29
 
30
+ void start(double when, double offset, double duration);
31
+
33
32
  protected:
34
33
  void processNode(AudioBus *processingBus, int framesToProcess) override;
35
34
 
@@ -35,7 +35,7 @@ AudioContext::AudioContext(float sampleRate) : BaseAudioContext() {
35
35
  }
36
36
 
37
37
  AudioContext::~AudioContext() {
38
- if (isRunning()) {
38
+ if (isClosed()) {
39
39
  return;
40
40
  }
41
41
 
@@ -48,7 +48,7 @@ void AudioContext::close() {
48
48
  }
49
49
 
50
50
  std::function<void(AudioBus *, int)> AudioContext::renderAudio() {
51
- if (!isRunning()) {
51
+ if (!isRunning() || !destination_) {
52
52
  return [](AudioBus *, int) {};
53
53
  }
54
54
 
@@ -13,7 +13,6 @@ AudioNode::AudioNode(BaseAudioContext *context) : context_(context) {
13
13
  }
14
14
 
15
15
  AudioNode::~AudioNode() {
16
- isInitialized_ = false;
17
16
  cleanup();
18
17
  }
19
18
 
@@ -42,14 +41,9 @@ void AudioNode::connect(const std::shared_ptr<AudioNode> &node) {
42
41
  shared_from_this(), node, AudioNodeManager::ConnectionType::CONNECT);
43
42
  }
44
43
 
45
- void AudioNode::connectNode(const std::shared_ptr<AudioNode> &node) {
46
- outputNodes_.push_back(node);
47
- node->onInputConnected(this);
48
- }
49
-
50
44
  void AudioNode::disconnect() {
51
45
  for (auto &outputNode : outputNodes_) {
52
- disconnectNode(outputNode);
46
+ disconnect(outputNode);
53
47
  }
54
48
  }
55
49
 
@@ -58,16 +52,6 @@ void AudioNode::disconnect(const std::shared_ptr<AudioNode> &node) {
58
52
  shared_from_this(), node, AudioNodeManager::ConnectionType::DISCONNECT);
59
53
  }
60
54
 
61
- void AudioNode::disconnectNode(const std::shared_ptr<AudioNode> &node) {
62
- node->onInputDisconnected(this);
63
-
64
- auto position = std::find(outputNodes_.begin(), outputNodes_.end(), node);
65
-
66
- if (position != outputNodes_.end()) {
67
- outputNodes_.erase(position);
68
- }
69
- }
70
-
71
55
  bool AudioNode::isEnabled() const {
72
56
  return isEnabled_;
73
57
  }
@@ -186,10 +170,30 @@ AudioBus *AudioNode::processAudio(AudioBus *outputBus, int framesToProcess) {
186
170
  }
187
171
 
188
172
  void AudioNode::cleanup() {
173
+ isInitialized_ = false;
174
+
175
+ for (const auto &outputNode : outputNodes_) {
176
+ outputNode->onInputDisconnected(this);
177
+ }
178
+
179
+ for (const auto &inputNode : inputNodes_) {
180
+ inputNode->disconnectNode(shared_from_this());
181
+ }
182
+
189
183
  outputNodes_.clear();
190
184
  inputNodes_.clear();
191
185
  }
192
186
 
187
+ void AudioNode::connectNode(const std::shared_ptr<AudioNode> &node) {
188
+ outputNodes_.insert(node);
189
+ node->onInputConnected(this);
190
+ }
191
+
192
+ void AudioNode::disconnectNode(const std::shared_ptr<AudioNode> &node) {
193
+ outputNodes_.erase(node);
194
+ node->onInputDisconnected(this);
195
+ }
196
+
193
197
  void AudioNode::onInputEnabled() {
194
198
  numberOfEnabledInputNodes_ += 1;
195
199
 
@@ -211,7 +215,7 @@ void AudioNode::onInputConnected(AudioNode *node) {
211
215
  return;
212
216
  }
213
217
 
214
- inputNodes_.push_back(node);
218
+ inputNodes_.insert(node);
215
219
 
216
220
  if (node->isEnabled()) {
217
221
  onInputEnabled();
@@ -223,23 +227,11 @@ void AudioNode::onInputDisconnected(AudioNode *node) {
223
227
  return;
224
228
  }
225
229
 
226
- auto position = std::find(inputNodes_.begin(), inputNodes_.end(), node);
227
-
228
- if (position != inputNodes_.end()) {
229
- inputNodes_.erase(position);
230
- }
231
-
232
- if (!inputNodes_.empty()) {
233
- return;
234
- }
230
+ inputNodes_.erase(node);
235
231
 
236
232
  if (isEnabled()) {
237
233
  node->onInputDisabled();
238
234
  }
239
-
240
- for (const auto &outputNode : outputNodes_) {
241
- disconnectNode(outputNode);
242
- }
243
235
  }
244
236
 
245
237
  } // namespace audioapi
@@ -2,7 +2,7 @@
2
2
 
3
3
  #include <memory>
4
4
  #include <string>
5
- #include <vector>
5
+ #include <unordered_set>
6
6
  #include <cstddef>
7
7
 
8
8
  #include "ChannelCountMode.h"
@@ -18,6 +18,7 @@ class AudioNode : public std::enable_shared_from_this<AudioNode> {
18
18
  public:
19
19
  explicit AudioNode(BaseAudioContext *context);
20
20
  virtual ~AudioNode();
21
+
21
22
  int getNumberOfInputs() const;
22
23
  int getNumberOfOutputs() const;
23
24
  int getChannelCount() const;
@@ -45,8 +46,8 @@ class AudioNode : public std::enable_shared_from_this<AudioNode> {
45
46
  ChannelInterpretation channelInterpretation_ =
46
47
  ChannelInterpretation::SPEAKERS;
47
48
 
48
- std::vector<AudioNode *> inputNodes_ = {};
49
- std::vector<std::shared_ptr<AudioNode>> outputNodes_ = {};
49
+ std::unordered_set<AudioNode *> inputNodes_ = {};
50
+ std::unordered_set<std::shared_ptr<AudioNode>> outputNodes_ = {};
50
51
 
51
52
  int numberOfEnabledInputNodes_ = 0;
52
53
  bool isInitialized_ = false;
@@ -7,7 +7,6 @@ namespace audioapi {
7
7
 
8
8
  AudioNodeManager::~AudioNodeManager() {
9
9
  audioNodesToConnect_.clear();
10
- sourceNodes_.clear();
11
10
  }
12
11
 
13
12
  void AudioNodeManager::addPendingConnection(
@@ -19,31 +18,33 @@ void AudioNodeManager::addPendingConnection(
19
18
  audioNodesToConnect_.emplace_back(from, to, type);
20
19
  }
21
20
 
22
- void AudioNodeManager::addSourceNode(const std::shared_ptr<AudioNode> &node) {
23
- Locker lock(getGraphLock());
24
-
25
- sourceNodes_.push_back(node);
26
- }
27
-
28
21
  void AudioNodeManager::preProcessGraph() {
29
22
  if (!Locker::tryLock(getGraphLock())) {
30
23
  return;
31
24
  }
32
25
 
33
26
  settlePendingConnections();
34
- removeFinishedSourceNodes();
27
+ prepareNodesForDestruction();
35
28
  }
36
29
 
37
30
  std::mutex &AudioNodeManager::getGraphLock() {
38
31
  return graphLock_;
39
32
  }
40
33
 
34
+ void AudioNodeManager::addNode(const std::shared_ptr<AudioNode> &node) {
35
+ Locker lock(getGraphLock());
36
+
37
+ nodes_.insert(node);
38
+ }
39
+
41
40
  void AudioNodeManager::settlePendingConnections() {
42
41
  for (auto &connection : audioNodesToConnect_) {
43
42
  std::shared_ptr<AudioNode> from = std::get<0>(connection);
44
43
  std::shared_ptr<AudioNode> to = std::get<1>(connection);
45
44
  ConnectionType type = std::get<2>(connection);
46
45
 
46
+ // add assert to check if from and to are neither null nor uninitialized
47
+
47
48
  if (type == ConnectionType::CONNECT) {
48
49
  from->connectNode(to);
49
50
  } else {
@@ -54,16 +55,11 @@ void AudioNodeManager::settlePendingConnections() {
54
55
  audioNodesToConnect_.clear();
55
56
  }
56
57
 
57
- void AudioNodeManager::removeFinishedSourceNodes() {
58
- for (auto it = sourceNodes_.begin(); it != sourceNodes_.end();) {
59
- auto currentNode = it->get();
60
- // Release the source node if use count is equal to 1 (this vector)
61
- if (!currentNode->isEnabled() && it->use_count() == 1) {
62
- for (auto &outputNode : currentNode->outputNodes_) {
63
- currentNode->disconnectNode(outputNode);
64
- }
65
-
66
- it = sourceNodes_.erase(it);
58
+ void AudioNodeManager::prepareNodesForDestruction() {
59
+ for (auto it = nodes_.begin(); it != nodes_.end();) {
60
+ if (it->use_count() == 1) {
61
+ it->get()->cleanup();
62
+ it = nodes_.erase(it);
67
63
  } else {
68
64
  ++it;
69
65
  }
@@ -4,6 +4,7 @@
4
4
  #include <mutex>
5
5
  #include <tuple>
6
6
  #include <vector>
7
+ #include <unordered_set>
7
8
 
8
9
  namespace audioapi {
9
10
 
@@ -15,20 +16,24 @@ class AudioNodeManager {
15
16
  AudioNodeManager() = default;
16
17
  ~AudioNodeManager();
17
18
 
19
+ std::mutex &getGraphLock();
20
+
18
21
  void preProcessGraph();
22
+
19
23
  void addPendingConnection(
20
24
  const std::shared_ptr<AudioNode> &from,
21
25
  const std::shared_ptr<AudioNode> &to,
22
26
  ConnectionType type);
23
27
 
24
- void addSourceNode(const std::shared_ptr<AudioNode> &node);
25
-
26
- std::mutex &getGraphLock();
28
+ void addNode(const std::shared_ptr<AudioNode> &node);
27
29
 
28
30
  private:
29
31
  std::mutex graphLock_;
30
32
 
31
- std::vector<std::shared_ptr<AudioNode>> sourceNodes_;
33
+ // all nodes created in the context
34
+ std::unordered_set<std::shared_ptr<AudioNode>> nodes_;
35
+
36
+ // connections to be settled
32
37
  std::vector<std::tuple<
33
38
  std::shared_ptr<AudioNode>,
34
39
  std::shared_ptr<AudioNode>,
@@ -36,7 +41,7 @@ class AudioNodeManager {
36
41
  audioNodesToConnect_;
37
42
 
38
43
  void settlePendingConnections();
39
- void removeFinishedSourceNodes();
44
+ void prepareNodesForDestruction();
40
45
  };
41
46
 
42
47
  } // namespace audioapi
@@ -15,15 +15,13 @@ AudioScheduledSourceNode::AudioScheduledSourceNode(BaseAudioContext *context)
15
15
  numberOfInputs_ = 0;
16
16
  }
17
17
 
18
- void AudioScheduledSourceNode::start(double time) {
18
+ void AudioScheduledSourceNode::start(double when) {
19
19
  playbackState_ = PlaybackState::SCHEDULED;
20
- startTime_ = time;
21
-
22
- context_->getNodeManager()->addSourceNode(shared_from_this());
20
+ startTime_ = when;
23
21
  }
24
22
 
25
- void AudioScheduledSourceNode::stop(double time) {
26
- stopTime_ = time;
23
+ void AudioScheduledSourceNode::stop(double when) {
24
+ stopTime_ = when;
27
25
  }
28
26
 
29
27
  bool AudioScheduledSourceNode::isUnscheduled() {
@@ -19,8 +19,8 @@ class AudioScheduledSourceNode : public AudioNode {
19
19
  enum class PlaybackState { UNSCHEDULED, SCHEDULED, PLAYING, FINISHED };
20
20
  explicit AudioScheduledSourceNode(BaseAudioContext *context);
21
21
 
22
- void start(double time);
23
- void stop(double time);
22
+ void start(double when);
23
+ void stop(double when);
24
24
 
25
25
  bool isUnscheduled();
26
26
  bool isScheduled();
@@ -42,23 +42,33 @@ std::shared_ptr<AudioDestinationNode> BaseAudioContext::getDestination() {
42
42
  }
43
43
 
44
44
  std::shared_ptr<OscillatorNode> BaseAudioContext::createOscillator() {
45
- return std::make_shared<OscillatorNode>(this);
45
+ auto oscillator = std::make_shared<OscillatorNode>(this);
46
+ nodeManager_->addNode(oscillator);
47
+ return oscillator;
46
48
  }
47
49
 
48
50
  std::shared_ptr<GainNode> BaseAudioContext::createGain() {
49
- return std::make_shared<GainNode>(this);
51
+ auto gain = std::make_shared<GainNode>(this);
52
+ nodeManager_->addNode(gain);
53
+ return gain;
50
54
  }
51
55
 
52
56
  std::shared_ptr<StereoPannerNode> BaseAudioContext::createStereoPanner() {
53
- return std::make_shared<StereoPannerNode>(this);
57
+ auto stereoPanner = std::make_shared<StereoPannerNode>(this);
58
+ nodeManager_->addNode(stereoPanner);
59
+ return stereoPanner;
54
60
  }
55
61
 
56
62
  std::shared_ptr<BiquadFilterNode> BaseAudioContext::createBiquadFilter() {
57
- return std::make_shared<BiquadFilterNode>(this);
63
+ auto biquadFilter = std::make_shared<BiquadFilterNode>(this);
64
+ nodeManager_->addNode(biquadFilter);
65
+ return biquadFilter;
58
66
  }
59
67
 
60
68
  std::shared_ptr<AudioBufferSourceNode> BaseAudioContext::createBufferSource() {
61
- return std::make_shared<AudioBufferSourceNode>(this);
69
+ auto bufferSource = std::make_shared<AudioBufferSourceNode>(this);
70
+ nodeManager_->addNode(bufferSource);
71
+ return bufferSource;
62
72
  }
63
73
 
64
74
  std::shared_ptr<AudioBuffer> BaseAudioContext::createBuffer(
@@ -78,7 +88,9 @@ std::shared_ptr<PeriodicWave> BaseAudioContext::createPeriodicWave(
78
88
  }
79
89
 
80
90
  std::shared_ptr<AnalyserNode> BaseAudioContext::createAnalyser() {
81
- return std::make_shared<AnalyserNode>(this);
91
+ auto analyser = std::make_shared<AnalyserNode>(this);
92
+ nodeManager_->addNode(analyser);
93
+ return analyser;
82
94
  }
83
95
 
84
96
  std::shared_ptr<AudioBuffer> BaseAudioContext::decodeAudioDataSource(
@@ -36,9 +36,12 @@ jsi::Value PromiseVendor::createPromise(
36
36
  auto reject = std::make_shared<jsi::Function>(std::move(rejectLocal));
37
37
 
38
38
  auto resolveWrapper =
39
- [resolve, &runtime, callInvoker](jsi::Value value) -> void {
40
- auto valueShared = std::make_shared<jsi::Value>(std::move(value));
41
- callInvoker->invokeAsync([resolve, &runtime, valueShared]() -> void {
39
+ [resolve, &runtime, callInvoker](
40
+ const std::function<jsi::Value(jsi::Runtime &)> resolver)
41
+ -> void {
42
+ callInvoker->invokeAsync([resolve, &runtime, resolver]() -> void {
43
+ auto valueShared = std::make_shared<jsi::Value>(resolver(runtime));
44
+
42
45
  resolve->call(runtime, *valueShared);
43
46
  });
44
47
  };
@@ -13,33 +13,26 @@ using namespace facebook;
13
13
 
14
14
  class Promise {
15
15
  public:
16
- Promise(
17
- std::function<void(jsi::Value)> resolve,
18
- std::function<void(const std::string &)> reject)
19
- : resolve_(std::move(resolve)), reject_(std::move(reject)) {}
16
+ Promise(std::function<void(const std::function<jsi::Value(jsi::Runtime&)>)> resolve, std::function<void(const std::string &)> reject) : resolve_(std::move(resolve)), reject_(std::move(reject)) {}
20
17
 
21
- void resolve(jsi::Value &&value) {
22
- resolve_(std::forward<jsi::Value>(value));
18
+ void resolve(const std::function<jsi::Value(jsi::Runtime&)> &resolver) {
19
+ resolve_(std::forward<const std::function<jsi::Value(jsi::Runtime&)>>(resolver));
23
20
  }
21
+
24
22
  void reject(const std::string &errorMessage) {
25
23
  reject_(errorMessage);
26
24
  }
27
25
 
28
26
  private:
29
- std::function<void(jsi::Value)> resolve_;
27
+ std::function<void(const std::function<jsi::Value(jsi::Runtime&)>)> resolve_;
30
28
  std::function<void(const std::string &)> reject_;
31
29
  };
32
30
 
33
31
  class PromiseVendor {
34
32
  public:
35
- PromiseVendor(
36
- jsi::Runtime *runtime,
37
- const std::shared_ptr<react::CallInvoker> &callInvoker)
38
- : runtime_(runtime), callInvoker_(callInvoker) {}
33
+ PromiseVendor(jsi::Runtime *runtime, const std::shared_ptr<react::CallInvoker> &callInvoker): runtime_(runtime), callInvoker_(callInvoker) {}
39
34
 
40
- public:
41
- jsi::Value createPromise(
42
- const std::function<void(std::shared_ptr<Promise>)> &function);
35
+ jsi::Value createPromise(const std::function<void(std::shared_ptr<Promise>)> &function);
43
36
 
44
37
  private:
45
38
  jsi::Runtime *runtime_;
@@ -3,6 +3,7 @@
3
3
  import AudioScheduledSourceNode from "./AudioScheduledSourceNode.js";
4
4
  import AudioBuffer from "./AudioBuffer.js";
5
5
  import AudioParam from "./AudioParam.js";
6
+ import { InvalidStateError, RangeError } from "../errors/index.js";
6
7
  export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
7
8
  constructor(context, node) {
8
9
  super(context, node);
@@ -41,5 +42,25 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
41
42
  set loopEnd(value) {
42
43
  this.node.loopEnd = value;
43
44
  }
45
+ start(when = 0, offset = 0, duration) {
46
+ if (when < 0) {
47
+ throw new RangeError(`when must be a finite non-negative number: ${when}`);
48
+ }
49
+ if (offset < 0) {
50
+ throw new RangeError(`offset must be a finite non-negative number: ${when}`);
51
+ }
52
+ if (duration && duration < 0) {
53
+ throw new RangeError(`duration must be a finite non-negative number: ${when}`);
54
+ }
55
+ if (this.hasBeenStarted) {
56
+ throw new InvalidStateError('Cannot call start more than once');
57
+ }
58
+ this.hasBeenStarted = true;
59
+ if (duration) {
60
+ this.node.start(when, offset, duration);
61
+ return;
62
+ }
63
+ this.node.start(when, offset, this.buffer.duration);
64
+ }
44
65
  }
45
66
  //# sourceMappingURL=AudioBufferSourceNode.js.map
@@ -1 +1 @@
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
+ {"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["core/AudioBufferSourceNode.ts"],"mappings":";;AACA,OAAOA,wBAAwB,MAAM,+BAA4B;AAEjE,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CAACC,OAAyB,EAAEC,IAA4B,EAAE;IACnE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIP,UAAU,CAACM,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIR,UAAU,CAACM,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,IAAIV,WAAW,CAACU,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;EAEOG,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIb,UAAU,CAClB,8CAA8Ca,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAId,UAAU,CAClB,gDAAgDa,IAAI,EACtD,CAAC;IACH;IAEA,IAAIE,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDa,IAAI,EACxD,CAAC;IACH;IAEA,IAAI,IAAI,CAACG,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IAE1B,IAAID,QAAQ,EAAE;MACX,IAAI,CAACX,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;MACnE;IACF;IAEC,IAAI,CAACX,IAAI,CAA4BQ,KAAK,CACzCC,IAAI,EACJC,MAAM,EACN,IAAI,CAACP,MAAM,CAAEQ,QACf,CAAC;EACH;AACF","ignoreList":[]}
@@ -6,7 +6,7 @@ export default class AudioScheduledSourceNode extends AudioNode {
6
6
  hasBeenStarted = false;
7
7
  start(when = 0) {
8
8
  if (when < 0) {
9
- throw new RangeError(`Time must be a finite non-negative number: ${when}`);
9
+ throw new RangeError(`when must be a finite non-negative number: ${when}`);
10
10
  }
11
11
  if (this.hasBeenStarted) {
12
12
  throw new InvalidStateError('Cannot call start more than once');
@@ -16,7 +16,7 @@ export default class AudioScheduledSourceNode extends AudioNode {
16
16
  }
17
17
  stop(when = 0) {
18
18
  if (when < 0) {
19
- throw new RangeError(`Time must be a finite non-negative number: ${when}`);
19
+ throw new RangeError(`when must be a finite non-negative number: ${when}`);
20
20
  }
21
21
  if (!this.hasBeenStarted) {
22
22
  throw new InvalidStateError('Cannot call stop without calling start first');
@@ -1 +1 @@
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
+ {"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;EACpDI,cAAc,GAAY,KAAK;EAElCC,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":[]}
@@ -149,6 +149,9 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
149
149
  set loopEnd(value) {
150
150
  this.node.loopEnd = value;
151
151
  }
152
+ start(when, offset, duration) {
153
+ this.node.start(when, offset, duration);
154
+ }
152
155
  }
153
156
  export class AudioDestinationNode extends AudioNode {}
154
157
  export class AudioParam {
@@ -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","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","loopStart","loopEnd","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","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","undefined","AnalyserNode","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","Uint8Array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData","AudioScheduledSourceNode","hasBeenStarted","start","when","RangeError","stop","AudioBufferSourceNode","detune","AudioParam","playbackRate","loop","loopStart","loopEnd","offset","AudioDestinationNode","param","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","cancelScheduledValues","cancelAndHoldAtTime","cancelTime","BiquadFilterNode","biquadFilter","frequency","Q","gain","type","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","PeriodicWave","periodicWave","OscillatorNode","setPeriodicWave","wave","GainNode","StereoPannerNode","pan","AudioContext","_sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","createPeriodicWave","real","imag","constraints","createAnalyser","decodeAudioDataSource","arrayBuffer","fetch","then","response","decodeAudioData","close","ContextState","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -15,5 +15,6 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
15
15
  set loopStart(value: number);
16
16
  get loopEnd(): number;
17
17
  set loopEnd(value: number);
18
+ start(when?: number, offset?: number, duration?: number): void;
18
19
  }
19
20
  //# 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;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"}
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;AAGtC,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;IAEM,KAAK,CAAC,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAoC5E"}
@@ -1,6 +1,6 @@
1
1
  import AudioNode from './AudioNode';
2
2
  export default class AudioScheduledSourceNode extends AudioNode {
3
- private hasBeenStarted;
3
+ protected hasBeenStarted: boolean;
4
4
  start(when?: number): void;
5
5
  stop(when?: number): void;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AudioScheduledSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioScheduledSourceNode.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAAS;IAC7D,OAAO,CAAC,cAAc,CAAkB;IAEjC,KAAK,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;IAe7B,IAAI,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;CAepC"}
1
+ {"version":3,"file":"AudioScheduledSourceNode.d.ts","sourceRoot":"","sources":["../../../src/core/AudioScheduledSourceNode.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,SAAS;IAC7D,SAAS,CAAC,cAAc,EAAE,OAAO,CAAS;IAEnC,KAAK,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;IAe7B,IAAI,CAAC,IAAI,GAAE,MAAU,GAAG,IAAI;CAepC"}
@@ -54,6 +54,7 @@ export declare class AudioBufferSourceNode extends AudioScheduledSourceNode {
54
54
  set loopStart(value: number);
55
55
  get loopEnd(): number;
56
56
  set loopEnd(value: number);
57
+ start(when?: number, offset?: number, duration?: number): void;
57
58
  }
58
59
  export declare class AudioDestinationNode extends AudioNode {
59
60
  }
@@ -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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"}
@@ -44,8 +44,8 @@ export interface IBiquadFilterNode extends IAudioNode {
44
44
  export interface IAudioDestinationNode extends IAudioNode {
45
45
  }
46
46
  export interface IAudioScheduledSourceNode extends IAudioNode {
47
- start: (time: number) => void;
48
- stop: (time: number) => void;
47
+ start(when?: number): void;
48
+ stop: (when: number) => void;
49
49
  }
50
50
  export interface IOscillatorNode extends IAudioScheduledSourceNode {
51
51
  readonly frequency: IAudioParam;
@@ -60,6 +60,7 @@ export interface IAudioBufferSourceNode extends IAudioScheduledSourceNode {
60
60
  loopEnd: number;
61
61
  detune: IAudioParam;
62
62
  playbackRate: IAudioParam;
63
+ start: (when?: number, offset?: number, duration?: number) => void;
63
64
  }
64
65
  export interface IAudioBuffer {
65
66
  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.4.4",
3
+ "version": "0.4.6",
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",
@@ -3,6 +3,7 @@ import AudioScheduledSourceNode from './AudioScheduledSourceNode';
3
3
  import BaseAudioContext from './BaseAudioContext';
4
4
  import AudioBuffer from './AudioBuffer';
5
5
  import AudioParam from './AudioParam';
6
+ import { InvalidStateError, RangeError } from '../errors';
6
7
 
7
8
  export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
8
9
  readonly playbackRate: AudioParam;
@@ -55,4 +56,41 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
55
56
  public set loopEnd(value: number) {
56
57
  (this.node as IAudioBufferSourceNode).loopEnd = value;
57
58
  }
59
+
60
+ public start(when: number = 0, offset: number = 0, duration?: number): void {
61
+ if (when < 0) {
62
+ throw new RangeError(
63
+ `when must be a finite non-negative number: ${when}`
64
+ );
65
+ }
66
+
67
+ if (offset < 0) {
68
+ throw new RangeError(
69
+ `offset must be a finite non-negative number: ${when}`
70
+ );
71
+ }
72
+
73
+ if (duration && duration < 0) {
74
+ throw new RangeError(
75
+ `duration must be a finite non-negative number: ${when}`
76
+ );
77
+ }
78
+
79
+ if (this.hasBeenStarted) {
80
+ throw new InvalidStateError('Cannot call start more than once');
81
+ }
82
+
83
+ this.hasBeenStarted = true;
84
+
85
+ if (duration) {
86
+ (this.node as IAudioBufferSourceNode).start(when, offset, duration);
87
+ return;
88
+ }
89
+
90
+ (this.node as IAudioBufferSourceNode).start(
91
+ when,
92
+ offset,
93
+ this.buffer!.duration
94
+ );
95
+ }
58
96
  }
@@ -3,12 +3,12 @@ import AudioNode from './AudioNode';
3
3
  import { InvalidStateError, RangeError } from '../errors';
4
4
 
5
5
  export default class AudioScheduledSourceNode extends AudioNode {
6
- private hasBeenStarted: boolean = false;
6
+ protected hasBeenStarted: boolean = false;
7
7
 
8
8
  public start(when: number = 0): void {
9
9
  if (when < 0) {
10
10
  throw new RangeError(
11
- `Time must be a finite non-negative number: ${when}`
11
+ `when must be a finite non-negative number: ${when}`
12
12
  );
13
13
  }
14
14
 
@@ -23,7 +23,7 @@ export default class AudioScheduledSourceNode extends AudioNode {
23
23
  public stop(when: number = 0): void {
24
24
  if (when < 0) {
25
25
  throw new RangeError(
26
- `Time must be a finite non-negative number: ${when}`
26
+ `when must be a finite non-negative number: ${when}`
27
27
  );
28
28
  }
29
29
 
package/src/index.ts CHANGED
@@ -257,6 +257,14 @@ export class AudioBufferSourceNode extends AudioScheduledSourceNode {
257
257
  public set loopEnd(value: number) {
258
258
  (this.node as globalThis.AudioBufferSourceNode).loopEnd = value;
259
259
  }
260
+
261
+ public start(when?: number, offset?: number, duration?: number): void {
262
+ (this.node as globalThis.AudioBufferSourceNode).start(
263
+ when,
264
+ offset,
265
+ duration
266
+ );
267
+ }
260
268
  }
261
269
 
262
270
  export class AudioDestinationNode extends AudioNode {}
package/src/interfaces.ts CHANGED
@@ -73,8 +73,8 @@ export interface IBiquadFilterNode extends IAudioNode {
73
73
  export interface IAudioDestinationNode extends IAudioNode {}
74
74
 
75
75
  export interface IAudioScheduledSourceNode extends IAudioNode {
76
- start: (time: number) => void;
77
- stop: (time: number) => void;
76
+ start(when?: number): void;
77
+ stop: (when: number) => void;
78
78
  }
79
79
 
80
80
  export interface IOscillatorNode extends IAudioScheduledSourceNode {
@@ -90,9 +90,10 @@ export interface IAudioBufferSourceNode extends IAudioScheduledSourceNode {
90
90
  loop: boolean;
91
91
  loopStart: number;
92
92
  loopEnd: number;
93
-
94
93
  detune: IAudioParam;
95
94
  playbackRate: IAudioParam;
95
+
96
+ start: (when?: number, offset?: number, duration?: number) => void;
96
97
  }
97
98
 
98
99
  export interface IAudioBuffer {