tone 14.8.27
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/CHANGELOG.md +313 -0
- package/LICENSE.md +21 -0
- package/README.md +255 -0
- package/Tone/classes.ts +7 -0
- package/Tone/component/analysis/Analyser.test.ts +78 -0
- package/Tone/component/analysis/Analyser.ts +168 -0
- package/Tone/component/analysis/DCMeter.test.ts +34 -0
- package/Tone/component/analysis/DCMeter.ts +38 -0
- package/Tone/component/analysis/FFT.test.ts +83 -0
- package/Tone/component/analysis/FFT.ts +92 -0
- package/Tone/component/analysis/Follower.test.ts +111 -0
- package/Tone/component/analysis/Follower.ts +85 -0
- package/Tone/component/analysis/Meter.test.ts +91 -0
- package/Tone/component/analysis/Meter.ts +123 -0
- package/Tone/component/analysis/MeterBase.ts +45 -0
- package/Tone/component/analysis/Waveform.test.ts +49 -0
- package/Tone/component/analysis/Waveform.ts +57 -0
- package/Tone/component/channel/Channel.test.ts +77 -0
- package/Tone/component/channel/Channel.ts +178 -0
- package/Tone/component/channel/CrossFade.test.ts +57 -0
- package/Tone/component/channel/CrossFade.ts +143 -0
- package/Tone/component/channel/Merge.test.ts +59 -0
- package/Tone/component/channel/Merge.ts +62 -0
- package/Tone/component/channel/MidSideMerge.test.ts +28 -0
- package/Tone/component/channel/MidSideMerge.ts +105 -0
- package/Tone/component/channel/MidSideSplit.test.ts +79 -0
- package/Tone/component/channel/MidSideSplit.ts +90 -0
- package/Tone/component/channel/Mono.test.ts +43 -0
- package/Tone/component/channel/Mono.ts +55 -0
- package/Tone/component/channel/MultibandSplit.test.ts +66 -0
- package/Tone/component/channel/MultibandSplit.ts +166 -0
- package/Tone/component/channel/PanVol.test.ts +58 -0
- package/Tone/component/channel/PanVol.ts +110 -0
- package/Tone/component/channel/Panner.test.ts +86 -0
- package/Tone/component/channel/Panner.ts +89 -0
- package/Tone/component/channel/Panner3D.test.ts +77 -0
- package/Tone/component/channel/Panner3D.ts +234 -0
- package/Tone/component/channel/Recorder.test.ts +119 -0
- package/Tone/component/channel/Recorder.ts +162 -0
- package/Tone/component/channel/Solo.test.ts +138 -0
- package/Tone/component/channel/Solo.ts +148 -0
- package/Tone/component/channel/Split.test.ts +62 -0
- package/Tone/component/channel/Split.ts +51 -0
- package/Tone/component/channel/Volume.test.ts +129 -0
- package/Tone/component/channel/Volume.ts +109 -0
- package/Tone/component/dynamics/Compressor.test.ts +85 -0
- package/Tone/component/dynamics/Compressor.ts +163 -0
- package/Tone/component/dynamics/Gate.test.ts +72 -0
- package/Tone/component/dynamics/Gate.ts +110 -0
- package/Tone/component/dynamics/Limiter.test.ts +43 -0
- package/Tone/component/dynamics/Limiter.ts +78 -0
- package/Tone/component/dynamics/MidSideCompressor.test.ts +59 -0
- package/Tone/component/dynamics/MidSideCompressor.ts +87 -0
- package/Tone/component/dynamics/MultibandCompressor.test.ts +54 -0
- package/Tone/component/dynamics/MultibandCompressor.ts +130 -0
- package/Tone/component/envelope/AmplitudeEnvelope.test.ts +92 -0
- package/Tone/component/envelope/AmplitudeEnvelope.ts +65 -0
- package/Tone/component/envelope/Envelope.test.ts +834 -0
- package/Tone/component/envelope/Envelope.ts +623 -0
- package/Tone/component/envelope/FrequencyEnvelope.test.ts +92 -0
- package/Tone/component/envelope/FrequencyEnvelope.ts +134 -0
- package/Tone/component/filter/BiquadFilter.test.ts +94 -0
- package/Tone/component/filter/BiquadFilter.ts +158 -0
- package/Tone/component/filter/Convolver.test.ts +106 -0
- package/Tone/component/filter/Convolver.ts +134 -0
- package/Tone/component/filter/EQ3.test.ts +60 -0
- package/Tone/component/filter/EQ3.ts +163 -0
- package/Tone/component/filter/FeedbackCombFilter.test.ts +80 -0
- package/Tone/component/filter/FeedbackCombFilter.ts +105 -0
- package/Tone/component/filter/FeedbackCombFilter.worklet.ts +39 -0
- package/Tone/component/filter/Filter.test.ts +114 -0
- package/Tone/component/filter/Filter.ts +202 -0
- package/Tone/component/filter/LowpassCombFilter.test.ts +75 -0
- package/Tone/component/filter/LowpassCombFilter.ts +100 -0
- package/Tone/component/filter/OnePoleFilter.test.ts +90 -0
- package/Tone/component/filter/OnePoleFilter.ts +146 -0
- package/Tone/component/filter/PhaseShiftAllpass.test.ts +71 -0
- package/Tone/component/filter/PhaseShiftAllpass.ts +81 -0
- package/Tone/component/index.ts +39 -0
- package/Tone/core/Global.ts +73 -0
- package/Tone/core/Tone.ts +107 -0
- package/Tone/core/clock/Clock.test.ts +663 -0
- package/Tone/core/clock/Clock.ts +317 -0
- package/Tone/core/clock/TickParam.test.ts +15 -0
- package/Tone/core/clock/TickParam.ts +271 -0
- package/Tone/core/clock/TickSignal.test.ts +455 -0
- package/Tone/core/clock/TickSignal.ts +94 -0
- package/Tone/core/clock/TickSource.test.ts +655 -0
- package/Tone/core/clock/TickSource.ts +338 -0
- package/Tone/core/clock/Ticker.test.ts +86 -0
- package/Tone/core/clock/Ticker.ts +149 -0
- package/Tone/core/clock/Transport.test.ts +972 -0
- package/Tone/core/clock/Transport.ts +731 -0
- package/Tone/core/clock/TransportEvent.test.ts +45 -0
- package/Tone/core/clock/TransportEvent.ts +105 -0
- package/Tone/core/clock/TransportRepeatEvent.test.ts +43 -0
- package/Tone/core/clock/TransportRepeatEvent.ts +150 -0
- package/Tone/core/context/AbstractParam.ts +260 -0
- package/Tone/core/context/AudioContext.ts +60 -0
- package/Tone/core/context/BaseContext.ts +162 -0
- package/Tone/core/context/Context.test.ts +358 -0
- package/Tone/core/context/Context.ts +628 -0
- package/Tone/core/context/ContextInitialization.ts +42 -0
- package/Tone/core/context/Delay.test.ts +105 -0
- package/Tone/core/context/Delay.ts +103 -0
- package/Tone/core/context/Destination.test.ts +76 -0
- package/Tone/core/context/Destination.ts +128 -0
- package/Tone/core/context/DummyContext.test.ts +47 -0
- package/Tone/core/context/DummyContext.ts +201 -0
- package/Tone/core/context/Gain.test.ts +75 -0
- package/Tone/core/context/Gain.ts +90 -0
- package/Tone/core/context/Listener.test.ts +22 -0
- package/Tone/core/context/Listener.ts +117 -0
- package/Tone/core/context/Offline.test.ts +79 -0
- package/Tone/core/context/Offline.ts +65 -0
- package/Tone/core/context/OfflineContext.test.ts +64 -0
- package/Tone/core/context/OfflineContext.ts +118 -0
- package/Tone/core/context/Param.test.ts +607 -0
- package/Tone/core/context/Param.ts +541 -0
- package/Tone/core/context/ToneAudioBuffer.test.ts +360 -0
- package/Tone/core/context/ToneAudioBuffer.ts +412 -0
- package/Tone/core/context/ToneAudioBuffers.test.ts +159 -0
- package/Tone/core/context/ToneAudioBuffers.ts +167 -0
- package/Tone/core/context/ToneAudioNode.test.ts +345 -0
- package/Tone/core/context/ToneAudioNode.ts +396 -0
- package/Tone/core/context/ToneWithContext.ts +205 -0
- package/Tone/core/index.ts +38 -0
- package/Tone/core/type/Conversions.test.ts +34 -0
- package/Tone/core/type/Conversions.ts +78 -0
- package/Tone/core/type/Frequency.test.ts +220 -0
- package/Tone/core/type/Frequency.ts +249 -0
- package/Tone/core/type/Midi.test.ts +137 -0
- package/Tone/core/type/Midi.ts +82 -0
- package/Tone/core/type/NoteUnits.ts +36 -0
- package/Tone/core/type/Ticks.test.ts +190 -0
- package/Tone/core/type/Ticks.ts +69 -0
- package/Tone/core/type/Time.test.ts +181 -0
- package/Tone/core/type/Time.ts +156 -0
- package/Tone/core/type/TimeBase.ts +324 -0
- package/Tone/core/type/TransportTime.test.ts +184 -0
- package/Tone/core/type/TransportTime.ts +34 -0
- package/Tone/core/type/Units.ts +204 -0
- package/Tone/core/util/AdvancedTypeCheck.ts +40 -0
- package/Tone/core/util/Debug.test.ts +74 -0
- package/Tone/core/util/Debug.ts +63 -0
- package/Tone/core/util/Decorator.ts +51 -0
- package/Tone/core/util/Defaults.ts +123 -0
- package/Tone/core/util/Draw.test.ts +72 -0
- package/Tone/core/util/Draw.ts +125 -0
- package/Tone/core/util/Emitter.test.ts +109 -0
- package/Tone/core/util/Emitter.ts +125 -0
- package/Tone/core/util/Interface.ts +45 -0
- package/Tone/core/util/IntervalTimeline.test.ts +465 -0
- package/Tone/core/util/IntervalTimeline.ts +569 -0
- package/Tone/core/util/Math.ts +40 -0
- package/Tone/core/util/StateTimeline.test.ts +103 -0
- package/Tone/core/util/StateTimeline.ts +96 -0
- package/Tone/core/util/Timeline.test.ts +606 -0
- package/Tone/core/util/Timeline.ts +399 -0
- package/Tone/core/util/TimelineValue.test.ts +29 -0
- package/Tone/core/util/TimelineValue.ts +56 -0
- package/Tone/core/util/TypeCheck.ts +65 -0
- package/Tone/core/util/global.d.ts +7 -0
- package/Tone/core/worklet/DelayLine.worklet.ts +49 -0
- package/Tone/core/worklet/SingleIOProcessor.worklet.ts +73 -0
- package/Tone/core/worklet/ToneAudioWorklet.ts +76 -0
- package/Tone/core/worklet/ToneAudioWorkletProcessor.worklet.ts +35 -0
- package/Tone/core/worklet/WorkletGlobalScope.ts +26 -0
- package/Tone/effect/AutoFilter.test.ts +113 -0
- package/Tone/effect/AutoFilter.ts +102 -0
- package/Tone/effect/AutoPanner.test.ts +90 -0
- package/Tone/effect/AutoPanner.ts +63 -0
- package/Tone/effect/AutoWah.test.ts +61 -0
- package/Tone/effect/AutoWah.ts +208 -0
- package/Tone/effect/BitCrusher.test.ts +42 -0
- package/Tone/effect/BitCrusher.ts +129 -0
- package/Tone/effect/BitCrusher.worklet.ts +27 -0
- package/Tone/effect/Chebyshev.test.ts +49 -0
- package/Tone/effect/Chebyshev.ts +123 -0
- package/Tone/effect/Chorus.test.ts +87 -0
- package/Tone/effect/Chorus.ts +225 -0
- package/Tone/effect/Distortion.test.ts +41 -0
- package/Tone/effect/Distortion.ts +98 -0
- package/Tone/effect/Effect.ts +88 -0
- package/Tone/effect/FeedbackDelay.test.ts +75 -0
- package/Tone/effect/FeedbackDelay.ts +73 -0
- package/Tone/effect/FeedbackEffect.ts +68 -0
- package/Tone/effect/Freeverb.test.ts +45 -0
- package/Tone/effect/Freeverb.ts +137 -0
- package/Tone/effect/FrequencyShifter.test.ts +55 -0
- package/Tone/effect/FrequencyShifter.ts +155 -0
- package/Tone/effect/JCReverb.test.ts +41 -0
- package/Tone/effect/JCReverb.ts +130 -0
- package/Tone/effect/LFOEffect.ts +115 -0
- package/Tone/effect/MidSideEffect.ts +93 -0
- package/Tone/effect/Phaser.test.ts +44 -0
- package/Tone/effect/Phaser.ts +187 -0
- package/Tone/effect/PingPongDelay.test.ts +41 -0
- package/Tone/effect/PingPongDelay.ts +105 -0
- package/Tone/effect/PitchShift.test.ts +66 -0
- package/Tone/effect/PitchShift.ts +218 -0
- package/Tone/effect/Reverb.test.ts +75 -0
- package/Tone/effect/Reverb.ts +145 -0
- package/Tone/effect/StereoEffect.ts +99 -0
- package/Tone/effect/StereoFeedbackEffect.ts +91 -0
- package/Tone/effect/StereoWidener.test.ts +41 -0
- package/Tone/effect/StereoWidener.ts +112 -0
- package/Tone/effect/StereoXFeedbackEffect.ts +37 -0
- package/Tone/effect/Tremolo.test.ts +88 -0
- package/Tone/effect/Tremolo.ts +191 -0
- package/Tone/effect/Vibrato.test.ts +52 -0
- package/Tone/effect/Vibrato.ts +104 -0
- package/Tone/effect/index.ts +18 -0
- package/Tone/event/Loop.test.ts +334 -0
- package/Tone/event/Loop.ts +210 -0
- package/Tone/event/Part.test.ts +848 -0
- package/Tone/event/Part.ts +473 -0
- package/Tone/event/Pattern.test.ts +137 -0
- package/Tone/event/Pattern.ts +121 -0
- package/Tone/event/PatternGenerator.test.ts +95 -0
- package/Tone/event/PatternGenerator.ts +176 -0
- package/Tone/event/Sequence.test.ts +453 -0
- package/Tone/event/Sequence.ts +300 -0
- package/Tone/event/ToneEvent.test.ts +485 -0
- package/Tone/event/ToneEvent.ts +392 -0
- package/Tone/event/index.ts +5 -0
- package/Tone/fromContext.test.ts +29 -0
- package/Tone/fromContext.ts +77 -0
- package/Tone/index.test.ts +54 -0
- package/Tone/index.ts +116 -0
- package/Tone/instrument/AMSynth.test.ts +79 -0
- package/Tone/instrument/AMSynth.ts +51 -0
- package/Tone/instrument/DuoSynth.test.ts +95 -0
- package/Tone/instrument/DuoSynth.ts +216 -0
- package/Tone/instrument/FMSynth.test.ts +72 -0
- package/Tone/instrument/FMSynth.ts +65 -0
- package/Tone/instrument/Instrument.ts +180 -0
- package/Tone/instrument/MembraneSynth.test.ts +74 -0
- package/Tone/instrument/MembraneSynth.ts +96 -0
- package/Tone/instrument/MetalSynth.test.ts +66 -0
- package/Tone/instrument/MetalSynth.ts +272 -0
- package/Tone/instrument/ModulationSynth.ts +217 -0
- package/Tone/instrument/MonoSynth.test.ts +88 -0
- package/Tone/instrument/MonoSynth.ts +177 -0
- package/Tone/instrument/Monophonic.ts +135 -0
- package/Tone/instrument/NoiseSynth.test.ts +82 -0
- package/Tone/instrument/NoiseSynth.ts +127 -0
- package/Tone/instrument/PluckSynth.test.ts +62 -0
- package/Tone/instrument/PluckSynth.ts +127 -0
- package/Tone/instrument/PolySynth.test.ts +298 -0
- package/Tone/instrument/PolySynth.ts +393 -0
- package/Tone/instrument/Sampler.test.ts +275 -0
- package/Tone/instrument/Sampler.ts +329 -0
- package/Tone/instrument/Synth.test.ts +132 -0
- package/Tone/instrument/Synth.ts +141 -0
- package/Tone/instrument/index.ts +11 -0
- package/Tone/signal/Abs.test.ts +42 -0
- package/Tone/signal/Abs.ts +53 -0
- package/Tone/signal/Add.test.ts +60 -0
- package/Tone/signal/Add.ts +63 -0
- package/Tone/signal/AudioToGain.test.ts +53 -0
- package/Tone/signal/AudioToGain.ts +40 -0
- package/Tone/signal/GainToAudio.test.ts +41 -0
- package/Tone/signal/GainToAudio.ts +40 -0
- package/Tone/signal/GreaterThan.test.ts +81 -0
- package/Tone/signal/GreaterThan.ts +88 -0
- package/Tone/signal/GreaterThanZero.test.ts +49 -0
- package/Tone/signal/GreaterThanZero.ts +67 -0
- package/Tone/signal/Multiply.test.ts +46 -0
- package/Tone/signal/Multiply.ts +85 -0
- package/Tone/signal/Negate.test.ts +30 -0
- package/Tone/signal/Negate.ts +41 -0
- package/Tone/signal/Pow.test.ts +40 -0
- package/Tone/signal/Pow.ts +84 -0
- package/Tone/signal/Scale.test.ts +58 -0
- package/Tone/signal/Scale.ts +119 -0
- package/Tone/signal/ScaleExp.test.ts +49 -0
- package/Tone/signal/ScaleExp.ts +69 -0
- package/Tone/signal/Signal.test.ts +519 -0
- package/Tone/signal/Signal.ts +226 -0
- package/Tone/signal/SignalOperator.ts +21 -0
- package/Tone/signal/Subtract.test.ts +60 -0
- package/Tone/signal/Subtract.ts +74 -0
- package/Tone/signal/SyncedSignal.test.ts +245 -0
- package/Tone/signal/SyncedSignal.ts +172 -0
- package/Tone/signal/ToneConstantSource.test.ts +202 -0
- package/Tone/signal/ToneConstantSource.ts +90 -0
- package/Tone/signal/WaveShaper.test.ts +95 -0
- package/Tone/signal/WaveShaper.ts +136 -0
- package/Tone/signal/Zero.test.ts +25 -0
- package/Tone/signal/Zero.ts +45 -0
- package/Tone/signal/index.ts +16 -0
- package/Tone/source/Noise.test.ts +121 -0
- package/Tone/source/Noise.ts +287 -0
- package/Tone/source/OneShotSource.ts +260 -0
- package/Tone/source/Source.test.ts +408 -0
- package/Tone/source/Source.ts +339 -0
- package/Tone/source/UserMedia.test.ts +177 -0
- package/Tone/source/UserMedia.ts +260 -0
- package/Tone/source/buffer/GrainPlayer.test.ts +235 -0
- package/Tone/source/buffer/GrainPlayer.ts +322 -0
- package/Tone/source/buffer/Player.test.ts +651 -0
- package/Tone/source/buffer/Player.ts +440 -0
- package/Tone/source/buffer/Players.test.ts +288 -0
- package/Tone/source/buffer/Players.ts +235 -0
- package/Tone/source/buffer/ToneBufferSource.test.ts +578 -0
- package/Tone/source/buffer/ToneBufferSource.ts +253 -0
- package/Tone/source/index.ts +15 -0
- package/Tone/source/oscillator/AMOscillator.test.ts +69 -0
- package/Tone/source/oscillator/AMOscillator.ts +222 -0
- package/Tone/source/oscillator/FMOscillator.test.ts +85 -0
- package/Tone/source/oscillator/FMOscillator.ts +236 -0
- package/Tone/source/oscillator/FatOscillator.test.ts +91 -0
- package/Tone/source/oscillator/FatOscillator.ts +255 -0
- package/Tone/source/oscillator/LFO.test.ts +234 -0
- package/Tone/source/oscillator/LFO.ts +332 -0
- package/Tone/source/oscillator/OmniOscillator.test.ts +303 -0
- package/Tone/source/oscillator/OmniOscillator.ts +428 -0
- package/Tone/source/oscillator/Oscillator.test.ts +278 -0
- package/Tone/source/oscillator/Oscillator.ts +448 -0
- package/Tone/source/oscillator/OscillatorInterface.ts +462 -0
- package/Tone/source/oscillator/PWMOscillator.test.ts +49 -0
- package/Tone/source/oscillator/PWMOscillator.ts +190 -0
- package/Tone/source/oscillator/PulseOscillator.test.ts +126 -0
- package/Tone/source/oscillator/PulseOscillator.ts +225 -0
- package/Tone/source/oscillator/ToneOscillatorNode.test.ts +241 -0
- package/Tone/source/oscillator/ToneOscillatorNode.ts +131 -0
- package/Tone/version.ts +1 -0
- package/build/Tone.js +22 -0
- package/build/Tone.js.map +1 -0
- package/build/esm/classes.d.ts +7 -0
- package/build/esm/classes.js +8 -0
- package/build/esm/classes.js.map +1 -0
- package/build/esm/component/analysis/Analyser.d.ts +77 -0
- package/build/esm/component/analysis/Analyser.js +121 -0
- package/build/esm/component/analysis/Analyser.js.map +1 -0
- package/build/esm/component/analysis/DCMeter.d.ts +23 -0
- package/build/esm/component/analysis/DCMeter.js +31 -0
- package/build/esm/component/analysis/DCMeter.js.map +1 -0
- package/build/esm/component/analysis/FFT.d.ts +50 -0
- package/build/esm/component/analysis/FFT.js +65 -0
- package/build/esm/component/analysis/FFT.js.map +1 -0
- package/build/esm/component/analysis/Follower.d.ts +44 -0
- package/build/esm/component/analysis/Follower.js +51 -0
- package/build/esm/component/analysis/Follower.js.map +1 -0
- package/build/esm/component/analysis/Meter.d.ts +62 -0
- package/build/esm/component/analysis/Meter.js +90 -0
- package/build/esm/component/analysis/Meter.js.map +1 -0
- package/build/esm/component/analysis/MeterBase.d.ts +23 -0
- package/build/esm/component/analysis/MeterBase.js +23 -0
- package/build/esm/component/analysis/MeterBase.js.map +1 -0
- package/build/esm/component/analysis/Waveform.d.ts +32 -0
- package/build/esm/component/analysis/Waveform.js +38 -0
- package/build/esm/component/analysis/Waveform.js.map +1 -0
- package/build/esm/component/channel/Channel.d.ts +91 -0
- package/build/esm/component/channel/Channel.js +124 -0
- package/build/esm/component/channel/Channel.js.map +1 -0
- package/build/esm/component/channel/CrossFade.d.ts +80 -0
- package/build/esm/component/channel/CrossFade.js +106 -0
- package/build/esm/component/channel/CrossFade.js.map +1 -0
- package/build/esm/component/channel/Merge.d.ts +39 -0
- package/build/esm/component/channel/Merge.js +32 -0
- package/build/esm/component/channel/Merge.js.map +1 -0
- package/build/esm/component/channel/MidSideMerge.d.ts +52 -0
- package/build/esm/component/channel/MidSideMerge.js +53 -0
- package/build/esm/component/channel/MidSideMerge.js.map +1 -0
- package/build/esm/component/channel/MidSideSplit.d.ts +42 -0
- package/build/esm/component/channel/MidSideSplit.js +51 -0
- package/build/esm/component/channel/MidSideSplit.js.map +1 -0
- package/build/esm/component/channel/Mono.d.ts +26 -0
- package/build/esm/component/channel/Mono.js +30 -0
- package/build/esm/component/channel/Mono.js.map +1 -0
- package/build/esm/component/channel/MultibandSplit.d.ts +80 -0
- package/build/esm/component/channel/MultibandSplit.js +121 -0
- package/build/esm/component/channel/MultibandSplit.js.map +1 -0
- package/build/esm/component/channel/PanVol.d.ts +53 -0
- package/build/esm/component/channel/PanVol.js +61 -0
- package/build/esm/component/channel/PanVol.js.map +1 -0
- package/build/esm/component/channel/Panner.d.ts +49 -0
- package/build/esm/component/channel/Panner.js +55 -0
- package/build/esm/component/channel/Panner.js.map +1 -0
- package/build/esm/component/channel/Panner3D.d.ts +98 -0
- package/build/esm/component/channel/Panner3D.js +177 -0
- package/build/esm/component/channel/Panner3D.js.map +1 -0
- package/build/esm/component/channel/Recorder.d.ts +77 -0
- package/build/esm/component/channel/Recorder.js +131 -0
- package/build/esm/component/channel/Recorder.js.map +1 -0
- package/build/esm/component/channel/Solo.d.ts +68 -0
- package/build/esm/component/channel/Solo.js +121 -0
- package/build/esm/component/channel/Solo.js.map +1 -0
- package/build/esm/component/channel/Split.d.ts +29 -0
- package/build/esm/component/channel/Split.js +30 -0
- package/build/esm/component/channel/Split.js.map +1 -0
- package/build/esm/component/channel/Volume.d.ts +60 -0
- package/build/esm/component/channel/Volume.js +66 -0
- package/build/esm/component/channel/Volume.js.map +1 -0
- package/build/esm/component/dynamics/Compressor.d.ts +73 -0
- package/build/esm/component/dynamics/Compressor.js +99 -0
- package/build/esm/component/dynamics/Compressor.js.map +1 -0
- package/build/esm/component/dynamics/Gate.d.ts +53 -0
- package/build/esm/component/dynamics/Gate.js +72 -0
- package/build/esm/component/dynamics/Gate.js.map +1 -0
- package/build/esm/component/dynamics/Limiter.d.ts +39 -0
- package/build/esm/component/dynamics/Limiter.js +51 -0
- package/build/esm/component/dynamics/Limiter.js.map +1 -0
- package/build/esm/component/dynamics/MidSideCompressor.d.ts +36 -0
- package/build/esm/component/dynamics/MidSideCompressor.js +52 -0
- package/build/esm/component/dynamics/MidSideCompressor.js.map +1 -0
- package/build/esm/component/dynamics/MultibandCompressor.d.ts +57 -0
- package/build/esm/component/dynamics/MultibandCompressor.js +79 -0
- package/build/esm/component/dynamics/MultibandCompressor.js.map +1 -0
- package/build/esm/component/envelope/AmplitudeEnvelope.d.ts +46 -0
- package/build/esm/component/envelope/AmplitudeEnvelope.js +49 -0
- package/build/esm/component/envelope/AmplitudeEnvelope.js.map +1 -0
- package/build/esm/component/envelope/Envelope.d.ts +302 -0
- package/build/esm/component/envelope/Envelope.js +470 -0
- package/build/esm/component/envelope/Envelope.js.map +1 -0
- package/build/esm/component/envelope/FrequencyEnvelope.d.ts +71 -0
- package/build/esm/component/envelope/FrequencyEnvelope.js +91 -0
- package/build/esm/component/envelope/FrequencyEnvelope.js.map +1 -0
- package/build/esm/component/filter/BiquadFilter.d.ts +64 -0
- package/build/esm/component/filter/BiquadFilter.js +101 -0
- package/build/esm/component/filter/BiquadFilter.js.map +1 -0
- package/build/esm/component/filter/Convolver.d.ts +59 -0
- package/build/esm/component/filter/Convolver.js +104 -0
- package/build/esm/component/filter/Convolver.js.map +1 -0
- package/build/esm/component/filter/EQ3.d.ts +77 -0
- package/build/esm/component/filter/EQ3.js +81 -0
- package/build/esm/component/filter/EQ3.js.map +1 -0
- package/build/esm/component/filter/FeedbackCombFilter.d.ts +45 -0
- package/build/esm/component/filter/FeedbackCombFilter.js +72 -0
- package/build/esm/component/filter/FeedbackCombFilter.js.map +1 -0
- package/build/esm/component/filter/FeedbackCombFilter.worklet.d.ts +3 -0
- package/build/esm/component/filter/FeedbackCombFilter.worklet.js +37 -0
- package/build/esm/component/filter/FeedbackCombFilter.worklet.js.map +1 -0
- package/build/esm/component/filter/Filter.d.ts +79 -0
- package/build/esm/component/filter/Filter.js +150 -0
- package/build/esm/component/filter/Filter.js.map +1 -0
- package/build/esm/component/filter/LowpassCombFilter.d.ts +50 -0
- package/build/esm/component/filter/LowpassCombFilter.js +53 -0
- package/build/esm/component/filter/LowpassCombFilter.js.map +1 -0
- package/build/esm/component/filter/OnePoleFilter.d.ts +64 -0
- package/build/esm/component/filter/OnePoleFilter.js +104 -0
- package/build/esm/component/filter/OnePoleFilter.js.map +1 -0
- package/build/esm/component/filter/PhaseShiftAllpass.d.ts +40 -0
- package/build/esm/component/filter/PhaseShiftAllpass.js +54 -0
- package/build/esm/component/filter/PhaseShiftAllpass.js.map +1 -0
- package/build/esm/component/index.d.ts +35 -0
- package/build/esm/component/index.js +36 -0
- package/build/esm/component/index.js.map +1 -0
- package/build/esm/core/Global.d.ts +26 -0
- package/build/esm/core/Global.js +69 -0
- package/build/esm/core/Global.js.map +1 -0
- package/build/esm/core/Tone.d.ts +60 -0
- package/build/esm/core/Tone.js +87 -0
- package/build/esm/core/Tone.js.map +1 -0
- package/build/esm/core/clock/Clock.d.ts +156 -0
- package/build/esm/core/clock/Clock.js +251 -0
- package/build/esm/core/clock/Clock.js.map +1 -0
- package/build/esm/core/clock/TickParam.d.ts +97 -0
- package/build/esm/core/clock/TickParam.js +237 -0
- package/build/esm/core/clock/TickParam.js.map +1 -0
- package/build/esm/core/clock/TickSignal.d.ts +43 -0
- package/build/esm/core/clock/TickSignal.js +64 -0
- package/build/esm/core/clock/TickSignal.js.map +1 -0
- package/build/esm/core/clock/TickSource.d.ts +115 -0
- package/build/esm/core/clock/TickSource.js +284 -0
- package/build/esm/core/clock/TickSource.js.map +1 -0
- package/build/esm/core/clock/Ticker.d.ts +59 -0
- package/build/esm/core/clock/Ticker.js +110 -0
- package/build/esm/core/clock/Ticker.js.map +1 -0
- package/build/esm/core/clock/Transport.d.ts +331 -0
- package/build/esm/core/clock/Transport.js +591 -0
- package/build/esm/core/clock/Transport.js.map +1 -0
- package/build/esm/core/clock/TransportEvent.d.ts +62 -0
- package/build/esm/core/clock/TransportEvent.js +66 -0
- package/build/esm/core/clock/TransportEvent.js.map +1 -0
- package/build/esm/core/clock/TransportRepeatEvent.d.ts +70 -0
- package/build/esm/core/clock/TransportRepeatEvent.js +110 -0
- package/build/esm/core/clock/TransportRepeatEvent.js.map +1 -0
- package/build/esm/core/context/AbstractParam.d.ts +239 -0
- package/build/esm/core/context/AbstractParam.js +6 -0
- package/build/esm/core/context/AbstractParam.js.map +1 -0
- package/build/esm/core/context/AudioContext.d.ts +36 -0
- package/build/esm/core/context/AudioContext.js +38 -0
- package/build/esm/core/context/AudioContext.js.map +1 -0
- package/build/esm/core/context/BaseContext.d.ts +56 -0
- package/build/esm/core/context/BaseContext.js +16 -0
- package/build/esm/core/context/BaseContext.js.map +1 -0
- package/build/esm/core/context/Context.d.ts +255 -0
- package/build/esm/core/context/Context.js +474 -0
- package/build/esm/core/context/Context.js.map +1 -0
- package/build/esm/core/context/ContextInitialization.d.ts +15 -0
- package/build/esm/core/context/ContextInitialization.js +35 -0
- package/build/esm/core/context/ContextInitialization.js.map +1 -0
- package/build/esm/core/context/Delay.d.ts +58 -0
- package/build/esm/core/context/Delay.js +58 -0
- package/build/esm/core/context/Delay.js.map +1 -0
- package/build/esm/core/context/Destination.d.ts +73 -0
- package/build/esm/core/context/Destination.js +105 -0
- package/build/esm/core/context/Destination.js.map +1 -0
- package/build/esm/core/context/DummyContext.d.ts +54 -0
- package/build/esm/core/context/DummyContext.js +138 -0
- package/build/esm/core/context/DummyContext.js.map +1 -0
- package/build/esm/core/context/Gain.d.ts +53 -0
- package/build/esm/core/context/Gain.js +58 -0
- package/build/esm/core/context/Gain.js.map +1 -0
- package/build/esm/core/context/Listener.d.ts +38 -0
- package/build/esm/core/context/Listener.js +87 -0
- package/build/esm/core/context/Listener.js.map +1 -0
- package/build/esm/core/context/Offline.d.ts +37 -0
- package/build/esm/core/context/Offline.js +56 -0
- package/build/esm/core/context/Offline.js.map +1 -0
- package/build/esm/core/context/OfflineContext.d.ts +58 -0
- package/build/esm/core/context/OfflineContext.js +87 -0
- package/build/esm/core/context/OfflineContext.js.map +1 -0
- package/build/esm/core/context/Param.d.ts +132 -0
- package/build/esm/core/context/Param.js +446 -0
- package/build/esm/core/context/Param.js.map +1 -0
- package/build/esm/core/context/ToneAudioBuffer.d.ts +162 -0
- package/build/esm/core/context/ToneAudioBuffer.js +364 -0
- package/build/esm/core/context/ToneAudioBuffer.js.map +1 -0
- package/build/esm/core/context/ToneAudioBuffers.d.ts +89 -0
- package/build/esm/core/context/ToneAudioBuffers.js +119 -0
- package/build/esm/core/context/ToneAudioBuffers.js.map +1 -0
- package/build/esm/core/context/ToneAudioNode.d.ts +173 -0
- package/build/esm/core/context/ToneAudioNode.js +342 -0
- package/build/esm/core/context/ToneAudioNode.js.map +1 -0
- package/build/esm/core/context/ToneWithContext.d.ts +108 -0
- package/build/esm/core/context/ToneWithContext.js +170 -0
- package/build/esm/core/context/ToneWithContext.js.map +1 -0
- package/build/esm/core/index.d.ts +28 -0
- package/build/esm/core/index.js +33 -0
- package/build/esm/core/index.js.map +1 -0
- package/build/esm/core/type/Conversions.d.ts +44 -0
- package/build/esm/core/type/Conversions.js +68 -0
- package/build/esm/core/type/Conversions.js.map +1 -0
- package/build/esm/core/type/Frequency.d.ts +101 -0
- package/build/esm/core/type/Frequency.js +225 -0
- package/build/esm/core/type/Frequency.js.map +1 -0
- package/build/esm/core/type/Midi.d.ts +53 -0
- package/build/esm/core/type/Midi.js +73 -0
- package/build/esm/core/type/Midi.js.map +1 -0
- package/build/esm/core/type/NoteUnits.d.ts +12 -0
- package/build/esm/core/type/NoteUnits.js +3 -0
- package/build/esm/core/type/NoteUnits.js.map +1 -0
- package/build/esm/core/type/Ticks.d.ts +44 -0
- package/build/esm/core/type/Ticks.js +61 -0
- package/build/esm/core/type/Ticks.js.map +1 -0
- package/build/esm/core/type/Time.d.ts +69 -0
- package/build/esm/core/type/Time.js +147 -0
- package/build/esm/core/type/Time.js.map +1 -0
- package/build/esm/core/type/TimeBase.d.ts +120 -0
- package/build/esm/core/type/TimeBase.js +251 -0
- package/build/esm/core/type/TimeBase.js.map +1 -0
- package/build/esm/core/type/TransportTime.d.ts +25 -0
- package/build/esm/core/type/TransportTime.js +32 -0
- package/build/esm/core/type/TransportTime.js.map +1 -0
- package/build/esm/core/type/Units.d.ts +176 -0
- package/build/esm/core/type/Units.js +2 -0
- package/build/esm/core/type/Units.js.map +1 -0
- package/build/esm/core/util/AdvancedTypeCheck.d.ts +21 -0
- package/build/esm/core/util/AdvancedTypeCheck.js +32 -0
- package/build/esm/core/util/AdvancedTypeCheck.js.map +1 -0
- package/build/esm/core/util/Debug.d.ts +34 -0
- package/build/esm/core/util/Debug.js +50 -0
- package/build/esm/core/util/Debug.js.map +1 -0
- package/build/esm/core/util/Decorator.d.ts +9 -0
- package/build/esm/core/util/Decorator.js +41 -0
- package/build/esm/core/util/Decorator.js.map +1 -0
- package/build/esm/core/util/Defaults.d.ts +32 -0
- package/build/esm/core/util/Defaults.js +99 -0
- package/build/esm/core/util/Defaults.js.map +1 -0
- package/build/esm/core/util/Draw.d.ts +67 -0
- package/build/esm/core/util/Draw.js +110 -0
- package/build/esm/core/util/Draw.js.map +1 -0
- package/build/esm/core/util/Emitter.d.ts +52 -0
- package/build/esm/core/util/Emitter.js +113 -0
- package/build/esm/core/util/Emitter.js.map +1 -0
- package/build/esm/core/util/Interface.d.ts +16 -0
- package/build/esm/core/util/Interface.js +32 -0
- package/build/esm/core/util/Interface.js.map +1 -0
- package/build/esm/core/util/IntervalTimeline.d.ts +106 -0
- package/build/esm/core/util/IntervalTimeline.js +539 -0
- package/build/esm/core/util/IntervalTimeline.js.map +1 -0
- package/build/esm/core/util/Math.d.ts +20 -0
- package/build/esm/core/util/Math.js +36 -0
- package/build/esm/core/util/Math.js.map +1 -0
- package/build/esm/core/util/StateTimeline.d.ts +47 -0
- package/build/esm/core/util/StateTimeline.js +78 -0
- package/build/esm/core/util/StateTimeline.js.map +1 -0
- package/build/esm/core/util/Timeline.d.ts +156 -0
- package/build/esm/core/util/Timeline.js +351 -0
- package/build/esm/core/util/Timeline.js.map +1 -0
- package/build/esm/core/util/TimelineValue.d.ts +28 -0
- package/build/esm/core/util/TimelineValue.js +41 -0
- package/build/esm/core/util/TimelineValue.js.map +1 -0
- package/build/esm/core/util/TypeCheck.d.ts +38 -0
- package/build/esm/core/util/TypeCheck.js +56 -0
- package/build/esm/core/util/TypeCheck.js.map +1 -0
- package/build/esm/core/worklet/DelayLine.worklet.d.ts +1 -0
- package/build/esm/core/worklet/DelayLine.worklet.js +48 -0
- package/build/esm/core/worklet/DelayLine.worklet.js.map +1 -0
- package/build/esm/core/worklet/SingleIOProcessor.worklet.d.ts +2 -0
- package/build/esm/core/worklet/SingleIOProcessor.worklet.js +72 -0
- package/build/esm/core/worklet/SingleIOProcessor.worklet.js.map +1 -0
- package/build/esm/core/worklet/ToneAudioWorklet.d.ts +35 -0
- package/build/esm/core/worklet/ToneAudioWorklet.js +40 -0
- package/build/esm/core/worklet/ToneAudioWorklet.js.map +1 -0
- package/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.d.ts +1 -0
- package/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js +34 -0
- package/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js.map +1 -0
- package/build/esm/core/worklet/WorkletGlobalScope.d.ts +12 -0
- package/build/esm/core/worklet/WorkletGlobalScope.js +24 -0
- package/build/esm/core/worklet/WorkletGlobalScope.js.map +1 -0
- package/build/esm/effect/AutoFilter.d.ts +51 -0
- package/build/esm/effect/AutoFilter.js +68 -0
- package/build/esm/effect/AutoFilter.js.map +1 -0
- package/build/esm/effect/AutoPanner.d.ts +31 -0
- package/build/esm/effect/AutoPanner.js +41 -0
- package/build/esm/effect/AutoPanner.js.map +1 -0
- package/build/esm/effect/AutoWah.d.ts +99 -0
- package/build/esm/effect/AutoWah.js +131 -0
- package/build/esm/effect/AutoWah.js.map +1 -0
- package/build/esm/effect/BitCrusher.d.ts +40 -0
- package/build/esm/effect/BitCrusher.js +85 -0
- package/build/esm/effect/BitCrusher.js.map +1 -0
- package/build/esm/effect/BitCrusher.worklet.d.ts +3 -0
- package/build/esm/effect/BitCrusher.worklet.js +25 -0
- package/build/esm/effect/BitCrusher.worklet.js.map +1 -0
- package/build/esm/effect/Chebyshev.d.ts +62 -0
- package/build/esm/effect/Chebyshev.js +95 -0
- package/build/esm/effect/Chebyshev.js.map +1 -0
- package/build/esm/effect/Chorus.d.ts +104 -0
- package/build/esm/effect/Chorus.js +157 -0
- package/build/esm/effect/Chorus.js.map +1 -0
- package/build/esm/effect/Distortion.d.ts +43 -0
- package/build/esm/effect/Distortion.js +69 -0
- package/build/esm/effect/Distortion.js.map +1 -0
- package/build/esm/effect/Effect.d.ts +49 -0
- package/build/esm/effect/Effect.js +70 -0
- package/build/esm/effect/Effect.js.map +1 -0
- package/build/esm/effect/FeedbackDelay.d.ts +37 -0
- package/build/esm/effect/FeedbackDelay.js +47 -0
- package/build/esm/effect/FeedbackDelay.js.map +1 -0
- package/build/esm/effect/FeedbackEffect.d.ts +34 -0
- package/build/esm/effect/FeedbackEffect.js +34 -0
- package/build/esm/effect/FeedbackEffect.js.map +1 -0
- package/build/esm/effect/Freeverb.d.ts +51 -0
- package/build/esm/effect/Freeverb.js +104 -0
- package/build/esm/effect/Freeverb.js.map +1 -0
- package/build/esm/effect/FrequencyShifter.d.ts +68 -0
- package/build/esm/effect/FrequencyShifter.js +88 -0
- package/build/esm/effect/FrequencyShifter.js.map +1 -0
- package/build/esm/effect/JCReverb.d.ts +46 -0
- package/build/esm/effect/JCReverb.js +97 -0
- package/build/esm/effect/JCReverb.js.map +1 -0
- package/build/esm/effect/LFOEffect.d.ts +58 -0
- package/build/esm/effect/LFOEffect.js +77 -0
- package/build/esm/effect/LFOEffect.js.map +1 -0
- package/build/esm/effect/MidSideEffect.d.ts +50 -0
- package/build/esm/effect/MidSideEffect.js +51 -0
- package/build/esm/effect/MidSideEffect.js.map +1 -0
- package/build/esm/effect/Phaser.d.ts +80 -0
- package/build/esm/effect/Phaser.js +119 -0
- package/build/esm/effect/Phaser.js.map +1 -0
- package/build/esm/effect/PingPongDelay.d.ts +48 -0
- package/build/esm/effect/PingPongDelay.js +66 -0
- package/build/esm/effect/PingPongDelay.js.map +1 -0
- package/build/esm/effect/PitchShift.d.ts +89 -0
- package/build/esm/effect/PitchShift.js +140 -0
- package/build/esm/effect/PitchShift.js.map +1 -0
- package/build/esm/effect/Reverb.d.ts +62 -0
- package/build/esm/effect/Reverb.js +111 -0
- package/build/esm/effect/Reverb.js.map +1 -0
- package/build/esm/effect/StereoEffect.d.ts +44 -0
- package/build/esm/effect/StereoEffect.js +61 -0
- package/build/esm/effect/StereoEffect.js.map +1 -0
- package/build/esm/effect/StereoFeedbackEffect.d.ts +39 -0
- package/build/esm/effect/StereoFeedbackEffect.js +49 -0
- package/build/esm/effect/StereoFeedbackEffect.js.map +1 -0
- package/build/esm/effect/StereoWidener.d.ts +50 -0
- package/build/esm/effect/StereoWidener.js +65 -0
- package/build/esm/effect/StereoWidener.js.map +1 -0
- package/build/esm/effect/StereoXFeedbackEffect.d.ts +21 -0
- package/build/esm/effect/StereoXFeedbackEffect.js +28 -0
- package/build/esm/effect/StereoXFeedbackEffect.js.map +1 -0
- package/build/esm/effect/Tremolo.d.ts +86 -0
- package/build/esm/effect/Tremolo.js +131 -0
- package/build/esm/effect/Tremolo.js.map +1 -0
- package/build/esm/effect/Vibrato.d.ts +48 -0
- package/build/esm/effect/Vibrato.js +61 -0
- package/build/esm/effect/Vibrato.js.map +1 -0
- package/build/esm/effect/index.d.ts +18 -0
- package/build/esm/effect/index.js +19 -0
- package/build/esm/effect/index.js.map +1 -0
- package/build/esm/event/Loop.d.ts +107 -0
- package/build/esm/event/Loop.js +164 -0
- package/build/esm/event/Loop.js.map +1 -0
- package/build/esm/event/Part.d.ts +193 -0
- package/build/esm/event/Part.js +401 -0
- package/build/esm/event/Part.js.map +1 -0
- package/build/esm/event/Pattern.d.ts +67 -0
- package/build/esm/event/Pattern.js +67 -0
- package/build/esm/event/Pattern.js.map +1 -0
- package/build/esm/event/PatternGenerator.d.ts +12 -0
- package/build/esm/event/PatternGenerator.js +165 -0
- package/build/esm/event/PatternGenerator.js.map +1 -0
- package/build/esm/event/Sequence.d.ts +127 -0
- package/build/esm/event/Sequence.js +247 -0
- package/build/esm/event/Sequence.js.map +1 -0
- package/build/esm/event/ToneEvent.d.ts +188 -0
- package/build/esm/event/ToneEvent.js +299 -0
- package/build/esm/event/ToneEvent.js.map +1 -0
- package/build/esm/event/index.d.ts +5 -0
- package/build/esm/event/index.js +6 -0
- package/build/esm/event/index.js.map +1 -0
- package/build/esm/fromContext.d.ts +26 -0
- package/build/esm/fromContext.js +41 -0
- package/build/esm/fromContext.js.map +1 -0
- package/build/esm/index.d.ts +86 -0
- package/build/esm/index.js +102 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/instrument/AMSynth.d.ts +25 -0
- package/build/esm/instrument/AMSynth.js +37 -0
- package/build/esm/instrument/AMSynth.js.map +1 -0
- package/build/esm/instrument/DuoSynth.d.ts +72 -0
- package/build/esm/instrument/DuoSynth.js +140 -0
- package/build/esm/instrument/DuoSynth.js.map +1 -0
- package/build/esm/instrument/FMSynth.d.ts +31 -0
- package/build/esm/instrument/FMSynth.js +45 -0
- package/build/esm/instrument/FMSynth.js.map +1 -0
- package/build/esm/instrument/Instrument.d.ts +100 -0
- package/build/esm/instrument/Instrument.js +127 -0
- package/build/esm/instrument/Instrument.js.map +1 -0
- package/build/esm/instrument/MembraneSynth.d.ts +47 -0
- package/build/esm/instrument/MembraneSynth.js +69 -0
- package/build/esm/instrument/MembraneSynth.js.map +1 -0
- package/build/esm/instrument/MetalSynth.d.ts +109 -0
- package/build/esm/instrument/MetalSynth.js +198 -0
- package/build/esm/instrument/MetalSynth.js.map +1 -0
- package/build/esm/instrument/ModulationSynth.d.ts +81 -0
- package/build/esm/instrument/ModulationSynth.js +122 -0
- package/build/esm/instrument/ModulationSynth.js.map +1 -0
- package/build/esm/instrument/MonoSynth.d.ts +76 -0
- package/build/esm/instrument/MonoSynth.js +113 -0
- package/build/esm/instrument/MonoSynth.js.map +1 -0
- package/build/esm/instrument/Monophonic.d.ts +82 -0
- package/build/esm/instrument/Monophonic.js +83 -0
- package/build/esm/instrument/Monophonic.js.map +1 -0
- package/build/esm/instrument/NoiseSynth.d.ts +51 -0
- package/build/esm/instrument/NoiseSynth.js +93 -0
- package/build/esm/instrument/NoiseSynth.js.map +1 -0
- package/build/esm/instrument/PluckSynth.d.ts +57 -0
- package/build/esm/instrument/PluckSynth.js +80 -0
- package/build/esm/instrument/PluckSynth.js.map +1 -0
- package/build/esm/instrument/PolySynth.d.ts +176 -0
- package/build/esm/instrument/PolySynth.js +302 -0
- package/build/esm/instrument/PolySynth.js.map +1 -0
- package/build/esm/instrument/Sampler.d.ts +126 -0
- package/build/esm/instrument/Sampler.js +259 -0
- package/build/esm/instrument/Sampler.js.map +1 -0
- package/build/esm/instrument/Synth.d.ts +65 -0
- package/build/esm/instrument/Synth.js +91 -0
- package/build/esm/instrument/Synth.js.map +1 -0
- package/build/esm/instrument/index.d.ts +11 -0
- package/build/esm/instrument/index.js +12 -0
- package/build/esm/instrument/index.js.map +1 -0
- package/build/esm/signal/Abs.d.ts +34 -0
- package/build/esm/signal/Abs.js +51 -0
- package/build/esm/signal/Abs.js.map +1 -0
- package/build/esm/signal/Add.d.ts +40 -0
- package/build/esm/signal/Add.js +49 -0
- package/build/esm/signal/Add.js.map +1 -0
- package/build/esm/signal/AudioToGain.d.ts +27 -0
- package/build/esm/signal/AudioToGain.js +37 -0
- package/build/esm/signal/AudioToGain.js.map +1 -0
- package/build/esm/signal/GainToAudio.d.ts +27 -0
- package/build/esm/signal/GainToAudio.js +37 -0
- package/build/esm/signal/GainToAudio.js.map +1 -0
- package/build/esm/signal/GreaterThan.d.ts +47 -0
- package/build/esm/signal/GreaterThan.js +46 -0
- package/build/esm/signal/GreaterThan.js.map +1 -0
- package/build/esm/signal/GreaterThanZero.d.ts +29 -0
- package/build/esm/signal/GreaterThanZero.js +45 -0
- package/build/esm/signal/GreaterThanZero.js.map +1 -0
- package/build/esm/signal/Multiply.d.ts +52 -0
- package/build/esm/signal/Multiply.js +51 -0
- package/build/esm/signal/Multiply.js.map +1 -0
- package/build/esm/signal/Negate.d.ts +29 -0
- package/build/esm/signal/Negate.js +39 -0
- package/build/esm/signal/Negate.js.map +1 -0
- package/build/esm/signal/Pow.d.ts +42 -0
- package/build/esm/signal/Pow.js +58 -0
- package/build/esm/signal/Pow.js.map +1 -0
- package/build/esm/signal/Scale.d.ts +62 -0
- package/build/esm/signal/Scale.js +73 -0
- package/build/esm/signal/Scale.js.map +1 -0
- package/build/esm/signal/ScaleExp.d.ts +37 -0
- package/build/esm/signal/ScaleExp.js +46 -0
- package/build/esm/signal/ScaleExp.js.map +1 -0
- package/build/esm/signal/Signal.d.ts +92 -0
- package/build/esm/signal/Signal.js +183 -0
- package/build/esm/signal/Signal.js.map +1 -0
- package/build/esm/signal/SignalOperator.d.ts +9 -0
- package/build/esm/signal/SignalOperator.js +16 -0
- package/build/esm/signal/SignalOperator.js.map +1 -0
- package/build/esm/signal/Subtract.d.ts +48 -0
- package/build/esm/signal/Subtract.js +58 -0
- package/build/esm/signal/Subtract.js.map +1 -0
- package/build/esm/signal/SyncedSignal.d.ts +53 -0
- package/build/esm/signal/SyncedSignal.js +124 -0
- package/build/esm/signal/SyncedSignal.js.map +1 -0
- package/build/esm/signal/ToneConstantSource.d.ts +39 -0
- package/build/esm/signal/ToneConstantSource.js +61 -0
- package/build/esm/signal/ToneConstantSource.js.map +1 -0
- package/build/esm/signal/WaveShaper.d.ts +81 -0
- package/build/esm/signal/WaveShaper.js +99 -0
- package/build/esm/signal/WaveShaper.js.map +1 -0
- package/build/esm/signal/Zero.d.ts +29 -0
- package/build/esm/signal/Zero.js +38 -0
- package/build/esm/signal/Zero.js.map +1 -0
- package/build/esm/signal/index.d.ts +16 -0
- package/build/esm/signal/index.js +17 -0
- package/build/esm/signal/index.js.map +1 -0
- package/build/esm/source/Noise.d.ts +96 -0
- package/build/esm/source/Noise.js +225 -0
- package/build/esm/source/Noise.js.map +1 -0
- package/build/esm/source/OneShotSource.d.ts +102 -0
- package/build/esm/source/OneShotSource.js +183 -0
- package/build/esm/source/OneShotSource.js.map +1 -0
- package/build/esm/source/Source.d.ts +155 -0
- package/build/esm/source/Source.js +281 -0
- package/build/esm/source/Source.js.map +1 -0
- package/build/esm/source/UserMedia.d.ts +123 -0
- package/build/esm/source/UserMedia.js +214 -0
- package/build/esm/source/UserMedia.js.map +1 -0
- package/build/esm/source/buffer/GrainPlayer.d.ts +135 -0
- package/build/esm/source/buffer/GrainPlayer.js +235 -0
- package/build/esm/source/buffer/GrainPlayer.js.map +1 -0
- package/build/esm/source/buffer/Player.d.ts +190 -0
- package/build/esm/source/buffer/Player.js +352 -0
- package/build/esm/source/buffer/Player.js.map +1 -0
- package/build/esm/source/buffer/Players.d.ts +121 -0
- package/build/esm/source/buffer/Players.js +162 -0
- package/build/esm/source/buffer/Players.js.map +1 -0
- package/build/esm/source/buffer/ToneBufferSource.d.ts +97 -0
- package/build/esm/source/buffer/ToneBufferSource.js +196 -0
- package/build/esm/source/buffer/ToneBufferSource.js.map +1 -0
- package/build/esm/source/index.d.ts +15 -0
- package/build/esm/source/index.js +16 -0
- package/build/esm/source/index.js.map +1 -0
- package/build/esm/source/oscillator/AMOscillator.d.ts +101 -0
- package/build/esm/source/oscillator/AMOscillator.js +157 -0
- package/build/esm/source/oscillator/AMOscillator.js.map +1 -0
- package/build/esm/source/oscillator/FMOscillator.d.ts +101 -0
- package/build/esm/source/oscillator/FMOscillator.js +172 -0
- package/build/esm/source/oscillator/FMOscillator.js.map +1 -0
- package/build/esm/source/oscillator/FatOscillator.d.ts +99 -0
- package/build/esm/source/oscillator/FatOscillator.js +195 -0
- package/build/esm/source/oscillator/FatOscillator.js.map +1 -0
- package/build/esm/source/oscillator/LFO.d.ts +167 -0
- package/build/esm/source/oscillator/LFO.js +233 -0
- package/build/esm/source/oscillator/LFO.js.map +1 -0
- package/build/esm/source/oscillator/OmniOscillator.d.ts +162 -0
- package/build/esm/source/oscillator/OmniOscillator.js +348 -0
- package/build/esm/source/oscillator/OmniOscillator.js.map +1 -0
- package/build/esm/source/oscillator/Oscillator.d.ts +125 -0
- package/build/esm/source/oscillator/Oscillator.js +379 -0
- package/build/esm/source/oscillator/Oscillator.js.map +1 -0
- package/build/esm/source/oscillator/OscillatorInterface.d.ts +298 -0
- package/build/esm/source/oscillator/OscillatorInterface.js +22 -0
- package/build/esm/source/oscillator/OscillatorInterface.js.map +1 -0
- package/build/esm/source/oscillator/PWMOscillator.d.ts +94 -0
- package/build/esm/source/oscillator/PWMOscillator.js +136 -0
- package/build/esm/source/oscillator/PWMOscillator.js.map +1 -0
- package/build/esm/source/oscillator/PulseOscillator.d.ts +119 -0
- package/build/esm/source/oscillator/PulseOscillator.js +175 -0
- package/build/esm/source/oscillator/PulseOscillator.js.map +1 -0
- package/build/esm/source/oscillator/ToneOscillatorNode.d.ts +57 -0
- package/build/esm/source/oscillator/ToneOscillatorNode.js +90 -0
- package/build/esm/source/oscillator/ToneOscillatorNode.js.map +1 -0
- package/build/esm/version.d.ts +1 -0
- package/build/esm/version.js +2 -0
- package/build/esm/version.js.map +1 -0
- package/docs/tone.json +1 -0
- package/package.json +116 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { ToneAudioBuffer } from "../../core/context/ToneAudioBuffer";
|
|
2
|
+
import { Positive, Seconds, Time } from "../../core/type/Units";
|
|
3
|
+
import { Source, SourceOptions } from "../Source";
|
|
4
|
+
export interface PlayerOptions extends SourceOptions {
|
|
5
|
+
onload: () => void;
|
|
6
|
+
onerror: (error: Error) => void;
|
|
7
|
+
playbackRate: Positive;
|
|
8
|
+
loop: boolean;
|
|
9
|
+
autostart: boolean;
|
|
10
|
+
loopStart: Time;
|
|
11
|
+
loopEnd: Time;
|
|
12
|
+
reverse: boolean;
|
|
13
|
+
fadeIn: Time;
|
|
14
|
+
fadeOut: Time;
|
|
15
|
+
url?: ToneAudioBuffer | string | AudioBuffer;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Player is an audio file player with start, loop, and stop functions.
|
|
19
|
+
* @example
|
|
20
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/gong_1.mp3").toDestination();
|
|
21
|
+
* // play as soon as the buffer is loaded
|
|
22
|
+
* player.autostart = true;
|
|
23
|
+
* @category Source
|
|
24
|
+
*/
|
|
25
|
+
export declare class Player extends Source<PlayerOptions> {
|
|
26
|
+
readonly name: string;
|
|
27
|
+
/**
|
|
28
|
+
* If the file should play as soon
|
|
29
|
+
* as the buffer is loaded.
|
|
30
|
+
*/
|
|
31
|
+
autostart: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The buffer
|
|
34
|
+
*/
|
|
35
|
+
private _buffer;
|
|
36
|
+
/**
|
|
37
|
+
* if the buffer should loop once it's over
|
|
38
|
+
*/
|
|
39
|
+
private _loop;
|
|
40
|
+
/**
|
|
41
|
+
* if 'loop' is true, the loop will start at this position
|
|
42
|
+
*/
|
|
43
|
+
private _loopStart;
|
|
44
|
+
/**
|
|
45
|
+
* if 'loop' is true, the loop will end at this position
|
|
46
|
+
*/
|
|
47
|
+
private _loopEnd;
|
|
48
|
+
/**
|
|
49
|
+
* the playback rate
|
|
50
|
+
*/
|
|
51
|
+
private _playbackRate;
|
|
52
|
+
/**
|
|
53
|
+
* All of the active buffer source nodes
|
|
54
|
+
*/
|
|
55
|
+
private _activeSources;
|
|
56
|
+
/**
|
|
57
|
+
* The fadeIn time of the amplitude envelope.
|
|
58
|
+
*/
|
|
59
|
+
fadeIn: Time;
|
|
60
|
+
/**
|
|
61
|
+
* The fadeOut time of the amplitude envelope.
|
|
62
|
+
*/
|
|
63
|
+
fadeOut: Time;
|
|
64
|
+
/**
|
|
65
|
+
* @param url Either the AudioBuffer or the url from which to load the AudioBuffer
|
|
66
|
+
* @param onload The function to invoke when the buffer is loaded.
|
|
67
|
+
*/
|
|
68
|
+
constructor(url?: string | AudioBuffer | ToneAudioBuffer, onload?: () => void);
|
|
69
|
+
constructor(options?: Partial<PlayerOptions>);
|
|
70
|
+
static getDefaults(): PlayerOptions;
|
|
71
|
+
/**
|
|
72
|
+
* Load the audio file as an audio buffer.
|
|
73
|
+
* Decodes the audio asynchronously and invokes
|
|
74
|
+
* the callback once the audio buffer loads.
|
|
75
|
+
* Note: this does not need to be called if a url
|
|
76
|
+
* was passed in to the constructor. Only use this
|
|
77
|
+
* if you want to manually load a new url.
|
|
78
|
+
* @param url The url of the buffer to load. Filetype support depends on the browser.
|
|
79
|
+
*/
|
|
80
|
+
load(url: string): Promise<this>;
|
|
81
|
+
/**
|
|
82
|
+
* Internal callback when the buffer is loaded.
|
|
83
|
+
*/
|
|
84
|
+
private _onload;
|
|
85
|
+
/**
|
|
86
|
+
* Internal callback when the buffer is done playing.
|
|
87
|
+
*/
|
|
88
|
+
private _onSourceEnd;
|
|
89
|
+
/**
|
|
90
|
+
* Play the buffer at the given startTime. Optionally add an offset
|
|
91
|
+
* and/or duration which will play the buffer from a position
|
|
92
|
+
* within the buffer for the given duration.
|
|
93
|
+
*
|
|
94
|
+
* @param time When the player should start.
|
|
95
|
+
* @param offset The offset from the beginning of the sample to start at.
|
|
96
|
+
* @param duration How long the sample should play. If no duration is given, it will default to the full length of the sample (minus any offset)
|
|
97
|
+
*/
|
|
98
|
+
start(time?: Time, offset?: Time, duration?: Time): this;
|
|
99
|
+
/**
|
|
100
|
+
* Internal start method
|
|
101
|
+
*/
|
|
102
|
+
protected _start(startTime?: Time, offset?: Time, duration?: Time): void;
|
|
103
|
+
/**
|
|
104
|
+
* Stop playback.
|
|
105
|
+
*/
|
|
106
|
+
protected _stop(time?: Time): void;
|
|
107
|
+
/**
|
|
108
|
+
* Stop and then restart the player from the beginning (or offset)
|
|
109
|
+
* @param time When the player should start.
|
|
110
|
+
* @param offset The offset from the beginning of the sample to start at.
|
|
111
|
+
* @param duration How long the sample should play. If no duration is given,
|
|
112
|
+
* it will default to the full length of the sample (minus any offset)
|
|
113
|
+
*/
|
|
114
|
+
restart(time?: Seconds, offset?: Time, duration?: Time): this;
|
|
115
|
+
protected _restart(time?: Seconds, offset?: Time, duration?: Time): void;
|
|
116
|
+
/**
|
|
117
|
+
* Seek to a specific time in the player's buffer. If the
|
|
118
|
+
* source is no longer playing at that time, it will stop.
|
|
119
|
+
* @param offset The time to seek to.
|
|
120
|
+
* @param when The time for the seek event to occur.
|
|
121
|
+
* @example
|
|
122
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/gurgling_theremin_1.mp3", () => {
|
|
123
|
+
* player.start();
|
|
124
|
+
* // seek to the offset in 1 second from now
|
|
125
|
+
* player.seek(0.4, "+1");
|
|
126
|
+
* }).toDestination();
|
|
127
|
+
*/
|
|
128
|
+
seek(offset: Time, when?: Time): this;
|
|
129
|
+
/**
|
|
130
|
+
* Set the loop start and end. Will only loop if loop is set to true.
|
|
131
|
+
* @param loopStart The loop start time
|
|
132
|
+
* @param loopEnd The loop end time
|
|
133
|
+
* @example
|
|
134
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/malevoices_aa2_F3.mp3").toDestination();
|
|
135
|
+
* // loop between the given points
|
|
136
|
+
* player.setLoopPoints(0.2, 0.3);
|
|
137
|
+
* player.loop = true;
|
|
138
|
+
* player.autostart = true;
|
|
139
|
+
*/
|
|
140
|
+
setLoopPoints(loopStart: Time, loopEnd: Time): this;
|
|
141
|
+
/**
|
|
142
|
+
* If loop is true, the loop will start at this position.
|
|
143
|
+
*/
|
|
144
|
+
get loopStart(): Time;
|
|
145
|
+
set loopStart(loopStart: Time);
|
|
146
|
+
/**
|
|
147
|
+
* If loop is true, the loop will end at this position.
|
|
148
|
+
*/
|
|
149
|
+
get loopEnd(): Time;
|
|
150
|
+
set loopEnd(loopEnd: Time);
|
|
151
|
+
/**
|
|
152
|
+
* The audio buffer belonging to the player.
|
|
153
|
+
*/
|
|
154
|
+
get buffer(): ToneAudioBuffer;
|
|
155
|
+
set buffer(buffer: ToneAudioBuffer);
|
|
156
|
+
/**
|
|
157
|
+
* If the buffer should loop once it's over.
|
|
158
|
+
* @example
|
|
159
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/drum-samples/breakbeat.mp3").toDestination();
|
|
160
|
+
* player.loop = true;
|
|
161
|
+
* player.autostart = true;
|
|
162
|
+
*/
|
|
163
|
+
get loop(): boolean;
|
|
164
|
+
set loop(loop: boolean);
|
|
165
|
+
/**
|
|
166
|
+
* Normal speed is 1. The pitch will change with the playback rate.
|
|
167
|
+
* @example
|
|
168
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/femalevoices_aa2_A5.mp3").toDestination();
|
|
169
|
+
* // play at 1/4 speed
|
|
170
|
+
* player.playbackRate = 0.25;
|
|
171
|
+
* // play as soon as the buffer is loaded
|
|
172
|
+
* player.autostart = true;
|
|
173
|
+
*/
|
|
174
|
+
get playbackRate(): Positive;
|
|
175
|
+
set playbackRate(rate: Positive);
|
|
176
|
+
/**
|
|
177
|
+
* If the buffer should be reversed
|
|
178
|
+
* @example
|
|
179
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/chime_1.mp3").toDestination();
|
|
180
|
+
* player.autostart = true;
|
|
181
|
+
* player.reverse = true;
|
|
182
|
+
*/
|
|
183
|
+
get reverse(): boolean;
|
|
184
|
+
set reverse(rev: boolean);
|
|
185
|
+
/**
|
|
186
|
+
* If the buffer is loaded
|
|
187
|
+
*/
|
|
188
|
+
get loaded(): boolean;
|
|
189
|
+
dispose(): this;
|
|
190
|
+
}
|
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { ToneAudioBuffer } from "../../core/context/ToneAudioBuffer";
|
|
3
|
+
import { defaultArg, optionsFromArguments } from "../../core/util/Defaults";
|
|
4
|
+
import { noOp } from "../../core/util/Interface";
|
|
5
|
+
import { isUndef } from "../../core/util/TypeCheck";
|
|
6
|
+
import { Source } from "../Source";
|
|
7
|
+
import { ToneBufferSource } from "./ToneBufferSource";
|
|
8
|
+
import { assertRange } from "../../core/util/Debug";
|
|
9
|
+
import { timeRange } from "../../core/util/Decorator";
|
|
10
|
+
/**
|
|
11
|
+
* Player is an audio file player with start, loop, and stop functions.
|
|
12
|
+
* @example
|
|
13
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/gong_1.mp3").toDestination();
|
|
14
|
+
* // play as soon as the buffer is loaded
|
|
15
|
+
* player.autostart = true;
|
|
16
|
+
* @category Source
|
|
17
|
+
*/
|
|
18
|
+
export class Player extends Source {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(optionsFromArguments(Player.getDefaults(), arguments, ["url", "onload"]));
|
|
21
|
+
this.name = "Player";
|
|
22
|
+
/**
|
|
23
|
+
* All of the active buffer source nodes
|
|
24
|
+
*/
|
|
25
|
+
this._activeSources = new Set();
|
|
26
|
+
const options = optionsFromArguments(Player.getDefaults(), arguments, ["url", "onload"]);
|
|
27
|
+
this._buffer = new ToneAudioBuffer({
|
|
28
|
+
onload: this._onload.bind(this, options.onload),
|
|
29
|
+
onerror: options.onerror,
|
|
30
|
+
reverse: options.reverse,
|
|
31
|
+
url: options.url,
|
|
32
|
+
});
|
|
33
|
+
this.autostart = options.autostart;
|
|
34
|
+
this._loop = options.loop;
|
|
35
|
+
this._loopStart = options.loopStart;
|
|
36
|
+
this._loopEnd = options.loopEnd;
|
|
37
|
+
this._playbackRate = options.playbackRate;
|
|
38
|
+
this.fadeIn = options.fadeIn;
|
|
39
|
+
this.fadeOut = options.fadeOut;
|
|
40
|
+
}
|
|
41
|
+
static getDefaults() {
|
|
42
|
+
return Object.assign(Source.getDefaults(), {
|
|
43
|
+
autostart: false,
|
|
44
|
+
fadeIn: 0,
|
|
45
|
+
fadeOut: 0,
|
|
46
|
+
loop: false,
|
|
47
|
+
loopEnd: 0,
|
|
48
|
+
loopStart: 0,
|
|
49
|
+
onload: noOp,
|
|
50
|
+
onerror: noOp,
|
|
51
|
+
playbackRate: 1,
|
|
52
|
+
reverse: false,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Load the audio file as an audio buffer.
|
|
57
|
+
* Decodes the audio asynchronously and invokes
|
|
58
|
+
* the callback once the audio buffer loads.
|
|
59
|
+
* Note: this does not need to be called if a url
|
|
60
|
+
* was passed in to the constructor. Only use this
|
|
61
|
+
* if you want to manually load a new url.
|
|
62
|
+
* @param url The url of the buffer to load. Filetype support depends on the browser.
|
|
63
|
+
*/
|
|
64
|
+
load(url) {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
yield this._buffer.load(url);
|
|
67
|
+
this._onload();
|
|
68
|
+
return this;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Internal callback when the buffer is loaded.
|
|
73
|
+
*/
|
|
74
|
+
_onload(callback = noOp) {
|
|
75
|
+
callback();
|
|
76
|
+
if (this.autostart) {
|
|
77
|
+
this.start();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Internal callback when the buffer is done playing.
|
|
82
|
+
*/
|
|
83
|
+
_onSourceEnd(source) {
|
|
84
|
+
// invoke the onstop function
|
|
85
|
+
this.onstop(this);
|
|
86
|
+
// delete the source from the active sources
|
|
87
|
+
this._activeSources.delete(source);
|
|
88
|
+
if (this._activeSources.size === 0 && !this._synced &&
|
|
89
|
+
this._state.getValueAtTime(this.now()) === "started") {
|
|
90
|
+
// remove the 'implicitEnd' event and replace with an explicit end
|
|
91
|
+
this._state.cancel(this.now());
|
|
92
|
+
this._state.setStateAtTime("stopped", this.now());
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Play the buffer at the given startTime. Optionally add an offset
|
|
97
|
+
* and/or duration which will play the buffer from a position
|
|
98
|
+
* within the buffer for the given duration.
|
|
99
|
+
*
|
|
100
|
+
* @param time When the player should start.
|
|
101
|
+
* @param offset The offset from the beginning of the sample to start at.
|
|
102
|
+
* @param duration How long the sample should play. If no duration is given, it will default to the full length of the sample (minus any offset)
|
|
103
|
+
*/
|
|
104
|
+
start(time, offset, duration) {
|
|
105
|
+
super.start(time, offset, duration);
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Internal start method
|
|
110
|
+
*/
|
|
111
|
+
_start(startTime, offset, duration) {
|
|
112
|
+
// if it's a loop the default offset is the loopStart point
|
|
113
|
+
if (this._loop) {
|
|
114
|
+
offset = defaultArg(offset, this._loopStart);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// otherwise the default offset is 0
|
|
118
|
+
offset = defaultArg(offset, 0);
|
|
119
|
+
}
|
|
120
|
+
// compute the values in seconds
|
|
121
|
+
const computedOffset = this.toSeconds(offset);
|
|
122
|
+
// compute the duration which is either the passed in duration of the buffer.duration - offset
|
|
123
|
+
const origDuration = duration;
|
|
124
|
+
duration = defaultArg(duration, Math.max(this._buffer.duration - computedOffset, 0));
|
|
125
|
+
let computedDuration = this.toSeconds(duration);
|
|
126
|
+
// scale it by the playback rate
|
|
127
|
+
computedDuration = computedDuration / this._playbackRate;
|
|
128
|
+
// get the start time
|
|
129
|
+
startTime = this.toSeconds(startTime);
|
|
130
|
+
// make the source
|
|
131
|
+
const source = new ToneBufferSource({
|
|
132
|
+
url: this._buffer,
|
|
133
|
+
context: this.context,
|
|
134
|
+
fadeIn: this.fadeIn,
|
|
135
|
+
fadeOut: this.fadeOut,
|
|
136
|
+
loop: this._loop,
|
|
137
|
+
loopEnd: this._loopEnd,
|
|
138
|
+
loopStart: this._loopStart,
|
|
139
|
+
onended: this._onSourceEnd.bind(this),
|
|
140
|
+
playbackRate: this._playbackRate,
|
|
141
|
+
}).connect(this.output);
|
|
142
|
+
// set the looping properties
|
|
143
|
+
if (!this._loop && !this._synced) {
|
|
144
|
+
// cancel the previous stop
|
|
145
|
+
this._state.cancel(startTime + computedDuration);
|
|
146
|
+
// if it's not looping, set the state change at the end of the sample
|
|
147
|
+
this._state.setStateAtTime("stopped", startTime + computedDuration, {
|
|
148
|
+
implicitEnd: true,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
// add it to the array of active sources
|
|
152
|
+
this._activeSources.add(source);
|
|
153
|
+
// start it
|
|
154
|
+
if (this._loop && isUndef(origDuration)) {
|
|
155
|
+
source.start(startTime, computedOffset);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// subtract the fade out time
|
|
159
|
+
source.start(startTime, computedOffset, computedDuration - this.toSeconds(this.fadeOut));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Stop playback.
|
|
164
|
+
*/
|
|
165
|
+
_stop(time) {
|
|
166
|
+
const computedTime = this.toSeconds(time);
|
|
167
|
+
this._activeSources.forEach(source => source.stop(computedTime));
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Stop and then restart the player from the beginning (or offset)
|
|
171
|
+
* @param time When the player should start.
|
|
172
|
+
* @param offset The offset from the beginning of the sample to start at.
|
|
173
|
+
* @param duration How long the sample should play. If no duration is given,
|
|
174
|
+
* it will default to the full length of the sample (minus any offset)
|
|
175
|
+
*/
|
|
176
|
+
restart(time, offset, duration) {
|
|
177
|
+
super.restart(time, offset, duration);
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
_restart(time, offset, duration) {
|
|
181
|
+
this._stop(time);
|
|
182
|
+
this._start(time, offset, duration);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Seek to a specific time in the player's buffer. If the
|
|
186
|
+
* source is no longer playing at that time, it will stop.
|
|
187
|
+
* @param offset The time to seek to.
|
|
188
|
+
* @param when The time for the seek event to occur.
|
|
189
|
+
* @example
|
|
190
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/gurgling_theremin_1.mp3", () => {
|
|
191
|
+
* player.start();
|
|
192
|
+
* // seek to the offset in 1 second from now
|
|
193
|
+
* player.seek(0.4, "+1");
|
|
194
|
+
* }).toDestination();
|
|
195
|
+
*/
|
|
196
|
+
seek(offset, when) {
|
|
197
|
+
const computedTime = this.toSeconds(when);
|
|
198
|
+
if (this._state.getValueAtTime(computedTime) === "started") {
|
|
199
|
+
const computedOffset = this.toSeconds(offset);
|
|
200
|
+
// if it's currently playing, stop it
|
|
201
|
+
this._stop(computedTime);
|
|
202
|
+
// restart it at the given time
|
|
203
|
+
this._start(computedTime, computedOffset);
|
|
204
|
+
}
|
|
205
|
+
return this;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Set the loop start and end. Will only loop if loop is set to true.
|
|
209
|
+
* @param loopStart The loop start time
|
|
210
|
+
* @param loopEnd The loop end time
|
|
211
|
+
* @example
|
|
212
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/malevoices_aa2_F3.mp3").toDestination();
|
|
213
|
+
* // loop between the given points
|
|
214
|
+
* player.setLoopPoints(0.2, 0.3);
|
|
215
|
+
* player.loop = true;
|
|
216
|
+
* player.autostart = true;
|
|
217
|
+
*/
|
|
218
|
+
setLoopPoints(loopStart, loopEnd) {
|
|
219
|
+
this.loopStart = loopStart;
|
|
220
|
+
this.loopEnd = loopEnd;
|
|
221
|
+
return this;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* If loop is true, the loop will start at this position.
|
|
225
|
+
*/
|
|
226
|
+
get loopStart() {
|
|
227
|
+
return this._loopStart;
|
|
228
|
+
}
|
|
229
|
+
set loopStart(loopStart) {
|
|
230
|
+
this._loopStart = loopStart;
|
|
231
|
+
if (this.buffer.loaded) {
|
|
232
|
+
assertRange(this.toSeconds(loopStart), 0, this.buffer.duration);
|
|
233
|
+
}
|
|
234
|
+
// get the current source
|
|
235
|
+
this._activeSources.forEach(source => {
|
|
236
|
+
source.loopStart = loopStart;
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* If loop is true, the loop will end at this position.
|
|
241
|
+
*/
|
|
242
|
+
get loopEnd() {
|
|
243
|
+
return this._loopEnd;
|
|
244
|
+
}
|
|
245
|
+
set loopEnd(loopEnd) {
|
|
246
|
+
this._loopEnd = loopEnd;
|
|
247
|
+
if (this.buffer.loaded) {
|
|
248
|
+
assertRange(this.toSeconds(loopEnd), 0, this.buffer.duration);
|
|
249
|
+
}
|
|
250
|
+
// get the current source
|
|
251
|
+
this._activeSources.forEach(source => {
|
|
252
|
+
source.loopEnd = loopEnd;
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* The audio buffer belonging to the player.
|
|
257
|
+
*/
|
|
258
|
+
get buffer() {
|
|
259
|
+
return this._buffer;
|
|
260
|
+
}
|
|
261
|
+
set buffer(buffer) {
|
|
262
|
+
this._buffer.set(buffer);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* If the buffer should loop once it's over.
|
|
266
|
+
* @example
|
|
267
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/drum-samples/breakbeat.mp3").toDestination();
|
|
268
|
+
* player.loop = true;
|
|
269
|
+
* player.autostart = true;
|
|
270
|
+
*/
|
|
271
|
+
get loop() {
|
|
272
|
+
return this._loop;
|
|
273
|
+
}
|
|
274
|
+
set loop(loop) {
|
|
275
|
+
// if no change, do nothing
|
|
276
|
+
if (this._loop === loop) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
this._loop = loop;
|
|
280
|
+
// set the loop of all of the sources
|
|
281
|
+
this._activeSources.forEach(source => {
|
|
282
|
+
source.loop = loop;
|
|
283
|
+
});
|
|
284
|
+
if (loop) {
|
|
285
|
+
// remove the next stopEvent
|
|
286
|
+
const stopEvent = this._state.getNextState("stopped", this.now());
|
|
287
|
+
if (stopEvent) {
|
|
288
|
+
this._state.cancel(stopEvent.time);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Normal speed is 1. The pitch will change with the playback rate.
|
|
294
|
+
* @example
|
|
295
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/femalevoices_aa2_A5.mp3").toDestination();
|
|
296
|
+
* // play at 1/4 speed
|
|
297
|
+
* player.playbackRate = 0.25;
|
|
298
|
+
* // play as soon as the buffer is loaded
|
|
299
|
+
* player.autostart = true;
|
|
300
|
+
*/
|
|
301
|
+
get playbackRate() {
|
|
302
|
+
return this._playbackRate;
|
|
303
|
+
}
|
|
304
|
+
set playbackRate(rate) {
|
|
305
|
+
this._playbackRate = rate;
|
|
306
|
+
const now = this.now();
|
|
307
|
+
// cancel the stop event since it's at a different time now
|
|
308
|
+
const stopEvent = this._state.getNextState("stopped", now);
|
|
309
|
+
if (stopEvent && stopEvent.implicitEnd) {
|
|
310
|
+
this._state.cancel(stopEvent.time);
|
|
311
|
+
this._activeSources.forEach(source => source.cancelStop());
|
|
312
|
+
}
|
|
313
|
+
// set all the sources
|
|
314
|
+
this._activeSources.forEach(source => {
|
|
315
|
+
source.playbackRate.setValueAtTime(rate, now);
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* If the buffer should be reversed
|
|
320
|
+
* @example
|
|
321
|
+
* const player = new Tone.Player("https://tonejs.github.io/audio/berklee/chime_1.mp3").toDestination();
|
|
322
|
+
* player.autostart = true;
|
|
323
|
+
* player.reverse = true;
|
|
324
|
+
*/
|
|
325
|
+
get reverse() {
|
|
326
|
+
return this._buffer.reverse;
|
|
327
|
+
}
|
|
328
|
+
set reverse(rev) {
|
|
329
|
+
this._buffer.reverse = rev;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* If the buffer is loaded
|
|
333
|
+
*/
|
|
334
|
+
get loaded() {
|
|
335
|
+
return this._buffer.loaded;
|
|
336
|
+
}
|
|
337
|
+
dispose() {
|
|
338
|
+
super.dispose();
|
|
339
|
+
// disconnect all of the players
|
|
340
|
+
this._activeSources.forEach(source => source.dispose());
|
|
341
|
+
this._activeSources.clear();
|
|
342
|
+
this._buffer.dispose();
|
|
343
|
+
return this;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
__decorate([
|
|
347
|
+
timeRange(0)
|
|
348
|
+
], Player.prototype, "fadeIn", void 0);
|
|
349
|
+
__decorate([
|
|
350
|
+
timeRange(0)
|
|
351
|
+
], Player.prototype, "fadeOut", void 0);
|
|
352
|
+
//# sourceMappingURL=Player.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../../Tone/source/buffer/Player.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Param } from "../../core/context/Param";
|
|
2
|
+
import { ToneAudioBuffer } from "../../core/context/ToneAudioBuffer";
|
|
3
|
+
import { ToneAudioBuffersUrlMap } from "../../core/context/ToneAudioBuffers";
|
|
4
|
+
import { OutputNode, ToneAudioNode } from "../../core/context/ToneAudioNode";
|
|
5
|
+
import { Decibels, Time } from "../../core/type/Units";
|
|
6
|
+
import { BasicPlaybackState } from "../../core/util/StateTimeline";
|
|
7
|
+
import { SourceOptions } from "../Source";
|
|
8
|
+
import { Player } from "./Player";
|
|
9
|
+
export interface PlayersOptions extends SourceOptions {
|
|
10
|
+
urls: ToneAudioBuffersUrlMap;
|
|
11
|
+
volume: Decibels;
|
|
12
|
+
mute: boolean;
|
|
13
|
+
onload: () => void;
|
|
14
|
+
onerror: (error: Error) => void;
|
|
15
|
+
baseUrl: string;
|
|
16
|
+
fadeIn: Time;
|
|
17
|
+
fadeOut: Time;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Players combines multiple [[Player]] objects.
|
|
21
|
+
* @category Source
|
|
22
|
+
*/
|
|
23
|
+
export declare class Players extends ToneAudioNode<PlayersOptions> {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
/**
|
|
26
|
+
* The output volume node
|
|
27
|
+
*/
|
|
28
|
+
private _volume;
|
|
29
|
+
/**
|
|
30
|
+
* The volume of the output in decibels.
|
|
31
|
+
*/
|
|
32
|
+
readonly volume: Param<"decibels">;
|
|
33
|
+
/**
|
|
34
|
+
* The combined output of all of the players
|
|
35
|
+
*/
|
|
36
|
+
readonly output: OutputNode;
|
|
37
|
+
/**
|
|
38
|
+
* Players has no input.
|
|
39
|
+
*/
|
|
40
|
+
readonly input: undefined;
|
|
41
|
+
/**
|
|
42
|
+
* The container of all of the players
|
|
43
|
+
*/
|
|
44
|
+
private _players;
|
|
45
|
+
/**
|
|
46
|
+
* The container of all the buffers
|
|
47
|
+
*/
|
|
48
|
+
private _buffers;
|
|
49
|
+
/**
|
|
50
|
+
* private holder of the fadeIn time
|
|
51
|
+
*/
|
|
52
|
+
private _fadeIn;
|
|
53
|
+
/**
|
|
54
|
+
* private holder of the fadeOut time
|
|
55
|
+
*/
|
|
56
|
+
private _fadeOut;
|
|
57
|
+
/**
|
|
58
|
+
* @param urls An object mapping a name to a url.
|
|
59
|
+
* @param onload The function to invoke when all buffers are loaded.
|
|
60
|
+
*/
|
|
61
|
+
constructor(urls?: ToneAudioBuffersUrlMap, onload?: () => void);
|
|
62
|
+
/**
|
|
63
|
+
* @param urls An object mapping a name to a url.
|
|
64
|
+
* @param options The remaining options associated with the players
|
|
65
|
+
*/
|
|
66
|
+
constructor(urls?: ToneAudioBuffersUrlMap, options?: Partial<Omit<PlayersOptions, "urls">>);
|
|
67
|
+
constructor(options?: Partial<PlayersOptions>);
|
|
68
|
+
static getDefaults(): PlayersOptions;
|
|
69
|
+
/**
|
|
70
|
+
* Mute the output.
|
|
71
|
+
*/
|
|
72
|
+
get mute(): boolean;
|
|
73
|
+
set mute(mute: boolean);
|
|
74
|
+
/**
|
|
75
|
+
* The fadeIn time of the envelope applied to the source.
|
|
76
|
+
*/
|
|
77
|
+
get fadeIn(): Time;
|
|
78
|
+
set fadeIn(fadeIn: Time);
|
|
79
|
+
/**
|
|
80
|
+
* The fadeOut time of the each of the sources.
|
|
81
|
+
*/
|
|
82
|
+
get fadeOut(): Time;
|
|
83
|
+
set fadeOut(fadeOut: Time);
|
|
84
|
+
/**
|
|
85
|
+
* The state of the players object. Returns "started" if any of the players are playing.
|
|
86
|
+
*/
|
|
87
|
+
get state(): BasicPlaybackState;
|
|
88
|
+
/**
|
|
89
|
+
* True if the buffers object has a buffer by that name.
|
|
90
|
+
* @param name The key or index of the buffer.
|
|
91
|
+
*/
|
|
92
|
+
has(name: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Get a player by name.
|
|
95
|
+
* @param name The players name as defined in the constructor object or `add` method.
|
|
96
|
+
*/
|
|
97
|
+
player(name: string): Player;
|
|
98
|
+
/**
|
|
99
|
+
* If all the buffers are loaded or not
|
|
100
|
+
*/
|
|
101
|
+
get loaded(): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Add a player by name and url to the Players
|
|
104
|
+
* @param name A unique name to give the player
|
|
105
|
+
* @param url Either the url of the bufer or a buffer which will be added with the given name.
|
|
106
|
+
* @param callback The callback to invoke when the url is loaded.
|
|
107
|
+
* @example
|
|
108
|
+
* const players = new Tone.Players();
|
|
109
|
+
* players.add("gong", "https://tonejs.github.io/audio/berklee/gong_1.mp3", () => {
|
|
110
|
+
* console.log("gong loaded");
|
|
111
|
+
* players.get("gong").start();
|
|
112
|
+
* });
|
|
113
|
+
*/
|
|
114
|
+
add(name: string, url: string | ToneAudioBuffer | AudioBuffer, callback?: () => void): this;
|
|
115
|
+
/**
|
|
116
|
+
* Stop all of the players at the given time
|
|
117
|
+
* @param time The time to stop all of the players.
|
|
118
|
+
*/
|
|
119
|
+
stopAll(time?: Time): this;
|
|
120
|
+
dispose(): this;
|
|
121
|
+
}
|