react-native-audio-api 0.4.13 → 0.4.15

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 (126) hide show
  1. package/android/src/main/cpp/audioapi/CMakeLists.txt +3 -2
  2. package/android/src/main/cpp/audioapi/android/core/AudioDecoder.cpp +3 -3
  3. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.cpp +13 -12
  4. package/android/src/main/cpp/audioapi/android/core/AudioPlayer.h +0 -1
  5. package/{common/cpp/audioapi/libs/pffft → android/src/main/cpp/audioapi/android/libs}/pffft.c +1 -1
  6. package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +1 -0
  7. package/common/cpp/audioapi/AudioAPIModuleInstaller.h +3 -1
  8. package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +16 -24
  9. package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +0 -4
  10. package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +4 -20
  11. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.h +2 -3
  12. package/common/cpp/audioapi/HostObjects/AudioScheduledSourceNodeHostObject.h +2 -32
  13. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +21 -14
  14. package/common/cpp/audioapi/HostObjects/OscillatorNodeHostObject.h +2 -4
  15. package/common/cpp/audioapi/HostObjects/StretcherNodeHostObject.h +35 -0
  16. package/common/cpp/audioapi/core/AudioNode.cpp +2 -2
  17. package/common/cpp/audioapi/core/AudioParam.cpp +1 -1
  18. package/common/cpp/audioapi/core/BaseAudioContext.cpp +12 -4
  19. package/common/cpp/audioapi/core/BaseAudioContext.h +4 -2
  20. package/common/cpp/audioapi/core/Constants.h +33 -8
  21. package/common/cpp/audioapi/core/analysis/AnalyserNode.cpp +45 -42
  22. package/common/cpp/audioapi/core/analysis/AnalyserNode.h +6 -8
  23. package/common/cpp/audioapi/core/destinations/AudioDestinationNode.cpp +1 -1
  24. package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +8 -12
  25. package/common/cpp/audioapi/core/effects/GainNode.cpp +3 -4
  26. package/common/cpp/audioapi/core/effects/PeriodicWave.cpp +49 -32
  27. package/common/cpp/audioapi/core/effects/PeriodicWave.h +3 -8
  28. package/common/cpp/audioapi/core/effects/StereoPannerNode.cpp +3 -3
  29. package/common/cpp/audioapi/core/effects/StretcherNode.cpp +94 -0
  30. package/common/cpp/audioapi/core/effects/StretcherNode.h +35 -0
  31. package/common/cpp/audioapi/core/sources/AudioBuffer.cpp +2 -9
  32. package/common/cpp/audioapi/core/sources/AudioBuffer.h +2 -5
  33. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +35 -72
  34. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +8 -41
  35. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.cpp +6 -18
  36. package/common/cpp/audioapi/core/sources/AudioScheduledSourceNode.h +0 -7
  37. package/common/cpp/audioapi/core/sources/OscillatorNode.cpp +3 -12
  38. package/common/cpp/audioapi/core/sources/OscillatorNode.h +0 -1
  39. package/common/cpp/audioapi/{utils → core/utils}/AudioArray.cpp +5 -5
  40. package/common/cpp/audioapi/{utils → core/utils}/AudioBus.cpp +29 -29
  41. package/common/cpp/audioapi/dsp/AudioUtils.cpp +2 -2
  42. package/common/cpp/audioapi/dsp/AudioUtils.h +2 -2
  43. package/common/cpp/audioapi/dsp/FFTFrame.cpp +100 -0
  44. package/common/cpp/audioapi/dsp/FFTFrame.h +74 -0
  45. package/common/cpp/audioapi/dsp/VectorMath.cpp +3 -3
  46. package/common/cpp/audioapi/dsp/VectorMath.h +2 -2
  47. package/common/cpp/audioapi/libs/dsp/common.h +47 -0
  48. package/common/cpp/audioapi/libs/{signalsmith-stretch → dsp}/delay.h +11 -9
  49. package/common/cpp/audioapi/libs/{signalsmith-stretch → dsp}/fft.h +7 -6
  50. package/common/cpp/audioapi/libs/{signalsmith-stretch → dsp}/perf.h +2 -0
  51. package/common/cpp/audioapi/libs/{signalsmith-stretch → dsp}/spectral.h +13 -10
  52. package/common/cpp/audioapi/libs/dsp/windows.h +219 -0
  53. package/common/cpp/audioapi/libs/{signalsmith-stretch/signalsmith-stretch.h → signalsmith-stretch.h} +4 -3
  54. package/ios/audioapi/ios/core/AudioDecoder.mm +3 -3
  55. package/ios/audioapi/ios/core/AudioPlayer.h +2 -5
  56. package/ios/audioapi/ios/core/AudioPlayer.m +5 -9
  57. package/ios/audioapi/ios/core/IOSAudioPlayer.h +0 -1
  58. package/ios/audioapi/ios/core/IOSAudioPlayer.mm +10 -12
  59. package/lib/module/api.js +2 -1
  60. package/lib/module/api.js.map +1 -1
  61. package/lib/module/api.web.js +1 -1
  62. package/lib/module/api.web.js.map +1 -1
  63. package/lib/module/core/AudioBufferSourceNode.js +0 -6
  64. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  65. package/lib/module/core/AudioScheduledSourceNode.js +0 -5
  66. package/lib/module/core/AudioScheduledSourceNode.js.map +1 -1
  67. package/lib/module/core/BaseAudioContext.js +4 -0
  68. package/lib/module/core/BaseAudioContext.js.map +1 -1
  69. package/lib/module/core/StretcherNode.js +12 -0
  70. package/lib/module/core/StretcherNode.js.map +1 -0
  71. package/lib/module/web-core/AudioBufferSourceNode.js +0 -6
  72. package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
  73. package/lib/module/web-core/AudioScheduledSourceNode.js +0 -8
  74. package/lib/module/web-core/AudioScheduledSourceNode.js.map +1 -1
  75. package/lib/module/web-core/StretcherNode.js +7 -24
  76. package/lib/module/web-core/StretcherNode.js.map +1 -1
  77. package/lib/module/web-core/custom/signalsmithStretch/README.md +1 -1
  78. package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -1
  79. package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js.map +1 -1
  80. package/lib/typescript/api.d.ts +2 -1
  81. package/lib/typescript/api.d.ts.map +1 -1
  82. package/lib/typescript/api.web.d.ts +1 -1
  83. package/lib/typescript/api.web.d.ts.map +1 -1
  84. package/lib/typescript/core/AudioBufferSourceNode.d.ts +0 -3
  85. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  86. package/lib/typescript/core/AudioScheduledSourceNode.d.ts +0 -1
  87. package/lib/typescript/core/AudioScheduledSourceNode.d.ts.map +1 -1
  88. package/lib/typescript/core/BaseAudioContext.d.ts +2 -0
  89. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  90. package/lib/typescript/core/StretcherNode.d.ts +10 -0
  91. package/lib/typescript/core/StretcherNode.d.ts.map +1 -0
  92. package/lib/typescript/interfaces.d.ts +6 -3
  93. package/lib/typescript/interfaces.d.ts.map +1 -1
  94. package/lib/typescript/types.d.ts +0 -1
  95. package/lib/typescript/types.d.ts.map +1 -1
  96. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +0 -3
  97. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
  98. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts +0 -1
  99. package/lib/typescript/web-core/AudioScheduledSourceNode.d.ts.map +1 -1
  100. package/lib/typescript/web-core/StretcherNode.d.ts +0 -3
  101. package/lib/typescript/web-core/StretcherNode.d.ts.map +1 -1
  102. package/package.json +4 -3
  103. package/scripts/setup-custom-wasm.js +104 -0
  104. package/src/api.ts +1 -1
  105. package/src/api.web.ts +0 -1
  106. package/src/core/AudioBufferSourceNode.ts +0 -9
  107. package/src/core/AudioScheduledSourceNode.ts +0 -5
  108. package/src/core/BaseAudioContext.ts +5 -0
  109. package/src/core/StretcherNode.ts +15 -0
  110. package/src/interfaces.ts +6 -3
  111. package/src/types.ts +0 -2
  112. package/src/web-core/AudioBufferSourceNode.tsx +0 -11
  113. package/src/web-core/AudioScheduledSourceNode.tsx +0 -9
  114. package/src/web-core/StretcherNode.tsx +8 -28
  115. package/src/web-core/custom/signalsmithStretch/README.md +1 -1
  116. package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -1
  117. package/common/cpp/audioapi/core/types/TimeStretchType.h +0 -7
  118. package/common/cpp/audioapi/dsp/FFT.cpp +0 -41
  119. package/common/cpp/audioapi/dsp/FFT.h +0 -29
  120. package/common/cpp/audioapi/dsp/Windows.cpp +0 -80
  121. package/common/cpp/audioapi/dsp/Windows.h +0 -95
  122. package/scripts/setup-rn-audio-api-web.js +0 -58
  123. /package/{common/cpp/audioapi/libs/pffft → android/src/main/cpp/audioapi/android/libs}/pffft.h +0 -0
  124. /package/common/cpp/audioapi/{utils → core/utils}/AudioArray.h +0 -0
  125. /package/common/cpp/audioapi/{utils → core/utils}/AudioBus.h +0 -0
  126. /package/common/cpp/audioapi/libs/{miniaudio/miniaudio.h → miniaudio.h} +0 -0
@@ -14,14 +14,11 @@ typedef void (^RenderAudioBlock)(AudioBufferList *outputBuffer, int numFrames);
14
14
  @property (nonatomic, strong) AVAudioSourceNode *sourceNode;
15
15
  @property (nonatomic, copy) RenderAudioBlock renderAudio;
16
16
  @property (nonatomic, assign) float sampleRate;
17
- @property (nonatomic, assign) int channelCount;
18
17
  @property (nonatomic, assign) bool isRunning;
19
18
 
20
- - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio channelCount:(int)channelCount;
19
+ - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio;
21
20
 
22
- - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio
23
- sampleRate:(float)sampleRate
24
- channelCount:(int)channelCount;
21
+ - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio sampleRate:(float)sampleRate;
25
22
 
26
23
  - (float)getSampleRate;
27
24
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  @implementation AudioPlayer
4
4
 
5
- - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio channelCount:(int)channelCount
5
+ - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio
6
6
  {
7
7
  if (self = [super init]) {
8
8
  self.renderAudio = [renderAudio copy];
@@ -14,9 +14,8 @@
14
14
  [self setupAndInitNotificationHandlers];
15
15
 
16
16
  self.sampleRate = [self.audioSession sampleRate];
17
- self.channelCount = channelCount;
18
17
 
19
- _format = [[AVAudioFormat alloc] initStandardFormatWithSampleRate:self.sampleRate channels:self.channelCount];
18
+ _format = [[AVAudioFormat alloc] initStandardFormatWithSampleRate:self.sampleRate channels:2];
20
19
 
21
20
  __weak typeof(self) weakSelf = self;
22
21
  _sourceNode = [[AVAudioSourceNode alloc] initWithFormat:self.format
@@ -35,9 +34,7 @@
35
34
  return self;
36
35
  }
37
36
 
38
- - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio
39
- sampleRate:(float)sampleRate
40
- channelCount:(int)channelCount
37
+ - (instancetype)initWithRenderAudioBlock:(RenderAudioBlock)renderAudio sampleRate:(float)sampleRate
41
38
  {
42
39
  if (self = [super init]) {
43
40
  self.renderAudio = [renderAudio copy];
@@ -49,9 +46,8 @@
49
46
  [self setupAndInitNotificationHandlers];
50
47
 
51
48
  self.sampleRate = sampleRate;
52
- self.channelCount = channelCount;
53
49
 
54
- _format = [[AVAudioFormat alloc] initStandardFormatWithSampleRate:self.sampleRate channels:self.channelCount];
50
+ _format = [[AVAudioFormat alloc] initStandardFormatWithSampleRate:self.sampleRate channels:2];
55
51
 
56
52
  __weak typeof(self) weakSelf = self;
57
53
  _sourceNode = [[AVAudioSourceNode alloc] initWithFormat:self.format
@@ -123,7 +119,7 @@
123
119
  frameCount:(AVAudioFrameCount)frameCount
124
120
  outputData:(AudioBufferList *)outputData
125
121
  {
126
- if (outputData->mNumberBuffers < self.channelCount) {
122
+ if (outputData->mNumberBuffers < 2) {
127
123
  return noErr; // Ensure we have stereo output
128
124
  }
129
125
 
@@ -18,7 +18,6 @@ class IOSAudioPlayer {
18
18
  std::shared_ptr<AudioBus> audioBus_;
19
19
  AudioPlayer *audioPlayer_;
20
20
  std::function<void(std::shared_ptr<AudioBus>, int)> renderAudio_;
21
- int channelCount_;
22
21
 
23
22
  public:
24
23
  explicit IOSAudioPlayer(
@@ -1,14 +1,14 @@
1
1
  #import <AVFoundation/AVFoundation.h>
2
2
 
3
3
  #include <audioapi/core/Constants.h>
4
+ #include <audioapi/core/utils/AudioArray.h>
5
+ #include <audioapi/core/utils/AudioBus.h>
4
6
  #include <audioapi/ios/core/IOSAudioPlayer.h>
5
- #include <audioapi/utils/AudioArray.h>
6
- #include <audioapi/utils/AudioBus.h>
7
7
 
8
8
  namespace audioapi {
9
9
 
10
10
  IOSAudioPlayer::IOSAudioPlayer(const std::function<void(std::shared_ptr<AudioBus>, int)> &renderAudio)
11
- : channelCount_(2), renderAudio_(renderAudio), audioBus_(0)
11
+ : renderAudio_(renderAudio), audioBus_(0)
12
12
  {
13
13
  RenderAudioBlock renderAudioBlock = ^(AudioBufferList *outputData, int numFrames) {
14
14
  int processedFrames = 0;
@@ -18,7 +18,7 @@ IOSAudioPlayer::IOSAudioPlayer(const std::function<void(std::shared_ptr<AudioBus
18
18
  renderAudio_(audioBus_, framesToProcess);
19
19
 
20
20
  // TODO: optimize this with SIMD?
21
- for (int channel = 0; channel < channelCount_; channel += 1) {
21
+ for (int channel = 0; channel < CHANNEL_COUNT; channel += 1) {
22
22
  float *outputChannel = (float *)outputData->mBuffers[channel].mData;
23
23
  auto *inputChannel = audioBus_->getChannel(channel)->getData();
24
24
 
@@ -31,12 +31,12 @@ IOSAudioPlayer::IOSAudioPlayer(const std::function<void(std::shared_ptr<AudioBus
31
31
  }
32
32
  };
33
33
 
34
- audioPlayer_ = [[AudioPlayer alloc] initWithRenderAudioBlock:renderAudioBlock channelCount:channelCount_];
35
- audioBus_ = std::make_shared<AudioBus>(RENDER_QUANTUM_SIZE, channelCount_, getSampleRate());
34
+ audioPlayer_ = [[AudioPlayer alloc] initWithRenderAudioBlock:renderAudioBlock];
35
+ audioBus_ = std::make_shared<AudioBus>(RENDER_QUANTUM_SIZE, CHANNEL_COUNT, getSampleRate());
36
36
  }
37
37
 
38
38
  IOSAudioPlayer::IOSAudioPlayer(const std::function<void(std::shared_ptr<AudioBus>, int)> &renderAudio, float sampleRate)
39
- : channelCount_(2), renderAudio_(renderAudio), audioBus_(0)
39
+ : renderAudio_(renderAudio), audioBus_(0)
40
40
  {
41
41
  RenderAudioBlock renderAudioBlock = ^(AudioBufferList *outputData, int numFrames) {
42
42
  int processedFrames = 0;
@@ -46,7 +46,7 @@ IOSAudioPlayer::IOSAudioPlayer(const std::function<void(std::shared_ptr<AudioBus
46
46
  renderAudio_(audioBus_, framesToProcess);
47
47
 
48
48
  // TODO: optimize this with SIMD?
49
- for (int channel = 0; channel < channelCount_; channel += 1) {
49
+ for (int channel = 0; channel < CHANNEL_COUNT; channel += 1) {
50
50
  float *outputChannel = (float *)outputData->mBuffers[channel].mData;
51
51
  auto *inputChannel = audioBus_->getChannel(channel)->getData();
52
52
 
@@ -59,10 +59,8 @@ IOSAudioPlayer::IOSAudioPlayer(const std::function<void(std::shared_ptr<AudioBus
59
59
  }
60
60
  };
61
61
 
62
- audioPlayer_ = [[AudioPlayer alloc] initWithRenderAudioBlock:renderAudioBlock
63
- sampleRate:sampleRate
64
- channelCount:channelCount_];
65
- audioBus_ = std::make_shared<AudioBus>(RENDER_QUANTUM_SIZE, channelCount_, getSampleRate());
62
+ audioPlayer_ = [[AudioPlayer alloc] initWithRenderAudioBlock:renderAudioBlock sampleRate:sampleRate];
63
+ audioBus_ = std::make_shared<AudioBus>(RENDER_QUANTUM_SIZE, CHANNEL_COUNT, getSampleRate());
66
64
  }
67
65
 
68
66
  IOSAudioPlayer::~IOSAudioPlayer()
package/lib/module/api.js CHANGED
@@ -25,6 +25,7 @@ export { default as BiquadFilterNode } from "./core/BiquadFilterNode.js";
25
25
  export { default as GainNode } from "./core/GainNode.js";
26
26
  export { default as OscillatorNode } from "./core/OscillatorNode.js";
27
27
  export { default as StereoPannerNode } from "./core/StereoPannerNode.js";
28
- export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints, TimeStretchType } from "./types.js";
28
+ export { default as StretcherNode } from "./core/StretcherNode.js";
29
+ export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
29
30
  export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
30
31
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","TimeStretchType","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;;AAG/D;;AAIA;;AAEA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;EACrC,IAAI,CAACF,oBAAoB,EAAE;IACzB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;EACH;EAEAH,oBAAoB,CAACI,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,WAAW,QAAQ,uBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,wBAAqB;AAC7D,SAASH,OAAO,IAAII,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASJ,OAAO,IAAIK,SAAS,QAAQ,qBAAkB;AACvD,SAASL,OAAO,IAAIM,YAAY,QAAQ,wBAAqB;AAC7D,SAASN,OAAO,IAAIO,UAAU,QAAQ,sBAAmB;AACzD,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,oCAAiC;AACrF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,4BAAyB;AACrE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,4BAAyB;AACrE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,oBAAiB;AACrD,SAASX,OAAO,IAAIY,cAAc,QAAQ,0BAAuB;AACjE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AAErE,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,EACvBC,eAAe,QACV,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
1
+ {"version":3,"names":["NativeAudioAPIModule","global","createAudioContext","Error","install","default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","StretcherNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA,OAAOA,oBAAoB,MAAM,iCAA8B;;AAG/D;;AAIA;;AAEA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;EACrC,IAAI,CAACF,oBAAoB,EAAE;IACzB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;EACH;EAEAH,oBAAoB,CAACI,OAAO,CAAC,CAAC;AAChC;AAEA,SAASC,OAAO,IAAIC,WAAW,QAAQ,uBAAoB;AAC3D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,iCAA8B;AAC/E,SAASF,OAAO,IAAIG,YAAY,QAAQ,wBAAqB;AAC7D,SAASH,OAAO,IAAII,oBAAoB,QAAQ,gCAA6B;AAC7E,SAASJ,OAAO,IAAIK,SAAS,QAAQ,qBAAkB;AACvD,SAASL,OAAO,IAAIM,YAAY,QAAQ,wBAAqB;AAC7D,SAASN,OAAO,IAAIO,UAAU,QAAQ,sBAAmB;AACzD,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,oCAAiC;AACrF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,4BAAyB;AACrE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,4BAAyB;AACrE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,oBAAiB;AACrD,SAASX,OAAO,IAAIY,cAAc,QAAQ,0BAAuB;AACjE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,4BAAyB;AACrE,SAASb,OAAO,IAAIc,aAAa,QAAQ,yBAAsB;AAE/D,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
@@ -15,6 +15,6 @@ export { default as OscillatorNode } from "./web-core/OscillatorNode.js";
15
15
  export { default as StereoPannerNode } from "./web-core/StereoPannerNode.js";
16
16
  export { default as StretcherNode } from "./web-core/StretcherNode.js";
17
17
  export * from "./web-core/custom/index.js";
18
- export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints, TimeStretchType } from "./types.js";
18
+ export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
19
19
  export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
20
20
  //# sourceMappingURL=api.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","StretcherNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","TimeStretchType","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAAwB;AAC/D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,qCAAkC;AACnF,SAASF,OAAO,IAAIG,YAAY,QAAQ,4BAAyB;AACjE,SAASH,OAAO,IAAII,oBAAoB,QAAQ,oCAAiC;AACjF,SAASJ,OAAO,IAAIK,SAAS,QAAQ,yBAAsB;AAC3D,SAASL,OAAO,IAAIM,YAAY,QAAQ,4BAAyB;AACjE,SAASN,OAAO,IAAIO,UAAU,QAAQ,0BAAuB;AAC7D,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,wCAAqC;AACzF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,gCAA6B;AACzE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,gCAA6B;AACzE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,wBAAqB;AACzD,SAASX,OAAO,IAAIY,cAAc,QAAQ,8BAA2B;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,gCAA6B;AACzE,SAASb,OAAO,IAAIc,aAAa,QAAQ,6BAA0B;AAEnE,cAAc,4BAAmB;AAEjC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,EACvBC,eAAe,QACV,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
1
+ {"version":3,"names":["default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","StretcherNode","OscillatorType","BiquadFilterType","ChannelCountMode","ChannelInterpretation","ContextState","WindowType","PeriodicWaveConstraints","IndexSizeError","InvalidAccessError","InvalidStateError","RangeError","NotSupportedError"],"sourceRoot":"../../src","sources":["api.web.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAAwB;AAC/D,SAASD,OAAO,IAAIE,qBAAqB,QAAQ,qCAAkC;AACnF,SAASF,OAAO,IAAIG,YAAY,QAAQ,4BAAyB;AACjE,SAASH,OAAO,IAAII,oBAAoB,QAAQ,oCAAiC;AACjF,SAASJ,OAAO,IAAIK,SAAS,QAAQ,yBAAsB;AAC3D,SAASL,OAAO,IAAIM,YAAY,QAAQ,4BAAyB;AACjE,SAASN,OAAO,IAAIO,UAAU,QAAQ,0BAAuB;AAC7D,SAASP,OAAO,IAAIQ,wBAAwB,QAAQ,wCAAqC;AACzF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,gCAA6B;AACzE,SAAST,OAAO,IAAIU,gBAAgB,QAAQ,gCAA6B;AACzE,SAASV,OAAO,IAAIW,QAAQ,QAAQ,wBAAqB;AACzD,SAASX,OAAO,IAAIY,cAAc,QAAQ,8BAA2B;AACrE,SAASZ,OAAO,IAAIa,gBAAgB,QAAQ,gCAA6B;AACzE,SAASb,OAAO,IAAIc,aAAa,QAAQ,6BAA0B;AAEnE,cAAc,4BAAmB;AAEjC,SACEC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,qBAAqB,EACrBC,YAAY,EACZC,UAAU,EACVC,uBAAuB,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
@@ -42,12 +42,6 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
42
42
  set loopEnd(value) {
43
43
  this.node.loopEnd = value;
44
44
  }
45
- get timeStretch() {
46
- return this.node.timeStretch;
47
- }
48
- set timeStretch(value) {
49
- this.node.timeStretch = value;
50
- }
51
45
  start(when = 0, offset = 0, duration) {
52
46
  if (when < 0) {
53
47
  throw new RangeError(`when must be a finite non-negative number: ${when}`);
@@ -1 +1 @@
1
- {"version":3,"names":["AudioScheduledSourceNode","AudioBuffer","AudioParam","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","timeStretch","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;AAGzD,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;EAEA,IAAWG,WAAWA,CAAA,EAAoB;IACxC,OAAQ,IAAI,CAACR,IAAI,CAA4BQ,WAAW;EAC1D;EAEA,IAAWA,WAAWA,CAACH,KAAsB,EAAE;IAC5C,IAAI,CAACL,IAAI,CAA4BQ,WAAW,GAAGH,KAAK;EAC3D;EAEOI,KAAKA,CAACC,IAAY,GAAG,CAAC,EAAEC,MAAc,GAAG,CAAC,EAAEC,QAAiB,EAAQ;IAC1E,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAId,UAAU,CAClB,8CAA8Cc,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,GAAG,CAAC,EAAE;MACd,MAAM,IAAIf,UAAU,CAClB,gDAAgDe,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIhB,UAAU,CAClB,kDAAkDgB,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIlB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACkB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACb,IAAI,CAA4BS,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;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,gDAAgDc,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDe,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACZ,IAAI,CAA4BQ,KAAK,CAACC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;EACrE;AACF","ignoreList":[]}
@@ -23,10 +23,5 @@ export default class AudioScheduledSourceNode extends AudioNode {
23
23
  }
24
24
  this.node.stop(when);
25
25
  }
26
-
27
- // eslint-disable-next-line accessor-pairs
28
- set onended(callback) {
29
- this.node.onended = callback;
30
- }
31
26
  }
32
27
  //# sourceMappingURL=AudioScheduledSourceNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","InvalidStateError","RangeError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop","onended","callback"],"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;;EAEA;EACA,IAAWG,OAAOA,CAACC,QAAgC,EAAE;IAClD,IAAI,CAACH,IAAI,CAA+BE,OAAO,GAAGC,QAAQ;EAC7D;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":[]}
@@ -9,6 +9,7 @@ import AudioBufferSourceNode from "./AudioBufferSourceNode.js";
9
9
  import AudioBuffer from "./AudioBuffer.js";
10
10
  import PeriodicWave from "./PeriodicWave.js";
11
11
  import AnalyserNode from "./AnalyserNode.js";
12
+ import StretcherNode from "./StretcherNode.js";
12
13
  import { InvalidAccessError, NotSupportedError } from "../errors/index.js";
13
14
  export default class BaseAudioContext {
14
15
  constructor(context) {
@@ -59,6 +60,9 @@ export default class BaseAudioContext {
59
60
  createAnalyser() {
60
61
  return new AnalyserNode(this, this.context.createAnalyser());
61
62
  }
63
+ createStretcher() {
64
+ return new StretcherNode(this, this.context.createStretcher());
65
+ }
62
66
  async decodeAudioDataSource(sourcePath) {
63
67
  // Remove the file:// prefix if it exists
64
68
  if (sourcePath.startsWith('file://')) {
@@ -1 +1 @@
1
- {"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","InvalidAccessError","NotSupportedError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AudioDestinationNode","OscillatorNode","GainNode","StereoPannerNode","BiquadFilterNode","AudioBufferSourceNode","AudioBuffer","PeriodicWave","AnalyserNode","StretcherNode","InvalidAccessError","NotSupportedError","BaseAudioContext","constructor","context","destination","sampleRate","currentTime","state","createOscillator","createGain","createStereoPanner","createBiquadFilter","createBufferSource","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","createStretcher","decodeAudioDataSource","sourcePath","startsWith","replace"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import AudioNode from "./AudioNode.js";
4
+ import AudioParam from "./AudioParam.js";
5
+ export default class StretcherNode extends AudioNode {
6
+ constructor(context, stretcher) {
7
+ super(context, stretcher);
8
+ this.rate = new AudioParam(stretcher.rate);
9
+ this.semitones = new AudioParam(stretcher.semitones);
10
+ }
11
+ }
12
+ //# sourceMappingURL=StretcherNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AudioNode","AudioParam","StretcherNode","constructor","context","stretcher","rate","semitones"],"sourceRoot":"../../../src","sources":["core/StretcherNode.ts"],"mappings":";;AACA,OAAOA,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAGrC,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EAInDG,WAAWA,CAACC,OAAyB,EAAEC,SAAyB,EAAE;IAChE,KAAK,CAACD,OAAO,EAAEC,SAAS,CAAC;IACzB,IAAI,CAACC,IAAI,GAAG,IAAIL,UAAU,CAACI,SAAS,CAACC,IAAI,CAAC;IAC1C,IAAI,CAACC,SAAS,GAAG,IAAIN,UAAU,CAACI,SAAS,CAACE,SAAS,CAAC;EACtD;AACF","ignoreList":[]}
@@ -42,12 +42,6 @@ export default class AudioBufferSourceNode extends AudioScheduledSourceNode {
42
42
  set loopEnd(value) {
43
43
  this.node.loopEnd = value;
44
44
  }
45
- get timeStretch() {
46
- return 'linear';
47
- }
48
- set timeStretch(value) {
49
- console.log('React Native Audio API: setting timeStretch is not supported on web');
50
- }
51
45
  start(when, offset, duration) {
52
46
  if (when && when < 0) {
53
47
  throw new RangeError(`when must be a finite non-negative number: ${when}`);
@@ -1 +1 @@
1
- {"version":3,"names":["AudioScheduledSourceNode","AudioParam","AudioBuffer","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","timeStretch","console","log","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":";;AAAA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AACrC,OAAOC,WAAW,MAAM,kBAAe;AACvC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAIzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CACTC,OAAyB,EACzBC,IAAsC,EACtC;IACA,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIR,UAAU,CAACO,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIT,UAAU,CAACO,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAAsCG,MAAM;IAErE,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IAEA,OAAO,IAAIT,WAAW,CAACS,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,GAA+C,IAAI;MAC7D;IACF;IAEC,IAAI,CAACA,IAAI,CAAsCG,MAAM,GAAGA,MAAM,CAACA,MAAM;EACxE;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAAsCI,IAAI;EAC7D;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAAsCI,IAAI,GAAGC,KAAK;EAC9D;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAAsCM,SAAS;EAClE;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAAsCM,SAAS,GAAGD,KAAK;EACnE;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAAsCO,OAAO;EAChE;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAAsCO,OAAO,GAAGF,KAAK;EACjE;EAEA,IAAWG,WAAWA,CAAA,EAAoB;IACxC,OAAO,QAAQ;EACjB;EAEA,IAAWA,WAAWA,CAACH,KAAsB,EAAE;IAC7CI,OAAO,CAACC,GAAG,CACT,qEACF,CAAC;EACH;EAEOC,KAAKA,CAACC,IAAa,EAAEC,MAAe,EAAEC,QAAiB,EAAQ;IACpE,IAAIF,IAAI,IAAIA,IAAI,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIhB,UAAU,CAClB,8CAA8CgB,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,IAAIA,MAAM,GAAG,CAAC,EAAE;MACxB,MAAM,IAAIjB,UAAU,CAClB,gDAAgDiB,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIlB,UAAU,CAClB,kDAAkDkB,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIpB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACoB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACf,IAAI,CAAsCW,KAAK,CACnDC,IAAI,EACJC,MAAM,EACNC,QACF,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioScheduledSourceNode","AudioParam","AudioBuffer","InvalidStateError","RangeError","AudioBufferSourceNode","constructor","context","node","detune","playbackRate","buffer","loop","value","loopStart","loopEnd","start","when","offset","duration","hasBeenStarted"],"sourceRoot":"../../../src","sources":["web-core/AudioBufferSourceNode.tsx"],"mappings":";;AAAA,OAAOA,wBAAwB,MAAM,+BAA4B;AACjE,OAAOC,UAAU,MAAM,iBAAc;AACrC,OAAOC,WAAW,MAAM,kBAAe;AACvC,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,oBAAW;AAGzD,eAAe,MAAMC,qBAAqB,SAASL,wBAAwB,CAAC;EAI1EM,WAAWA,CACTC,OAAyB,EACzBC,IAAsC,EACtC;IACA,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,MAAM,GAAG,IAAIR,UAAU,CAACO,IAAI,CAACC,MAAM,CAAC;IACzC,IAAI,CAACC,YAAY,GAAG,IAAIT,UAAU,CAACO,IAAI,CAACE,YAAY,CAAC;EACvD;EAEA,IAAWC,MAAMA,CAAA,EAAuB;IACtC,MAAMA,MAAM,GAAI,IAAI,CAACH,IAAI,CAAsCG,MAAM;IAErE,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IAEA,OAAO,IAAIT,WAAW,CAACS,MAAM,CAAC;EAChC;EAEA,IAAWA,MAAMA,CAACA,MAA0B,EAAE;IAC5C,IAAI,CAACA,MAAM,EAAE;MACV,IAAI,CAACH,IAAI,GAA+C,IAAI;MAC7D;IACF;IAEC,IAAI,CAACA,IAAI,CAAsCG,MAAM,GAAGA,MAAM,CAACA,MAAM;EACxE;EAEA,IAAWC,IAAIA,CAAA,EAAY;IACzB,OAAQ,IAAI,CAACJ,IAAI,CAAsCI,IAAI;EAC7D;EAEA,IAAWA,IAAIA,CAACC,KAAc,EAAE;IAC7B,IAAI,CAACL,IAAI,CAAsCI,IAAI,GAAGC,KAAK;EAC9D;EAEA,IAAWC,SAASA,CAAA,EAAW;IAC7B,OAAQ,IAAI,CAACN,IAAI,CAAsCM,SAAS;EAClE;EAEA,IAAWA,SAASA,CAACD,KAAa,EAAE;IACjC,IAAI,CAACL,IAAI,CAAsCM,SAAS,GAAGD,KAAK;EACnE;EAEA,IAAWE,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACP,IAAI,CAAsCO,OAAO;EAChE;EAEA,IAAWA,OAAOA,CAACF,KAAa,EAAE;IAC/B,IAAI,CAACL,IAAI,CAAsCO,OAAO,GAAGF,KAAK;EACjE;EAEOG,KAAKA,CAACC,IAAa,EAAEC,MAAe,EAAEC,QAAiB,EAAQ;IACpE,IAAIF,IAAI,IAAIA,IAAI,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIb,UAAU,CAClB,8CAA8Ca,IAAI,EACpD,CAAC;IACH;IAEA,IAAIC,MAAM,IAAIA,MAAM,GAAG,CAAC,EAAE;MACxB,MAAM,IAAId,UAAU,CAClB,gDAAgDc,MAAM,EACxD,CAAC;IACH;IAEA,IAAIC,QAAQ,IAAIA,QAAQ,GAAG,CAAC,EAAE;MAC5B,MAAM,IAAIf,UAAU,CAClB,kDAAkDe,QAAQ,EAC5D,CAAC;IACH;IAEA,IAAI,IAAI,CAACC,cAAc,EAAE;MACvB,MAAM,IAAIjB,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACiB,cAAc,GAAG,IAAI;IACzB,IAAI,CAACZ,IAAI,CAAsCQ,KAAK,CACnDC,IAAI,EACJC,MAAM,EACNC,QACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -23,13 +23,5 @@ export default class AudioScheduledSourceNode extends AudioNode {
23
23
  }
24
24
  this.node.stop(when);
25
25
  }
26
-
27
- // eslint-disable-next-line accessor-pairs
28
- set onended(callback) {
29
- const eventCallback = _event => {
30
- callback();
31
- };
32
- this.node.onended = eventCallback;
33
- }
34
26
  }
35
27
  //# sourceMappingURL=AudioScheduledSourceNode.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","RangeError","InvalidStateError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop","onended","callback","eventCallback","_event"],"sourceRoot":"../../../src","sources":["web-core/AudioScheduledSourceNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,UAAU,EAAEC,iBAAiB,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,IAAIL,UAAU,CAClB,8CAA8CK,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACF,cAAc,EAAE;MACvB,MAAM,IAAIF,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACE,cAAc,GAAG,IAAI;IACzB,IAAI,CAACG,IAAI,CAAyCF,KAAK,CAACC,IAAI,CAAC;EAChE;EAEOE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIL,UAAU,CAClB,8CAA8CK,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MACxB,MAAM,IAAIF,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACK,IAAI,CAAyCC,IAAI,CAACF,IAAI,CAAC;EAC/D;;EAEA;EACA,IAAWG,OAAOA,CAACC,QAAgC,EAAE;IACnD,MAAMC,aAAa,GAAIC,MAAa,IAAK;MACvCF,QAAQ,CAAC,CAAC;IACZ,CAAC;IAEA,IAAI,CAACH,IAAI,CAAyCE,OAAO,GAAGE,aAAa;EAC5E;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","RangeError","InvalidStateError","AudioScheduledSourceNode","hasBeenStarted","start","when","node","stop"],"sourceRoot":"../../../src","sources":["web-core/AudioScheduledSourceNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AACnC,SAASC,UAAU,EAAEC,iBAAiB,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,IAAIL,UAAU,CAClB,8CAA8CK,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,IAAI,CAACF,cAAc,EAAE;MACvB,MAAM,IAAIF,iBAAiB,CAAC,kCAAkC,CAAC;IACjE;IAEA,IAAI,CAACE,cAAc,GAAG,IAAI;IACzB,IAAI,CAACG,IAAI,CAAyCF,KAAK,CAACC,IAAI,CAAC;EAChE;EAEOE,IAAIA,CAACF,IAAY,GAAG,CAAC,EAAQ;IAClC,IAAIA,IAAI,GAAG,CAAC,EAAE;MACZ,MAAM,IAAIL,UAAU,CAClB,8CAA8CK,IAAI,EACpD,CAAC;IACH;IAEA,IAAI,CAAC,IAAI,CAACF,cAAc,EAAE;MACxB,MAAM,IAAIF,iBAAiB,CACzB,8CACF,CAAC;IACH;IAEC,IAAI,CAACK,IAAI,CAAyCC,IAAI,CAACF,IAAI,CAAC;EAC/D;AACF","ignoreList":[]}
@@ -7,7 +7,6 @@ export default class StretcherNode extends AudioNode {
7
7
  _playbackRate = 1;
8
8
  _loopStart = -1;
9
9
  _loopEnd = -1;
10
- _loop = false;
11
10
  _isPlaying = false;
12
11
  constructor(context, node) {
13
12
  super(context, node);
@@ -40,38 +39,22 @@ export default class StretcherNode extends AudioNode {
40
39
  }
41
40
  set loopStart(value) {
42
41
  this._loopStart = value;
43
- if (this._isPlaying) {
44
- this.node.schedule({
45
- loopStart: value
46
- });
47
- }
42
+ this.node.schedule({
43
+ loopStart: value
44
+ });
48
45
  }
49
46
  get loopEnd() {
50
47
  return this._loopEnd;
51
48
  }
52
49
  set loopEnd(value) {
53
50
  this._loopEnd = value;
54
- if (this._isPlaying) {
55
- this.node.schedule({
56
- loopEnd: value
57
- });
58
- }
59
- }
60
- get loop() {
61
- return this._loop;
62
- }
63
- set loop(value) {
64
- this._loop = value;
51
+ this.node.schedule({
52
+ loopEnd: value
53
+ });
65
54
  }
66
55
  start(when, offset, duration, rate, semitones) {
67
56
  this._isPlaying = true;
68
- if (this.loop && this._loopStart !== -1 && this._loopEnd !== -1) {
69
- this.node.schedule({
70
- loopStart: this._loopStart,
71
- loopEnd: this._loopEnd
72
- });
73
- }
74
- this.node.start(when ?? 0, offset ?? 0, duration ?? this._buffer?.duration ?? 0, rate ?? this._playbackRate ?? 0, semitones ?? 0);
57
+ this.node.start(when, offset, duration, rate, semitones);
75
58
  }
76
59
  stop(when) {
77
60
  this._isPlaying = false;
@@ -1 +1 @@
1
- {"version":3,"names":["AudioNode","globalTag","StretcherNode","_buffer","_playbackRate","_loopStart","_loopEnd","_loop","_isPlaying","constructor","context","node","buffer","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","playbackRate","value","schedule","rate","loopStart","loopEnd","loop","start","when","offset","duration","semitones","stop"],"sourceRoot":"../../../src","sources":["web-core/StretcherNode.tsx"],"mappings":";;AAEA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,SAASC,SAAS,QAAQ,4BAAyB;AAsCnD,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EACnDG,OAAO,GAAuB,IAAI;EAElCC,aAAa,GAAW,CAAC;EACzBC,UAAU,GAAW,CAAC,CAAC;EACvBC,QAAQ,GAAW,CAAC,CAAC;EACrBC,KAAK,GAAG,KAAK;EACbC,UAAU,GAAG,KAAK;EAElBC,WAAWA,CAACC,OAAyB,EAAEC,IAAoB,EAAE;IAC3D,KAAK,CAACD,OAAO,EAAEC,IAAuC,CAAC;IACvD,IAAI,CAACR,OAAO,GAAG,IAAI;EACrB;EAEA,IAAWS,MAAMA,CAAA,EAAuB;IACtC,OAAO,IAAI,CAACT,OAAO;EACrB;EAEA,IAAWS,MAAMA,CAACA,MAAmB,EAAE;IACrC,IAAI,CAACT,OAAO,GAAGS,MAAM;IACrB,MAAMC,aAA6B,GAAG,EAAE;IAExC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,gBAAgB,EAAED,CAAC,IAAI,CAAC,EAAE;MACnDD,aAAa,CAACG,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACH,CAAC,CAAC,CAAC;IAC9C;IAEC,IAAI,CAACH,IAAI,CAA+BO,UAAU,CAACL,aAAa,CAAC;EACpE;EAEA,IAAWM,YAAYA,CAAA,EAAW;IAChC,OAAO,IAAI,CAACf,aAAa;EAC3B;EAEA,IAAWe,YAAYA,CAACC,KAAa,EAAE;IACrC,IAAI,CAAChB,aAAa,GAAGgB,KAAK;IAE1B,IAAI,IAAI,CAACZ,UAAU,EAAE;MAClB,IAAI,CAACG,IAAI,CAA+BU,QAAQ,CAAC;QAAEC,IAAI,EAAEF;MAAM,CAAC,CAAC;IACpE;EACF;EAEA,IAAWG,SAASA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAAClB,UAAU;EACxB;EAEA,IAAWkB,SAASA,CAACH,KAAa,EAAE;IAClC,IAAI,CAACf,UAAU,GAAGe,KAAK;IAEvB,IAAI,IAAI,CAACZ,UAAU,EAAE;MAClB,IAAI,CAACG,IAAI,CAA+BU,QAAQ,CAAC;QAAEE,SAAS,EAAEH;MAAM,CAAC,CAAC;IACzE;EACF;EAEA,IAAWI,OAAOA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAAClB,QAAQ;EACtB;EAEA,IAAWkB,OAAOA,CAACJ,KAAa,EAAE;IAChC,IAAI,CAACd,QAAQ,GAAGc,KAAK;IAErB,IAAI,IAAI,CAACZ,UAAU,EAAE;MAClB,IAAI,CAACG,IAAI,CAA+BU,QAAQ,CAAC;QAAEG,OAAO,EAAEJ;MAAM,CAAC,CAAC;IACvE;EACF;EAEA,IAAWK,IAAIA,CAAA,EAAY;IACzB,OAAO,IAAI,CAAClB,KAAK;EACnB;EAEA,IAAWkB,IAAIA,CAACL,KAAc,EAAE;IAC9B,IAAI,CAACb,KAAK,GAAGa,KAAK;EACpB;EAEOM,KAAKA,CACVC,IAAa,EACbC,MAAe,EACfC,QAAiB,EACjBP,IAAa,EACbQ,SAAkB,EACZ;IACN,IAAI,CAACtB,UAAU,GAAG,IAAI;IAEtB,IAAI,IAAI,CAACiB,IAAI,IAAI,IAAI,CAACpB,UAAU,KAAK,CAAC,CAAC,IAAI,IAAI,CAACC,QAAQ,KAAK,CAAC,CAAC,EAAE;MAC9D,IAAI,CAACK,IAAI,CAA+BU,QAAQ,CAAC;QAChDE,SAAS,EAAE,IAAI,CAAClB,UAAU;QAC1BmB,OAAO,EAAE,IAAI,CAAClB;MAChB,CAAC,CAAC;IACJ;IAEC,IAAI,CAACK,IAAI,CAA+Be,KAAK,CAC5CC,IAAI,IAAI,CAAC,EACTC,MAAM,IAAI,CAAC,EACXC,QAAQ,IAAI,IAAI,CAAC1B,OAAO,EAAE0B,QAAQ,IAAI,CAAC,EACvCP,IAAI,IAAI,IAAI,CAAClB,aAAa,IAAI,CAAC,EAC/B0B,SAAS,IAAI,CACf,CAAC;EACH;EAEOC,IAAIA,CAACJ,IAAa,EAAQ;IAC/B,IAAI,CAACnB,UAAU,GAAG,KAAK;IACtB,IAAI,CAACG,IAAI,CAA+BoB,IAAI,CAACJ,IAAI,CAAC;EACrD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AudioNode","globalTag","StretcherNode","_buffer","_playbackRate","_loopStart","_loopEnd","_isPlaying","constructor","context","node","buffer","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","playbackRate","value","schedule","rate","loopStart","loopEnd","start","when","offset","duration","semitones","stop"],"sourceRoot":"../../../src","sources":["web-core/StretcherNode.tsx"],"mappings":";;AAEA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,SAASC,SAAS,QAAQ,4BAAyB;AAsCnD,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EACnDG,OAAO,GAAuB,IAAI;EAElCC,aAAa,GAAW,CAAC;EACzBC,UAAU,GAAW,CAAC,CAAC;EACvBC,QAAQ,GAAW,CAAC,CAAC;EACrBC,UAAU,GAAG,KAAK;EAElBC,WAAWA,CAACC,OAAyB,EAAEC,IAAoB,EAAE;IAC3D,KAAK,CAACD,OAAO,EAAEC,IAAuC,CAAC;IACvD,IAAI,CAACP,OAAO,GAAG,IAAI;EACrB;EAEA,IAAWQ,MAAMA,CAAA,EAAuB;IACtC,OAAO,IAAI,CAACR,OAAO;EACrB;EAEA,IAAWQ,MAAMA,CAACA,MAAmB,EAAE;IACrC,IAAI,CAACR,OAAO,GAAGQ,MAAM;IACrB,MAAMC,aAAa,GAAG,EAAE;IAExB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,gBAAgB,EAAED,CAAC,IAAI,CAAC,EAAE;MACnDD,aAAa,CAACG,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACH,CAAC,CAAC,CAAC;IAC9C;IAEC,IAAI,CAACH,IAAI,CAA+BO,UAAU,CAACL,aAAa,CAAC;EACpE;EAEA,IAAWM,YAAYA,CAAA,EAAW;IAChC,OAAO,IAAI,CAACd,aAAa;EAC3B;EAEA,IAAWc,YAAYA,CAACC,KAAa,EAAE;IACrC,IAAI,CAACf,aAAa,GAAGe,KAAK;IAE1B,IAAI,IAAI,CAACZ,UAAU,EAAE;MAClB,IAAI,CAACG,IAAI,CAA+BU,QAAQ,CAAC;QAAEC,IAAI,EAAEF;MAAM,CAAC,CAAC;IACpE;EACF;EAEA,IAAWG,SAASA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAACjB,UAAU;EACxB;EAEA,IAAWiB,SAASA,CAACH,KAAa,EAAE;IAClC,IAAI,CAACd,UAAU,GAAGc,KAAK;IAEtB,IAAI,CAACT,IAAI,CAA+BU,QAAQ,CAAC;MAAEE,SAAS,EAAEH;IAAM,CAAC,CAAC;EACzE;EAEA,IAAWI,OAAOA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACjB,QAAQ;EACtB;EAEA,IAAWiB,OAAOA,CAACJ,KAAa,EAAE;IAChC,IAAI,CAACb,QAAQ,GAAGa,KAAK;IAEpB,IAAI,CAACT,IAAI,CAA+BU,QAAQ,CAAC;MAAEG,OAAO,EAAEJ;IAAM,CAAC,CAAC;EACvE;EAEOK,KAAKA,CACVC,IAAa,EACbC,MAAe,EACfC,QAAiB,EACjBN,IAAa,EACbO,SAAkB,EACZ;IACN,IAAI,CAACrB,UAAU,GAAG,IAAI;IAErB,IAAI,CAACG,IAAI,CAA+Bc,KAAK,CAC5CC,IAAI,EACJC,MAAM,EACNC,QAAQ,EACRN,IAAI,EACJO,SACF,CAAC;EACH;EAEOC,IAAIA,CAACJ,IAAa,EAAQ;IAC/B,IAAI,CAAClB,UAAU,GAAG,KAAK;IACtB,IAAI,CAACG,IAAI,CAA+BmB,IAAI,CAACJ,IAAI,CAAC;EACrD;AACF","ignoreList":[]}
@@ -14,7 +14,7 @@ The current input time, within the sample buffer. You can change how often this
14
14
 
15
15
  ### `stretch.schedule({...})`
16
16
 
17
- This adds a scheduled change, removing any scheduled changes occurring after this one. The object properties are:
17
+ This adds a scheduled change, removing any scheduled changes occuring after this one. The object properties are:
18
18
 
19
19
  - `output` (seconds): audio context time for this change. The node compensates for its own latency, but this means you might want to schedule some things ahead of time, otherwise you'll have a softer transition as it catches up.
20
20
  - `active` (bool): processing audio
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- /* eslint-disable */
4
3
  var SignalsmithStretch = (() => {
5
4
  var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
6
5
  return async function (moduleArg = {}) {