react-native-audio-api 0.4.13 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/cpp/audioapi/android/core/AudioDecoder.cpp +87 -5
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +7 -6
- package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +25 -24
- package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +17 -41
- package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +25 -34
- package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +2 -17
- package/common/cpp/audioapi/HostObjects/AudioContextHostObject.h +14 -4
- package/common/cpp/audioapi/HostObjects/AudioParamHostObject.h +5 -8
- package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +38 -9
- package/common/cpp/audioapi/HostObjects/BiquadFilterNodeHostObject.h +8 -19
- package/common/cpp/audioapi/core/AudioContext.cpp +14 -4
- package/common/cpp/audioapi/core/AudioContext.h +2 -2
- package/common/cpp/audioapi/core/BaseAudioContext.cpp +16 -2
- package/common/cpp/audioapi/core/BaseAudioContext.h +2 -1
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +5 -6
- package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -3
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +5 -11
- package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +3 -31
- package/common/cpp/audioapi/core/utils/AudioDecoder.h +2 -1
- package/common/cpp/audioapi/jsi/AudioArrayBuffer.cpp +13 -0
- package/common/cpp/audioapi/jsi/AudioArrayBuffer.h +23 -0
- package/ios/audioapi/ios/core/AudioDecoder.mm +45 -1
- package/lib/module/api.js +1 -1
- package/lib/module/api.js.map +1 -1
- package/lib/module/api.web.js +1 -2
- package/lib/module/api.web.js.map +1 -1
- package/lib/module/core/AnalyserNode.js.map +1 -1
- package/lib/module/core/AudioBuffer.js.map +1 -1
- package/lib/module/core/AudioBufferSourceNode.js +0 -6
- package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/core/AudioParam.js.map +1 -1
- package/lib/module/core/BaseAudioContext.js +6 -2
- package/lib/module/core/BaseAudioContext.js.map +1 -1
- package/lib/module/core/BiquadFilterNode.js.map +1 -1
- package/lib/module/utils/index.js +6 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/web-core/AnalyserNode.js +4 -20
- package/lib/module/web-core/AnalyserNode.js.map +1 -1
- package/lib/module/web-core/AudioBuffer.js +2 -6
- package/lib/module/web-core/AudioBuffer.js.map +1 -1
- package/lib/module/web-core/AudioBufferSourceNode.js +161 -21
- package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
- package/lib/module/web-core/AudioContext.js +10 -8
- package/lib/module/web-core/AudioContext.js.map +1 -1
- package/lib/module/web-core/AudioParam.js +1 -1
- package/lib/module/web-core/AudioParam.js.map +1 -1
- package/lib/module/web-core/BiquadFilterNode.js +1 -9
- package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +2 -2
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs.map +1 -1
- package/lib/typescript/api.d.ts +1 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/api.web.d.ts +1 -2
- package/lib/typescript/api.web.d.ts.map +1 -1
- package/lib/typescript/core/AnalyserNode.d.ts +4 -4
- package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioBuffer.d.ts +3 -3
- package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/core/AudioBufferSourceNode.d.ts +0 -3
- package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/core/AudioParam.d.ts +1 -1
- package/lib/typescript/core/AudioParam.d.ts.map +1 -1
- package/lib/typescript/core/BaseAudioContext.d.ts +4 -3
- package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/core/BiquadFilterNode.d.ts +1 -1
- package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
- package/lib/typescript/interfaces.d.ts +13 -13
- package/lib/typescript/interfaces.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +3 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +2 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/web-core/AnalyserNode.d.ts +4 -4
- package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBuffer.d.ts +2 -2
- package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +58 -6
- package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioContext.d.ts +4 -5
- package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/AudioParam.d.ts +1 -1
- package/lib/typescript/web-core/AudioParam.d.ts.map +1 -1
- package/lib/typescript/web-core/BaseAudioContext.d.ts +3 -2
- package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
- package/lib/typescript/web-core/BiquadFilterNode.d.ts +1 -1
- package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/api.ts +0 -1
- package/src/api.web.ts +0 -2
- package/src/core/AnalyserNode.ts +4 -4
- package/src/core/AudioBuffer.ts +3 -3
- package/src/core/AudioBufferSourceNode.ts +0 -9
- package/src/core/AudioParam.ts +1 -1
- package/src/core/BaseAudioContext.ts +22 -5
- package/src/core/BiquadFilterNode.ts +3 -3
- package/src/interfaces.ts +15 -16
- package/src/types.ts +3 -1
- package/src/utils/index.ts +3 -0
- package/src/web-core/AnalyserNode.tsx +8 -30
- package/src/web-core/AudioBuffer.tsx +4 -14
- package/src/web-core/AudioBufferSourceNode.tsx +357 -31
- package/src/web-core/AudioContext.tsx +23 -13
- package/src/web-core/AudioParam.tsx +2 -6
- package/src/web-core/BaseAudioContext.tsx +4 -3
- package/src/web-core/BiquadFilterNode.tsx +6 -16
- package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +4 -3
- package/common/cpp/audioapi/core/types/TimeStretchType.h +0 -7
- package/lib/module/web-core/StretcherNode.js +0 -81
- package/lib/module/web-core/StretcherNode.js.map +0 -1
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -823
- package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js.map +0 -1
- package/lib/typescript/web-core/StretcherNode.d.ts +0 -48
- package/lib/typescript/web-core/StretcherNode.d.ts.map +0 -1
- package/src/web-core/StretcherNode.tsx +0 -145
- package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -946
|
@@ -65,8 +65,10 @@ std::shared_ptr<BiquadFilterNode> BaseAudioContext::createBiquadFilter() {
|
|
|
65
65
|
return biquadFilter;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
std::shared_ptr<AudioBufferSourceNode> BaseAudioContext::createBufferSource(
|
|
69
|
-
|
|
68
|
+
std::shared_ptr<AudioBufferSourceNode> BaseAudioContext::createBufferSource(
|
|
69
|
+
bool pitchCorrection) {
|
|
70
|
+
auto bufferSource =
|
|
71
|
+
std::make_shared<AudioBufferSourceNode>(this, pitchCorrection);
|
|
70
72
|
nodeManager_->addNode(bufferSource);
|
|
71
73
|
return bufferSource;
|
|
72
74
|
}
|
|
@@ -103,6 +105,18 @@ std::shared_ptr<AudioBuffer> BaseAudioContext::decodeAudioDataSource(
|
|
|
103
105
|
return std::make_shared<AudioBuffer>(audioBus);
|
|
104
106
|
}
|
|
105
107
|
|
|
108
|
+
std::shared_ptr<AudioBuffer> BaseAudioContext::decodeAudioData(
|
|
109
|
+
const void *data,
|
|
110
|
+
size_t size) {
|
|
111
|
+
auto audioBus = audioDecoder_->decodeWithMemoryBlock(data, size);
|
|
112
|
+
|
|
113
|
+
if (!audioBus) {
|
|
114
|
+
return nullptr;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return std::make_shared<AudioBuffer>(audioBus);
|
|
118
|
+
}
|
|
119
|
+
|
|
106
120
|
AudioNodeManager *BaseAudioContext::getNodeManager() {
|
|
107
121
|
return nodeManager_.get();
|
|
108
122
|
}
|
|
@@ -42,7 +42,7 @@ class BaseAudioContext {
|
|
|
42
42
|
std::shared_ptr<GainNode> createGain();
|
|
43
43
|
std::shared_ptr<StereoPannerNode> createStereoPanner();
|
|
44
44
|
std::shared_ptr<BiquadFilterNode> createBiquadFilter();
|
|
45
|
-
std::shared_ptr<AudioBufferSourceNode> createBufferSource();
|
|
45
|
+
std::shared_ptr<AudioBufferSourceNode> createBufferSource(bool pitchCorrection);
|
|
46
46
|
static std::shared_ptr<AudioBuffer>
|
|
47
47
|
createBuffer(int numberOfChannels, size_t length, float sampleRate);
|
|
48
48
|
std::shared_ptr<PeriodicWave> createPeriodicWave(
|
|
@@ -52,6 +52,7 @@ class BaseAudioContext {
|
|
|
52
52
|
std::shared_ptr<AnalyserNode> createAnalyser();
|
|
53
53
|
|
|
54
54
|
std::shared_ptr<AudioBuffer> decodeAudioDataSource(const std::string &path);
|
|
55
|
+
std::shared_ptr<AudioBuffer> decodeAudioData(const void *data, size_t size);
|
|
55
56
|
|
|
56
57
|
std::shared_ptr<PeriodicWave> getBasicWaveForm(OscillatorType type);
|
|
57
58
|
[[nodiscard]] float getNyquistFrequency() const;
|
|
@@ -57,20 +57,19 @@ std::shared_ptr<AudioParam> BiquadFilterNode::getGainParam() const {
|
|
|
57
57
|
// angle of the frequency response
|
|
58
58
|
|
|
59
59
|
void BiquadFilterNode::getFrequencyResponse(
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const float *frequencyArray,
|
|
61
|
+
float *magResponseOutput,
|
|
62
|
+
float *phaseResponseOutput,
|
|
63
|
+
const int length) {
|
|
63
64
|
applyFilter();
|
|
64
65
|
|
|
65
|
-
auto frequencyArraySize = frequencyArray.size();
|
|
66
|
-
|
|
67
66
|
float b0 = b0_;
|
|
68
67
|
float b1 = b1_;
|
|
69
68
|
float b2 = b2_;
|
|
70
69
|
float a1 = a1_;
|
|
71
70
|
float a2 = a2_;
|
|
72
71
|
|
|
73
|
-
for (size_t i = 0; i <
|
|
72
|
+
for (size_t i = 0; i < length; i++) {
|
|
74
73
|
auto omega = PI * frequencyArray[i] / context_->getNyquistFrequency();
|
|
75
74
|
auto z = std::complex<float>(cos(omega), sin(omega));
|
|
76
75
|
auto response = ((b0 * z + b1) * z + b2) / ((z + a1) * z + a2);
|
|
@@ -27,9 +27,10 @@ class BiquadFilterNode : public AudioNode {
|
|
|
27
27
|
[[nodiscard]] std::shared_ptr<AudioParam> getQParam() const;
|
|
28
28
|
[[nodiscard]] std::shared_ptr<AudioParam> getGainParam() const;
|
|
29
29
|
void getFrequencyResponse(
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
const float *frequencyArray,
|
|
31
|
+
float *magResponseOutput,
|
|
32
|
+
float *phaseResponseOutput,
|
|
33
|
+
int length);
|
|
33
34
|
|
|
34
35
|
protected:
|
|
35
36
|
void processNode(const std::shared_ptr<AudioBus>& processingBus, int framesToProcess) override;
|
|
@@ -9,12 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
namespace audioapi {
|
|
11
11
|
|
|
12
|
-
AudioBufferSourceNode::AudioBufferSourceNode(
|
|
12
|
+
AudioBufferSourceNode::AudioBufferSourceNode(
|
|
13
|
+
BaseAudioContext *context,
|
|
14
|
+
bool pitchCorrection)
|
|
13
15
|
: AudioScheduledSourceNode(context),
|
|
14
16
|
loop_(false),
|
|
15
17
|
loopStart_(0),
|
|
16
18
|
loopEnd_(0),
|
|
17
|
-
|
|
19
|
+
pitchCorrection_(pitchCorrection),
|
|
18
20
|
vReadIndex_(0.0) {
|
|
19
21
|
buffer_ = std::shared_ptr<AudioBuffer>(nullptr);
|
|
20
22
|
|
|
@@ -54,10 +56,6 @@ std::shared_ptr<AudioBuffer> AudioBufferSourceNode::getBuffer() const {
|
|
|
54
56
|
return buffer_;
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
std::string AudioBufferSourceNode::getTimeStretchType() const {
|
|
58
|
-
return toString(timeStretchType_);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
59
|
void AudioBufferSourceNode::setLoop(bool loop) {
|
|
62
60
|
loop_ = loop;
|
|
63
61
|
}
|
|
@@ -91,10 +89,6 @@ void AudioBufferSourceNode::setBuffer(
|
|
|
91
89
|
loopEnd_ = buffer_->getDuration();
|
|
92
90
|
}
|
|
93
91
|
|
|
94
|
-
void AudioBufferSourceNode::setTimeStretchType(const std::string &type) {
|
|
95
|
-
timeStretchType_ = fromString(type);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
92
|
void AudioBufferSourceNode::start(double when, double offset, double duration) {
|
|
99
93
|
AudioScheduledSourceNode::start(when);
|
|
100
94
|
|
|
@@ -136,7 +130,7 @@ void AudioBufferSourceNode::processNode(
|
|
|
136
130
|
size_t startOffset = 0;
|
|
137
131
|
size_t offsetLength = 0;
|
|
138
132
|
|
|
139
|
-
if (
|
|
133
|
+
if (!pitchCorrection_) {
|
|
140
134
|
auto computedPlaybackRate = getComputedPlaybackRateValue();
|
|
141
135
|
updatePlaybackInfo(
|
|
142
136
|
processingBus, framesToProcess, startOffset, offsetLength);
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
#include <audioapi/core/sources/AudioBuffer.h>
|
|
4
4
|
#include <audioapi/core/sources/AudioScheduledSourceNode.h>
|
|
5
|
-
#include <audioapi/core/types/TimeStretchType.h>
|
|
6
5
|
|
|
7
6
|
#include <memory>
|
|
8
7
|
#include <cstddef>
|
|
@@ -16,22 +15,19 @@ class AudioParam;
|
|
|
16
15
|
|
|
17
16
|
class AudioBufferSourceNode : public AudioScheduledSourceNode {
|
|
18
17
|
public:
|
|
19
|
-
explicit AudioBufferSourceNode(BaseAudioContext *context);
|
|
18
|
+
explicit AudioBufferSourceNode(BaseAudioContext *context, bool pitchCorrection);
|
|
20
19
|
|
|
21
20
|
[[nodiscard]] bool getLoop() const;
|
|
22
21
|
[[nodiscard]] double getLoopStart() const;
|
|
23
22
|
[[nodiscard]] double getLoopEnd() const;
|
|
24
23
|
[[nodiscard]] std::shared_ptr<AudioParam> getDetuneParam() const;
|
|
25
24
|
[[nodiscard]] std::shared_ptr<AudioParam> getPlaybackRateParam() const;
|
|
26
|
-
[[nodiscard]] std::shared_ptr<AudioParam> getSemitonesParam() const;
|
|
27
25
|
[[nodiscard]] std::shared_ptr<AudioBuffer> getBuffer() const;
|
|
28
|
-
[[nodiscard]] std::string getTimeStretchType() const;
|
|
29
26
|
|
|
30
27
|
void setLoop(bool loop);
|
|
31
28
|
void setLoopStart(double loopStart);
|
|
32
29
|
void setLoopEnd(double loopEnd);
|
|
33
30
|
void setBuffer(const std::shared_ptr<AudioBuffer> &buffer);
|
|
34
|
-
void setTimeStretchType(const std::string &type);
|
|
35
31
|
|
|
36
32
|
void start(double when, double offset, double duration = -1);
|
|
37
33
|
|
|
@@ -41,38 +37,14 @@ class AudioBufferSourceNode : public AudioScheduledSourceNode {
|
|
|
41
37
|
double getStopTime() const override;
|
|
42
38
|
|
|
43
39
|
private:
|
|
44
|
-
static TimeStretchType fromString(const std::string &type) {
|
|
45
|
-
std::string lowerType = type;
|
|
46
|
-
std::transform(
|
|
47
|
-
lowerType.begin(), lowerType.end(), lowerType.begin(), ::tolower);
|
|
48
|
-
|
|
49
|
-
if (lowerType == "linear")
|
|
50
|
-
return TimeStretchType::LINEAR;
|
|
51
|
-
if (lowerType == "speech-music")
|
|
52
|
-
return TimeStretchType::SPEECH_MUSIC;
|
|
53
|
-
|
|
54
|
-
throw std::invalid_argument("Unknown time stretch type: " + type);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static std::string toString(TimeStretchType type) {
|
|
58
|
-
switch (type) {
|
|
59
|
-
case TimeStretchType::LINEAR:
|
|
60
|
-
return "linear";
|
|
61
|
-
case TimeStretchType::SPEECH_MUSIC:
|
|
62
|
-
return "speech-music";
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
throw std::invalid_argument("Unknown time stretch type");
|
|
66
|
-
}
|
|
67
|
-
|
|
68
40
|
// Looping related properties
|
|
69
41
|
bool loop_;
|
|
70
42
|
double loopStart_;
|
|
71
43
|
double loopEnd_;
|
|
72
44
|
std::mutex bufferLock_;
|
|
73
45
|
|
|
74
|
-
//
|
|
75
|
-
|
|
46
|
+
// pitch correction
|
|
47
|
+
bool pitchCorrection_;
|
|
76
48
|
|
|
77
49
|
// k-rate params
|
|
78
50
|
std::shared_ptr<AudioParam> detuneParam_;
|
|
@@ -9,9 +9,10 @@ class AudioBus;
|
|
|
9
9
|
|
|
10
10
|
class AudioDecoder {
|
|
11
11
|
public:
|
|
12
|
-
explicit AudioDecoder(float sampleRate)
|
|
12
|
+
explicit AudioDecoder(float sampleRate): sampleRate_(sampleRate) {}
|
|
13
13
|
|
|
14
14
|
[[nodiscard]] std::shared_ptr<AudioBus> decodeWithFilePath(const std::string &path) const;
|
|
15
|
+
[[nodiscard]] std::shared_ptr<AudioBus> decodeWithMemoryBlock(const void *data, size_t size) const;
|
|
15
16
|
|
|
16
17
|
private:
|
|
17
18
|
float sampleRate_;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <jsi/jsi.h>
|
|
4
|
+
|
|
5
|
+
namespace audioapi {
|
|
6
|
+
|
|
7
|
+
using namespace facebook;
|
|
8
|
+
|
|
9
|
+
class AudioArrayBuffer : public jsi::MutableBuffer {
|
|
10
|
+
public:
|
|
11
|
+
AudioArrayBuffer(uint8_t *data, const size_t size): data_(data), size_(size) {}
|
|
12
|
+
~AudioArrayBuffer() override = default;
|
|
13
|
+
|
|
14
|
+
[[nodiscard]] size_t size() const override;
|
|
15
|
+
uint8_t *data() override;
|
|
16
|
+
|
|
17
|
+
private:
|
|
18
|
+
uint8_t *data_;
|
|
19
|
+
const size_t size_;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
} // namespace audioapi
|
|
23
|
+
|
|
@@ -29,7 +29,51 @@ std::shared_ptr<AudioBus> AudioDecoder::decodeWithFilePath(const std::string &pa
|
|
|
29
29
|
ma_uint64 framesDecoded;
|
|
30
30
|
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
31
31
|
if (framesDecoded == 0) {
|
|
32
|
-
NSLog(@"Failed to decode
|
|
32
|
+
NSLog(@"Failed to decode");
|
|
33
|
+
|
|
34
|
+
delete[] buffer;
|
|
35
|
+
ma_decoder_uninit(&decoder);
|
|
36
|
+
|
|
37
|
+
return nullptr;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
for (int i = 0; i < decoder.outputChannels; ++i) {
|
|
41
|
+
float *channelData = audioBus->getChannel(i)->getData();
|
|
42
|
+
|
|
43
|
+
for (ma_uint64 j = 0; j < framesDecoded; ++j) {
|
|
44
|
+
channelData[j] = buffer[j * decoder.outputChannels + i];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
delete[] buffer;
|
|
49
|
+
ma_decoder_uninit(&decoder);
|
|
50
|
+
|
|
51
|
+
return audioBus;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
std::shared_ptr<AudioBus> AudioDecoder::decodeWithMemoryBlock(const void *data, size_t size) const
|
|
55
|
+
{
|
|
56
|
+
ma_decoder decoder;
|
|
57
|
+
ma_decoder_config config = ma_decoder_config_init(ma_format_f32, 2, sampleRate_);
|
|
58
|
+
ma_result result = ma_decoder_init_memory(data, size, &config, &decoder);
|
|
59
|
+
if (result != MA_SUCCESS) {
|
|
60
|
+
NSLog(@"Failed to initialize decoder for memory block");
|
|
61
|
+
|
|
62
|
+
ma_decoder_uninit(&decoder);
|
|
63
|
+
|
|
64
|
+
return nullptr;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
ma_uint64 totalFrameCount;
|
|
68
|
+
ma_decoder_get_length_in_pcm_frames(&decoder, &totalFrameCount);
|
|
69
|
+
|
|
70
|
+
auto audioBus = std::make_shared<AudioBus>(static_cast<int>(totalFrameCount), 2, sampleRate_);
|
|
71
|
+
auto *buffer = new float[totalFrameCount * 2];
|
|
72
|
+
|
|
73
|
+
ma_uint64 framesDecoded;
|
|
74
|
+
ma_decoder_read_pcm_frames(&decoder, buffer, totalFrameCount, &framesDecoded);
|
|
75
|
+
if (framesDecoded == 0) {
|
|
76
|
+
NSLog(@"Failed to decode");
|
|
33
77
|
|
|
34
78
|
delete[] buffer;
|
|
35
79
|
ma_decoder_uninit(&decoder);
|
package/lib/module/api.js
CHANGED
|
@@ -25,6 +25,6 @@ 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
|
|
28
|
+
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
|
|
29
29
|
export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
|
|
30
30
|
//# sourceMappingURL=api.js.map
|
package/lib/module/api.js.map
CHANGED
|
@@ -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","
|
|
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","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,QAClB,YAAS;AAEhB,SACEC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,iBAAiB,QACZ,mBAAU","ignoreList":[]}
|
package/lib/module/api.web.js
CHANGED
|
@@ -13,8 +13,7 @@ export { default as BiquadFilterNode } from "./web-core/BiquadFilterNode.js";
|
|
|
13
13
|
export { default as GainNode } from "./web-core/GainNode.js";
|
|
14
14
|
export { default as OscillatorNode } from "./web-core/OscillatorNode.js";
|
|
15
15
|
export { default as StereoPannerNode } from "./web-core/StereoPannerNode.js";
|
|
16
|
-
export { default as StretcherNode } from "./web-core/StretcherNode.js";
|
|
17
16
|
export * from "./web-core/custom/index.js";
|
|
18
|
-
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints
|
|
17
|
+
export { OscillatorType, BiquadFilterType, ChannelCountMode, ChannelInterpretation, ContextState, WindowType, PeriodicWaveConstraints } from "./types.js";
|
|
19
18
|
export { IndexSizeError, InvalidAccessError, InvalidStateError, RangeError, NotSupportedError } from "./errors/index.js";
|
|
20
19
|
//# 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","
|
|
1
|
+
{"version":3,"names":["default","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioNode","AnalyserNode","AudioParam","AudioScheduledSourceNode","BaseAudioContext","BiquadFilterNode","GainNode","OscillatorNode","StereoPannerNode","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;AAEzE,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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioNode","AnalyserNode","allowedFFTSize","fftSize","node","value","includes","minDecibels","maxDecibels","smoothingTimeConstant","window","frequencyBinCount","getFloatFrequencyData","array","getByteFrequencyData","getFloatTimeDomainData","getByteTimeDomainData"],"sourceRoot":"../../../src","sources":["core/AnalyserNode.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAG1C,OAAOC,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAClD,OAAeE,cAAc,GAAa,CACxC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5D;EAED,IAAWC,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACC,IAAI,CAAmBD,OAAO;EAC7C;EAEA,IAAWA,OAAOA,CAACE,KAAa,EAAE;IAChC,IAAI,CAACJ,YAAY,CAACC,cAAc,CAACI,QAAQ,CAACD,KAAK,CAAC,EAAE;MAChD,MAAM,IAAIN,cAAc,CACtB,mBAAmBM,KAAK,6CAC1B,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBD,OAAO,GAAGE,KAAK;EAC9C;EAEA,IAAWE,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACH,IAAI,CAAmBG,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACF,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACG,WAAW,EAAE;MAC7B,MAAM,IAAIT,cAAc,CACtB,0BAA0BM,KAAK,iCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBG,WAAW,GAAGF,KAAK;EAClD;EAEA,IAAWG,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACJ,IAAI,CAAmBI,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACH,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACE,WAAW,EAAE;MAC7B,MAAM,IAAIR,cAAc,CACtB,0BAA0BM,KAAK,oCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBI,WAAW,GAAGH,KAAK;EAClD;EAEA,IAAWI,qBAAqBA,CAAA,EAAW;IACzC,OAAQ,IAAI,CAACL,IAAI,CAAmBK,qBAAqB;EAC3D;EAEA,IAAWA,qBAAqBA,CAACJ,KAAa,EAAE;IAC9C,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;MAC1B,MAAM,IAAIN,cAAc,CACtB,oCAAoCM,KAAK,2BAC3C,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBK,qBAAqB,GAAGJ,KAAK;EAC5D;EAEA,IAAWK,MAAMA,CAAA,EAAe;IAC9B,OAAQ,IAAI,CAACN,IAAI,CAAmBM,MAAM;EAC5C;EAEA,IAAWA,MAAMA,CAACL,KAAiB,EAAE;IAClC,IAAI,CAACD,IAAI,CAAmBM,MAAM,GAAGL,KAAK;EAC7C;EAEA,IAAWM,iBAAiBA,CAAA,EAAW;IACrC,OAAQ,IAAI,CAACP,IAAI,CAAmBO,iBAAiB;EACvD;EAEOC,qBAAqBA,CAACC,
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioNode","AnalyserNode","allowedFFTSize","fftSize","node","value","includes","minDecibels","maxDecibels","smoothingTimeConstant","window","frequencyBinCount","getFloatFrequencyData","array","getByteFrequencyData","getFloatTimeDomainData","getByteTimeDomainData"],"sourceRoot":"../../../src","sources":["core/AnalyserNode.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAG1C,OAAOC,SAAS,MAAM,gBAAa;AAEnC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAClD,OAAeE,cAAc,GAAa,CACxC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAC5D;EAED,IAAWC,OAAOA,CAAA,EAAW;IAC3B,OAAQ,IAAI,CAACC,IAAI,CAAmBD,OAAO;EAC7C;EAEA,IAAWA,OAAOA,CAACE,KAAa,EAAE;IAChC,IAAI,CAACJ,YAAY,CAACC,cAAc,CAACI,QAAQ,CAACD,KAAK,CAAC,EAAE;MAChD,MAAM,IAAIN,cAAc,CACtB,mBAAmBM,KAAK,6CAC1B,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBD,OAAO,GAAGE,KAAK;EAC9C;EAEA,IAAWE,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACH,IAAI,CAAmBG,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACF,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACG,WAAW,EAAE;MAC7B,MAAM,IAAIT,cAAc,CACtB,0BAA0BM,KAAK,iCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBG,WAAW,GAAGF,KAAK;EAClD;EAEA,IAAWG,WAAWA,CAAA,EAAW;IAC/B,OAAQ,IAAI,CAACJ,IAAI,CAAmBI,WAAW;EACjD;EAEA,IAAWA,WAAWA,CAACH,KAAa,EAAE;IACpC,IAAIA,KAAK,IAAI,IAAI,CAACE,WAAW,EAAE;MAC7B,MAAM,IAAIR,cAAc,CACtB,0BAA0BM,KAAK,oCACjC,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBI,WAAW,GAAGH,KAAK;EAClD;EAEA,IAAWI,qBAAqBA,CAAA,EAAW;IACzC,OAAQ,IAAI,CAACL,IAAI,CAAmBK,qBAAqB;EAC3D;EAEA,IAAWA,qBAAqBA,CAACJ,KAAa,EAAE;IAC9C,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;MAC1B,MAAM,IAAIN,cAAc,CACtB,oCAAoCM,KAAK,2BAC3C,CAAC;IACH;IAEC,IAAI,CAACD,IAAI,CAAmBK,qBAAqB,GAAGJ,KAAK;EAC5D;EAEA,IAAWK,MAAMA,CAAA,EAAe;IAC9B,OAAQ,IAAI,CAACN,IAAI,CAAmBM,MAAM;EAC5C;EAEA,IAAWA,MAAMA,CAACL,KAAiB,EAAE;IAClC,IAAI,CAACD,IAAI,CAAmBM,MAAM,GAAGL,KAAK;EAC7C;EAEA,IAAWM,iBAAiBA,CAAA,EAAW;IACrC,OAAQ,IAAI,CAACP,IAAI,CAAmBO,iBAAiB;EACvD;EAEOC,qBAAqBA,CAACC,KAAmB,EAAQ;IACrD,IAAI,CAACT,IAAI,CAAmBQ,qBAAqB,CAACC,KAAK,CAAC;EAC3D;EAEOC,oBAAoBA,CAACD,KAAiB,EAAQ;IAClD,IAAI,CAACT,IAAI,CAAmBU,oBAAoB,CAACD,KAAK,CAAC;EAC1D;EAEOE,sBAAsBA,CAACF,KAAmB,EAAQ;IACtD,IAAI,CAACT,IAAI,CAAmBW,sBAAsB,CAACF,KAAK,CAAC;EAC5D;EAEOG,qBAAqBA,CAACH,KAAiB,EAAQ;IACnD,IAAI,CAACT,IAAI,CAAmBY,qBAAqB,CAACH,KAAK,CAAC;EAC3D;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;AACA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["core/AudioBuffer.ts"],"mappings":";;AACA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAK/B;;EAGAC,WAAWA,CAACC,MAAoB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
|
|
@@ -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","
|
|
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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":";;AACA,SAASA,UAAU,EAAEC,iBAAiB,QAAQ,oBAAW;AAEzD,eAAe,MAAMC,UAAU,CAAC;EAM9BC,WAAWA,CAACC,UAAuB,EAAE;IACnC,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,KAAK,GAAGD,UAAU,CAACC,KAAK;IAC7B,IAAI,CAACC,YAAY,GAAGF,UAAU,CAACE,YAAY;IAC3C,IAAI,CAACC,QAAQ,GAAGH,UAAU,CAACG,QAAQ;IACnC,IAAI,CAACC,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;EACrC;EAEA,IAAWH,KAAKA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACD,UAAU,CAACC,KAAK;EAC9B;EAEA,IAAWA,KAAKA,CAACA,KAAa,EAAE;IAC9B,IAAI,CAACD,UAAU,CAACC,KAAK,GAAGA,KAAK;EAC/B;EAEOI,cAAcA,CAACJ,KAAa,EAAEK,SAAiB,EAAc;IAClE,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIV,UAAU,CAClB,mDAAmDU,SAAS,EAC9D,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACK,cAAc,CAACJ,KAAK,EAAEK,SAAS,CAAC;IAEhD,OAAO,IAAI;EACb;EAEOC,uBAAuBA,CAACN,KAAa,EAAEO,OAAe,EAAc;IACzE,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIZ,UAAU,CAClB,iDAAiDY,OAAO,EAC1D,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACO,uBAAuB,CAACN,KAAK,EAAEO,OAAO,CAAC;IAEvD,OAAO,IAAI;EACb;EAEOC,4BAA4BA,CACjCR,KAAa,EACbO,OAAe,EACH;IACZ,IAAIA,OAAO,GAAG,CAAC,EAAE;MACf,MAAM,IAAIZ,UAAU,CAClB,iDAAiDY,OAAO,EAC1D,CAAC;IACH;IAEA,IAAI,CAACR,UAAU,CAACS,4BAA4B,CAACR,KAAK,EAAEO,OAAO,CAAC;IAE5D,OAAO,IAAI;EACb;EAEOE,eAAeA,CACpBC,MAAc,EACdL,SAAiB,EACjBM,YAAoB,EACR;IACZ,IAAIN,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIV,UAAU,CAClB,mDAAmDU,SAAS,EAC9D,CAAC;IACH;IAEA,IAAIM,YAAY,GAAG,CAAC,EAAE;MACpB,MAAM,IAAIhB,UAAU,CAClB,sDAAsDU,SAAS,EACjE,CAAC;IACH;IAEA,IAAI,CAACN,UAAU,CAACU,eAAe,CAACC,MAAM,EAAEL,SAAS,EAAEM,YAAY,CAAC;IAEhE,OAAO,IAAI;EACb;EAEOC,mBAAmBA,CACxBC,
|
|
1
|
+
{"version":3,"names":["RangeError","InvalidStateError","AudioParam","constructor","audioParam","value","defaultValue","minValue","maxValue","setValueAtTime","startTime","linearRampToValueAtTime","endTime","exponentialRampToValueAtTime","setTargetAtTime","target","timeConstant","setValueCurveAtTime","values","duration","length","cancelScheduledValues","cancelTime","cancelAndHoldAtTime"],"sourceRoot":"../../../src","sources":["core/AudioParam.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,8 +34,9 @@ export default class BaseAudioContext {
|
|
|
34
34
|
createBiquadFilter() {
|
|
35
35
|
return new BiquadFilterNode(this, this.context.createBiquadFilter());
|
|
36
36
|
}
|
|
37
|
-
createBufferSource() {
|
|
38
|
-
|
|
37
|
+
createBufferSource(options) {
|
|
38
|
+
const pitchCorrection = options?.pitchCorrection ?? false;
|
|
39
|
+
return new AudioBufferSourceNode(this, this.context.createBufferSource(pitchCorrection));
|
|
39
40
|
}
|
|
40
41
|
createBuffer(numOfChannels, length, sampleRate) {
|
|
41
42
|
if (numOfChannels < 1 || numOfChannels >= 32) {
|
|
@@ -66,5 +67,8 @@ export default class BaseAudioContext {
|
|
|
66
67
|
}
|
|
67
68
|
return new AudioBuffer(await this.context.decodeAudioDataSource(sourcePath));
|
|
68
69
|
}
|
|
70
|
+
async decodeAudioData(arrayBuffer) {
|
|
71
|
+
return new AudioBuffer(await this.context.decodeAudioData(new Uint8Array(arrayBuffer)));
|
|
72
|
+
}
|
|
69
73
|
}
|
|
70
74
|
//# sourceMappingURL=BaseAudioContext.js.map
|
|
@@ -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":";;
|
|
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","options","pitchCorrection","createBuffer","numOfChannels","length","createPeriodicWave","real","imag","constraints","disableNormalization","createAnalyser","decodeAudioDataSource","sourcePath","startsWith","replace","decodeAudioData","arrayBuffer","Uint8Array"],"sourceRoot":"../../../src","sources":["core/BaseAudioContext.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,
|
|
1
|
+
{"version":3,"names":["InvalidAccessError","AudioNode","AudioParam","BiquadFilterNode","constructor","context","biquadFilter","frequency","detune","Q","gain","type","node","value","getFrequencyResponse","frequencyArray","magResponseOutput","phaseResponseOutput","length"],"sourceRoot":"../../../src","sources":["core/BiquadFilterNode.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,oBAAW;AAE9C,OAAOC,SAAS,MAAM,gBAAa;AACnC,OAAOC,UAAU,MAAM,iBAAc;AAIrC,eAAe,MAAMC,gBAAgB,SAASF,SAAS,CAAC;EAMtDG,WAAWA,CAACC,OAAyB,EAAEC,YAA+B,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,YAAY,CAAC;IAC5B,IAAI,CAACC,SAAS,GAAG,IAAIL,UAAU,CAACI,YAAY,CAACC,SAAS,CAAC;IACvD,IAAI,CAACC,MAAM,GAAG,IAAIN,UAAU,CAACI,YAAY,CAACE,MAAM,CAAC;IACjD,IAAI,CAACC,CAAC,GAAG,IAAIP,UAAU,CAACI,YAAY,CAACG,CAAC,CAAC;IACvC,IAAI,CAACC,IAAI,GAAG,IAAIR,UAAU,CAACI,YAAY,CAACI,IAAI,CAAC;EAC/C;EAEA,IAAWC,IAAIA,CAAA,EAAqB;IAClC,OAAQ,IAAI,CAACC,IAAI,CAAuBD,IAAI;EAC9C;EAEA,IAAWA,IAAIA,CAACE,KAAuB,EAAE;IACtC,IAAI,CAACD,IAAI,CAAuBD,IAAI,GAAGE,KAAK;EAC/C;EAEOC,oBAAoBA,CACzBC,cAA4B,EAC5BC,iBAA+B,EAC/BC,mBAAiC,EACjC;IACA,IACEF,cAAc,CAACG,MAAM,KAAKF,iBAAiB,CAACE,MAAM,IAClDH,cAAc,CAACG,MAAM,KAAKD,mBAAmB,CAACC,MAAM,EACpD;MACA,MAAM,IAAIlB,kBAAkB,CAC1B,8DAA8De,cAAc,CAACG,MAAM,wBAAwBF,iBAAiB,CAACE,MAAM,0BAA0BD,mBAAmB,CAACC,MAAM,EACzL,CAAC;IACH;IACC,IAAI,CAACN,IAAI,CAAuBE,oBAAoB,CACnDC,cAAc,EACdC,iBAAiB,EACjBC,mBACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clamp","value","min","max","Math"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,OAAO,SAASA,KAAKA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,EAAU;EACrE,OAAOC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACF,KAAK,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -17,32 +17,16 @@ export default class AnalyserNode extends AudioNode {
|
|
|
17
17
|
console.log('React Native Audio API: setting window is not supported on web');
|
|
18
18
|
}
|
|
19
19
|
getByteFrequencyData(array) {
|
|
20
|
-
|
|
21
|
-
this.node.getByteFrequencyData(data);
|
|
22
|
-
for (let i = 0; i < array.length; i++) {
|
|
23
|
-
array[i] = data[i];
|
|
24
|
-
}
|
|
20
|
+
this.node.getByteFrequencyData(array);
|
|
25
21
|
}
|
|
26
22
|
getByteTimeDomainData(array) {
|
|
27
|
-
|
|
28
|
-
this.node.getByteTimeDomainData(data);
|
|
29
|
-
for (let i = 0; i < array.length; i++) {
|
|
30
|
-
array[i] = data[i];
|
|
31
|
-
}
|
|
23
|
+
this.node.getByteTimeDomainData(array);
|
|
32
24
|
}
|
|
33
25
|
getFloatFrequencyData(array) {
|
|
34
|
-
|
|
35
|
-
this.node.getFloatFrequencyData(data);
|
|
36
|
-
for (let i = 0; i < array.length; i++) {
|
|
37
|
-
array[i] = data[i];
|
|
38
|
-
}
|
|
26
|
+
this.node.getFloatFrequencyData(array);
|
|
39
27
|
}
|
|
40
28
|
getFloatTimeDomainData(array) {
|
|
41
|
-
|
|
42
|
-
this.node.getFloatTimeDomainData(data);
|
|
43
|
-
for (let i = 0; i < array.length; i++) {
|
|
44
|
-
array[i] = data[i];
|
|
45
|
-
}
|
|
29
|
+
this.node.getFloatTimeDomainData(array);
|
|
46
30
|
}
|
|
47
31
|
}
|
|
48
32
|
//# sourceMappingURL=AnalyserNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioNode","AnalyserNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","
|
|
1
|
+
{"version":3,"names":["AudioNode","AnalyserNode","constructor","context","node","fftSize","frequencyBinCount","minDecibels","maxDecibels","smoothingTimeConstant","window","value","console","log","getByteFrequencyData","array","getByteTimeDomainData","getFloatFrequencyData","getFloatTimeDomainData"],"sourceRoot":"../../../src","sources":["web-core/AnalyserNode.tsx"],"mappings":";;AAAA,OAAOA,SAAS,MAAM,gBAAa;AAInC,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAOlDE,WAAWA,CAACC,OAAyB,EAAEC,IAA6B,EAAE;IACpE,KAAK,CAACD,OAAO,EAAEC,IAAI,CAAC;IAEpB,IAAI,CAACC,OAAO,GAAGD,IAAI,CAACC,OAAO;IAC3B,IAAI,CAACC,iBAAiB,GAAGF,IAAI,CAACE,iBAAiB;IAC/C,IAAI,CAACC,WAAW,GAAGH,IAAI,CAACG,WAAW;IACnC,IAAI,CAACC,WAAW,GAAGJ,IAAI,CAACI,WAAW;IACnC,IAAI,CAACC,qBAAqB,GAAGL,IAAI,CAACK,qBAAqB;EACzD;EAEA,IAAWC,MAAMA,CAAA,EAAe;IAC9B,OAAO,UAAU;EACnB;EAEA,IAAWA,MAAMA,CAACC,KAAiB,EAAE;IACnCC,OAAO,CAACC,GAAG,CACT,gEACF,CAAC;EACH;EAEOC,oBAAoBA,CAACC,KAAiB,EAAQ;IAClD,IAAI,CAACX,IAAI,CAA6BU,oBAAoB,CAACC,KAAK,CAAC;EACpE;EAEOC,qBAAqBA,CAACD,KAAiB,EAAQ;IACnD,IAAI,CAACX,IAAI,CAA6BY,qBAAqB,CAACD,KAAK,CAAC;EACrE;EAEOE,qBAAqBA,CAACF,KAAmB,EAAQ;IACrD,IAAI,CAACX,IAAI,CAA6Ba,qBAAqB,CAACF,KAAK,CAAC;EACrE;EAEOG,sBAAsBA,CAACH,KAAmB,EAAQ;IACtD,IAAI,CAACX,IAAI,CAA6Bc,sBAAsB,CAACH,KAAK,CAAC;EACtE;AACF","ignoreList":[]}
|
|
@@ -24,11 +24,7 @@ export default class AudioBuffer {
|
|
|
24
24
|
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
25
25
|
throw new IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
this.buffer.copyFromChannel(array, channelNumber, startInChannel);
|
|
29
|
-
for (let i = 0; i < destination.length; i++) {
|
|
30
|
-
destination[i] = array[i];
|
|
31
|
-
}
|
|
27
|
+
this.buffer.copyFromChannel(destination, channelNumber, startInChannel);
|
|
32
28
|
}
|
|
33
29
|
copyToChannel(source, channelNumber, startInChannel = 0) {
|
|
34
30
|
if (channelNumber < 0 || channelNumber >= this.numberOfChannels) {
|
|
@@ -37,7 +33,7 @@ export default class AudioBuffer {
|
|
|
37
33
|
if (startInChannel < 0 || startInChannel >= this.length) {
|
|
38
34
|
throw new IndexSizeError(`The startInChannel number provided (${startInChannel}) is outside the range [0, ${this.length - 1}]`);
|
|
39
35
|
}
|
|
40
|
-
this.buffer.copyToChannel(
|
|
36
|
+
this.buffer.copyToChannel(source, channelNumber, startInChannel);
|
|
41
37
|
}
|
|
42
38
|
}
|
|
43
39
|
//# sourceMappingURL=AudioBuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","
|
|
1
|
+
{"version":3,"names":["IndexSizeError","AudioBuffer","constructor","buffer","length","duration","sampleRate","numberOfChannels","getChannelData","channel","copyFromChannel","destination","channelNumber","startInChannel","copyToChannel","source"],"sourceRoot":"../../../src","sources":["web-core/AudioBuffer.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,oBAAW;AAE1C,eAAe,MAAMC,WAAW,CAAC;EAM/B;;EAGAC,WAAWA,CAACC,MAA8B,EAAE;IAC1C,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,MAAM,GAAGD,MAAM,CAACC,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,gBAAgB,GAAGJ,MAAM,CAACI,gBAAgB;EACjD;EAEOC,cAAcA,CAACC,OAAe,EAAgB;IACnD,IAAIA,OAAO,GAAG,CAAC,IAAIA,OAAO,IAAI,IAAI,CAACF,gBAAgB,EAAE;MACnD,MAAM,IAAIP,cAAc,CACtB,gCAAgCS,OAAO,8BAA8B,IAAI,CAACF,gBAAgB,GAAG,CAAC,GAChG,CAAC;IACH;IAEA,OAAO,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACC,OAAO,CAAC;EAC5C;EAEOC,eAAeA,CACpBC,WAAyB,EACzBC,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACO,eAAe,CAACC,WAAW,EAAEC,aAAa,EAAEC,cAAc,CAAC;EACzE;EAEOC,aAAaA,CAClBC,MAAoB,EACpBH,aAAqB,EACrBC,cAAsB,GAAG,CAAC,EACpB;IACN,IAAID,aAAa,GAAG,CAAC,IAAIA,aAAa,IAAI,IAAI,CAACL,gBAAgB,EAAE;MAC/D,MAAM,IAAIP,cAAc,CACtB,gCAAgCY,aAAa,8BAA8B,IAAI,CAACL,gBAAgB,GAAG,CAAC,GACtG,CAAC;IACH;IAEA,IAAIM,cAAc,GAAG,CAAC,IAAIA,cAAc,IAAI,IAAI,CAACT,MAAM,EAAE;MACvD,MAAM,IAAIJ,cAAc,CACtB,uCAAuCa,cAAc,8BAA8B,IAAI,CAACT,MAAM,GAAG,CAAC,GACpG,CAAC;IACH;IAEA,IAAI,CAACD,MAAM,CAACW,aAAa,CAACC,MAAM,EAAEH,aAAa,EAAEC,cAAc,CAAC;EAClE;AACF","ignoreList":[]}
|