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,45 @@
|
|
|
1
|
+
import { expect } from "chai";
|
|
2
|
+
import { Offline } from "test/helper/Offline";
|
|
3
|
+
import { Transport } from "./Transport";
|
|
4
|
+
import { TransportEvent } from "./TransportEvent";
|
|
5
|
+
|
|
6
|
+
describe("TransportEvent", () => {
|
|
7
|
+
|
|
8
|
+
it("can be created and disposed", () => {
|
|
9
|
+
return Offline((context) => {
|
|
10
|
+
const transport = new Transport({ context });
|
|
11
|
+
const event = new TransportEvent(transport, {
|
|
12
|
+
time: 0,
|
|
13
|
+
});
|
|
14
|
+
event.dispose();
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("has a unique id", () => {
|
|
19
|
+
return Offline((context) => {
|
|
20
|
+
const transport = new Transport({ context });
|
|
21
|
+
const event = new TransportEvent(transport, {
|
|
22
|
+
time: 0,
|
|
23
|
+
});
|
|
24
|
+
expect(event.id).to.be.a("number");
|
|
25
|
+
event.dispose();
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it("can invoke the callback", () => {
|
|
30
|
+
let wasInvoked = false;
|
|
31
|
+
return Offline((context) => {
|
|
32
|
+
const transport = new Transport({ context });
|
|
33
|
+
const event = new TransportEvent(transport, {
|
|
34
|
+
callback: (time) => {
|
|
35
|
+
expect(time).to.equal(100);
|
|
36
|
+
wasInvoked = true;
|
|
37
|
+
},
|
|
38
|
+
time: 0,
|
|
39
|
+
});
|
|
40
|
+
event.invoke(100);
|
|
41
|
+
}).then(() => {
|
|
42
|
+
expect(wasInvoked).to.equal(true);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Seconds, Ticks } from "../type/Units";
|
|
2
|
+
import { noOp } from "../util/Interface";
|
|
3
|
+
|
|
4
|
+
type Transport = import("../clock/Transport").Transport;
|
|
5
|
+
|
|
6
|
+
export interface TransportEventOptions {
|
|
7
|
+
callback: (time: number) => void;
|
|
8
|
+
once: boolean;
|
|
9
|
+
time: Ticks;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* TransportEvent is an internal class used by [[Transport]]
|
|
14
|
+
* to schedule events. Do no invoke this class directly, it is
|
|
15
|
+
* handled from within Tone.Transport.
|
|
16
|
+
*/
|
|
17
|
+
export class TransportEvent {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Reference to the Transport that created it
|
|
21
|
+
*/
|
|
22
|
+
protected transport: Transport;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The unique id of the event
|
|
26
|
+
*/
|
|
27
|
+
id: number = TransportEvent._eventId++;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The time the event starts
|
|
31
|
+
*/
|
|
32
|
+
time: Ticks;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The callback to invoke
|
|
36
|
+
*/
|
|
37
|
+
private callback?: (time: Seconds) => void;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* If the event should be removed after being invoked.
|
|
41
|
+
*/
|
|
42
|
+
private _once: boolean;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The remaining value between the passed in time, and Math.floor(time).
|
|
46
|
+
* This value is later added back when scheduling to get sub-tick precision.
|
|
47
|
+
*/
|
|
48
|
+
protected _remainderTime = 0;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @param transport The transport object which the event belongs to
|
|
52
|
+
*/
|
|
53
|
+
constructor(transport: Transport, opts: Partial<TransportEventOptions>) {
|
|
54
|
+
|
|
55
|
+
const options: TransportEventOptions = Object.assign(TransportEvent.getDefaults(), opts);
|
|
56
|
+
|
|
57
|
+
this.transport = transport;
|
|
58
|
+
this.callback = options.callback;
|
|
59
|
+
this._once = options.once;
|
|
60
|
+
this.time = Math.floor(options.time);
|
|
61
|
+
this._remainderTime = options.time - this.time;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static getDefaults(): TransportEventOptions {
|
|
65
|
+
return {
|
|
66
|
+
callback: noOp,
|
|
67
|
+
once: false,
|
|
68
|
+
time: 0,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Current ID counter
|
|
74
|
+
*/
|
|
75
|
+
private static _eventId = 0;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Get the time and remainder time.
|
|
79
|
+
*/
|
|
80
|
+
protected get floatTime(): number {
|
|
81
|
+
return this.time + this._remainderTime;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Invoke the event callback.
|
|
86
|
+
* @param time The AudioContext time in seconds of the event
|
|
87
|
+
*/
|
|
88
|
+
invoke(time: Seconds): void {
|
|
89
|
+
if (this.callback) {
|
|
90
|
+
const tickDuration = this.transport.bpm.getDurationOfTicks(1, time);
|
|
91
|
+
this.callback(time + this._remainderTime * tickDuration);
|
|
92
|
+
if (this._once) {
|
|
93
|
+
this.transport.clear(this.id);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Clean up
|
|
100
|
+
*/
|
|
101
|
+
dispose(): this {
|
|
102
|
+
this.callback = undefined;
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { expect } from "chai";
|
|
2
|
+
import { Offline } from "test/helper/Offline";
|
|
3
|
+
import { Transport } from "./Transport";
|
|
4
|
+
import { TransportRepeatEvent } from "./TransportRepeatEvent";
|
|
5
|
+
|
|
6
|
+
describe("TransportRepeatEvent", () => {
|
|
7
|
+
|
|
8
|
+
it("can be created and disposed", () => {
|
|
9
|
+
return Offline((context) => {
|
|
10
|
+
const transport = new Transport({ context });
|
|
11
|
+
const event = new TransportRepeatEvent(transport, {
|
|
12
|
+
duration: 100,
|
|
13
|
+
interval: 4,
|
|
14
|
+
time: 0,
|
|
15
|
+
});
|
|
16
|
+
event.dispose();
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("generates a unique event ID", () => {
|
|
21
|
+
return Offline((context) => {
|
|
22
|
+
const transport = new Transport({ context });
|
|
23
|
+
const event = new TransportRepeatEvent(transport, {
|
|
24
|
+
time: 0,
|
|
25
|
+
});
|
|
26
|
+
expect(event.id).to.be.a("number");
|
|
27
|
+
event.dispose();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("is removed from the Transport when disposed", () => {
|
|
32
|
+
return Offline((context) => {
|
|
33
|
+
const transport = new Transport({ context });
|
|
34
|
+
const event = new TransportRepeatEvent(transport, {
|
|
35
|
+
time: 0,
|
|
36
|
+
});
|
|
37
|
+
event.dispose();
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
expect(transport._timeline.length).to.equal(0);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
});
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { BaseContext } from "../context/BaseContext";
|
|
2
|
+
import { TicksClass } from "../type/Ticks";
|
|
3
|
+
import { Seconds, Ticks, Time } from "../type/Units";
|
|
4
|
+
import { TransportEvent, TransportEventOptions } from "./TransportEvent";
|
|
5
|
+
import { GT, LT } from "../util/Math";
|
|
6
|
+
|
|
7
|
+
type Transport = import("../clock/Transport").Transport;
|
|
8
|
+
|
|
9
|
+
interface TransportRepeatEventOptions extends TransportEventOptions {
|
|
10
|
+
interval: Ticks;
|
|
11
|
+
duration: Ticks;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* TransportRepeatEvent is an internal class used by Tone.Transport
|
|
16
|
+
* to schedule repeat events. This class should not be instantiated directly.
|
|
17
|
+
*/
|
|
18
|
+
export class TransportRepeatEvent extends TransportEvent {
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* When the event should stop repeating
|
|
22
|
+
*/
|
|
23
|
+
private duration: Ticks;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The interval of the repeated event
|
|
27
|
+
*/
|
|
28
|
+
private _interval: Ticks;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The ID of the current timeline event
|
|
32
|
+
*/
|
|
33
|
+
private _currentId = -1;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The ID of the next timeline event
|
|
37
|
+
*/
|
|
38
|
+
private _nextId = -1;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The time of the next event
|
|
42
|
+
*/
|
|
43
|
+
private _nextTick = this.time;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* a reference to the bound start method
|
|
47
|
+
*/
|
|
48
|
+
private _boundRestart = this._restart.bind(this);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The audio context belonging to this event
|
|
52
|
+
*/
|
|
53
|
+
protected context: BaseContext;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @param transport The transport object which the event belongs to
|
|
57
|
+
*/
|
|
58
|
+
constructor(transport: Transport, opts: Partial<TransportRepeatEventOptions>) {
|
|
59
|
+
|
|
60
|
+
super(transport, opts);
|
|
61
|
+
|
|
62
|
+
const options = Object.assign(TransportRepeatEvent.getDefaults(), opts);
|
|
63
|
+
|
|
64
|
+
this.duration = options.duration;
|
|
65
|
+
this._interval = options.interval;
|
|
66
|
+
this._nextTick = options.time;
|
|
67
|
+
this.transport.on("start", this._boundRestart);
|
|
68
|
+
this.transport.on("loopStart", this._boundRestart);
|
|
69
|
+
this.transport.on("ticks", this._boundRestart);
|
|
70
|
+
this.context = this.transport.context;
|
|
71
|
+
this._restart();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static getDefaults(): TransportRepeatEventOptions {
|
|
75
|
+
return Object.assign({}, TransportEvent.getDefaults(), {
|
|
76
|
+
duration: Infinity,
|
|
77
|
+
interval: 1,
|
|
78
|
+
once: false,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Invoke the callback. Returns the tick time which
|
|
84
|
+
* the next event should be scheduled at.
|
|
85
|
+
* @param time The AudioContext time in seconds of the event
|
|
86
|
+
*/
|
|
87
|
+
invoke(time: Seconds): void {
|
|
88
|
+
// create more events if necessary
|
|
89
|
+
this._createEvents(time);
|
|
90
|
+
// call the super class
|
|
91
|
+
super.invoke(time);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Create an event on the transport on the nextTick
|
|
96
|
+
*/
|
|
97
|
+
private _createEvent(): number {
|
|
98
|
+
if (LT(this._nextTick, this.floatTime + this.duration)) {
|
|
99
|
+
return this.transport.scheduleOnce(this.invoke.bind(this),
|
|
100
|
+
new TicksClass(this.context, this._nextTick).toSeconds());
|
|
101
|
+
}
|
|
102
|
+
return -1;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Push more events onto the timeline to keep up with the position of the timeline
|
|
107
|
+
*/
|
|
108
|
+
private _createEvents(time: Seconds): void {
|
|
109
|
+
// schedule the next event
|
|
110
|
+
// const ticks = this.transport.getTicksAtTime(time);
|
|
111
|
+
// if the next tick is within the bounds set by "duration"
|
|
112
|
+
if (LT(this._nextTick + this._interval, this.floatTime + this.duration)) {
|
|
113
|
+
this._nextTick += this._interval;
|
|
114
|
+
this._currentId = this._nextId;
|
|
115
|
+
this._nextId = this.transport.scheduleOnce(this.invoke.bind(this),
|
|
116
|
+
new TicksClass(this.context, this._nextTick).toSeconds());
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Re-compute the events when the transport time has changed from a start/ticks/loopStart event
|
|
122
|
+
*/
|
|
123
|
+
private _restart(time?: Time): void {
|
|
124
|
+
this.transport.clear(this._currentId);
|
|
125
|
+
this.transport.clear(this._nextId);
|
|
126
|
+
// start at the first event
|
|
127
|
+
this._nextTick = this.floatTime;
|
|
128
|
+
const ticks = this.transport.getTicksAtTime(time);
|
|
129
|
+
if (GT(ticks, this.time)) {
|
|
130
|
+
// the event is not being scheduled from the beginning and should be offset
|
|
131
|
+
this._nextTick = this.floatTime + Math.ceil((ticks - this.floatTime) / this._interval) * this._interval;
|
|
132
|
+
}
|
|
133
|
+
this._currentId = this._createEvent();
|
|
134
|
+
this._nextTick += this._interval;
|
|
135
|
+
this._nextId = this._createEvent();
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Clean up
|
|
140
|
+
*/
|
|
141
|
+
dispose(): this {
|
|
142
|
+
super.dispose();
|
|
143
|
+
this.transport.clear(this._currentId);
|
|
144
|
+
this.transport.clear(this._nextId);
|
|
145
|
+
this.transport.off("start", this._boundRestart);
|
|
146
|
+
this.transport.off("loopStart", this._boundRestart);
|
|
147
|
+
this.transport.off("ticks", this._boundRestart);
|
|
148
|
+
return this;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { Time, UnitMap, UnitName } from "../type/Units";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Abstract base class for [[Param]] and [[Signal]]
|
|
5
|
+
*/
|
|
6
|
+
export abstract class AbstractParam<TypeName extends UnitName> {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Schedules a parameter value change at the given time.
|
|
10
|
+
* @param value The value to set the signal.
|
|
11
|
+
* @param time The time when the change should occur.
|
|
12
|
+
* @example
|
|
13
|
+
* return Tone.Offline(() => {
|
|
14
|
+
* const osc = new Tone.Oscillator(20).toDestination().start();
|
|
15
|
+
* // set the frequency to 40 at exactly 0.25 seconds
|
|
16
|
+
* osc.frequency.setValueAtTime(40, 0.25);
|
|
17
|
+
* }, 0.5, 1);
|
|
18
|
+
*/
|
|
19
|
+
abstract setValueAtTime(value: UnitMap[TypeName], time: Time): this;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Get the signals value at the given time. Subsequent scheduling
|
|
23
|
+
* may invalidate the returned value.
|
|
24
|
+
* @param time When to get the value
|
|
25
|
+
* @example
|
|
26
|
+
* const signal = new Tone.Signal().toDestination();
|
|
27
|
+
* // ramp up to '8' over 3 seconds
|
|
28
|
+
* signal.rampTo(8, 3);
|
|
29
|
+
* // ramp back down to '0' over 3 seconds
|
|
30
|
+
* signal.rampTo(0, 3, "+3");
|
|
31
|
+
* setInterval(() => {
|
|
32
|
+
* // check the value every 100 ms
|
|
33
|
+
* console.log(signal.getValueAtTime(Tone.now()));
|
|
34
|
+
* }, 100);
|
|
35
|
+
*/
|
|
36
|
+
abstract getValueAtTime(time: Time): UnitMap[TypeName];
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Creates a schedule point with the current value at the current time.
|
|
40
|
+
* Automation methods like [[linearRampToValueAtTime]] and [[exponentialRampToValueAtTime]]
|
|
41
|
+
* require a starting automation value usually set by [[setValueAtTime]]. This method
|
|
42
|
+
* is useful since it will do a `setValueAtTime` with whatever the currently computed
|
|
43
|
+
* value at the given time is.
|
|
44
|
+
* @param time When to add a ramp point.
|
|
45
|
+
* @example
|
|
46
|
+
* const osc = new Tone.Oscillator().toDestination().start();
|
|
47
|
+
* // set the frequency to "G4" in exactly 1 second from now.
|
|
48
|
+
* osc.frequency.setRampPoint("+1");
|
|
49
|
+
* osc.frequency.linearRampToValueAtTime("C1", "+2");
|
|
50
|
+
*/
|
|
51
|
+
abstract setRampPoint(time: Time): this;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Schedules a linear continuous change in parameter value from the
|
|
55
|
+
* previous scheduled parameter value to the given value.
|
|
56
|
+
* @example
|
|
57
|
+
* return Tone.Offline(() => {
|
|
58
|
+
* const signal = new Tone.Signal(0).toDestination();
|
|
59
|
+
* // the ramp starts from the previously scheduled value
|
|
60
|
+
* signal.setValueAtTime(0, 0.1);
|
|
61
|
+
* signal.linearRampToValueAtTime(1, 0.4);
|
|
62
|
+
* }, 0.5, 1);
|
|
63
|
+
*/
|
|
64
|
+
abstract linearRampToValueAtTime(value: UnitMap[TypeName], time: Time): this;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Schedules an exponential continuous change in parameter value from
|
|
68
|
+
* the previous scheduled parameter value to the given value.
|
|
69
|
+
* @example
|
|
70
|
+
* return Tone.Offline(() => {
|
|
71
|
+
* const signal = new Tone.Signal(1).toDestination();
|
|
72
|
+
* // the ramp starts from the previously scheduled value, which must be positive
|
|
73
|
+
* signal.setValueAtTime(1, 0.1);
|
|
74
|
+
* signal.exponentialRampToValueAtTime(0, 0.4);
|
|
75
|
+
* }, 0.5, 1);
|
|
76
|
+
*/
|
|
77
|
+
abstract exponentialRampToValueAtTime(value: UnitMap[TypeName], time: Time): this;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Schedules an exponential continuous change in parameter value from
|
|
81
|
+
* the current time and current value to the given value over the
|
|
82
|
+
* duration of the rampTime.
|
|
83
|
+
* @param value The value to ramp to.
|
|
84
|
+
* @param rampTime the time that it takes the
|
|
85
|
+
* value to ramp from it's current value
|
|
86
|
+
* @param startTime When the ramp should start.
|
|
87
|
+
* @example
|
|
88
|
+
* const delay = new Tone.FeedbackDelay(0.5, 0.98).toDestination();
|
|
89
|
+
* // a short burst of noise through the feedback delay
|
|
90
|
+
* const noise = new Tone.Noise().connect(delay).start().stop("+0.1");
|
|
91
|
+
* // making the delay time shorter over time will also make the pitch rise
|
|
92
|
+
* delay.delayTime.exponentialRampTo(0.01, 20);
|
|
93
|
+
* @example
|
|
94
|
+
* return Tone.Offline(() => {
|
|
95
|
+
* const signal = new Tone.Signal(.1).toDestination();
|
|
96
|
+
* signal.exponentialRampTo(5, 0.3, 0.1);
|
|
97
|
+
* }, 0.5, 1);
|
|
98
|
+
*/
|
|
99
|
+
abstract exponentialRampTo(value: UnitMap[TypeName], rampTime: Time, startTime?: Time): this;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Schedules an linear continuous change in parameter value from
|
|
103
|
+
* the current time and current value to the given value over the
|
|
104
|
+
* duration of the rampTime.
|
|
105
|
+
*
|
|
106
|
+
* @param value The value to ramp to.
|
|
107
|
+
* @param rampTime the time that it takes the
|
|
108
|
+
* value to ramp from it's current value
|
|
109
|
+
* @param startTime When the ramp should start.
|
|
110
|
+
* @returns {Param} this
|
|
111
|
+
* @example
|
|
112
|
+
* const delay = new Tone.FeedbackDelay(0.5, 0.98).toDestination();
|
|
113
|
+
* // a short burst of noise through the feedback delay
|
|
114
|
+
* const noise = new Tone.Noise().connect(delay).start().stop("+0.1");
|
|
115
|
+
* // making the delay time shorter over time will also make the pitch rise
|
|
116
|
+
* delay.delayTime.linearRampTo(0.01, 20);
|
|
117
|
+
* @example
|
|
118
|
+
* return Tone.Offline(() => {
|
|
119
|
+
* const signal = new Tone.Signal(1).toDestination();
|
|
120
|
+
* signal.linearRampTo(0, 0.3, 0.1);
|
|
121
|
+
* }, 0.5, 1);
|
|
122
|
+
*/
|
|
123
|
+
abstract linearRampTo(value: UnitMap[TypeName], rampTime: Time, startTime?: Time): this;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Start exponentially approaching the target value at the given time. Since it
|
|
127
|
+
* is an exponential approach it will continue approaching after the ramp duration. The
|
|
128
|
+
* rampTime is the time that it takes to reach over 99% of the way towards the value.
|
|
129
|
+
* @param value The value to ramp to.
|
|
130
|
+
* @param rampTime the time that it takes the
|
|
131
|
+
* value to ramp from it's current value
|
|
132
|
+
* @param startTime When the ramp should start.
|
|
133
|
+
* @example
|
|
134
|
+
* @example
|
|
135
|
+
* return Tone.Offline(() => {
|
|
136
|
+
* const signal = new Tone.Signal(1).toDestination();
|
|
137
|
+
* signal.targetRampTo(0, 0.3, 0.1);
|
|
138
|
+
* }, 0.5, 1);
|
|
139
|
+
*/
|
|
140
|
+
abstract targetRampTo(value: UnitMap[TypeName], rampTime: Time, startTime?: Time): this;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Start exponentially approaching the target value at the given time. Since it
|
|
144
|
+
* is an exponential approach it will continue approaching after the ramp duration. The
|
|
145
|
+
* rampTime is the time that it takes to reach over 99% of the way towards the value. This methods
|
|
146
|
+
* is similar to setTargetAtTime except the third argument is a time instead of a 'timeConstant'
|
|
147
|
+
* @param value The value to ramp to.
|
|
148
|
+
* @param time When the ramp should start.
|
|
149
|
+
* @param rampTime the time that it takes the value to ramp from it's current value
|
|
150
|
+
* @example
|
|
151
|
+
* const osc = new Tone.Oscillator().toDestination().start();
|
|
152
|
+
* // exponential approach over 4 seconds starting in 1 second
|
|
153
|
+
* osc.frequency.exponentialApproachValueAtTime("C4", "+1", 4);
|
|
154
|
+
*/
|
|
155
|
+
abstract exponentialApproachValueAtTime(value: UnitMap[TypeName], time: Time, rampTime: Time): this;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Start exponentially approaching the target value at the given time with
|
|
159
|
+
* a rate having the given time constant.
|
|
160
|
+
* @param value
|
|
161
|
+
* @param startTime
|
|
162
|
+
* @param timeConstant
|
|
163
|
+
*/
|
|
164
|
+
abstract setTargetAtTime(value: UnitMap[TypeName], startTime: Time, timeConstant: number): this;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Sets an array of arbitrary parameter values starting at the given time
|
|
168
|
+
* for the given duration.
|
|
169
|
+
*
|
|
170
|
+
* @param values
|
|
171
|
+
* @param startTime
|
|
172
|
+
* @param duration
|
|
173
|
+
* @param scaling If the values in the curve should be scaled by some value
|
|
174
|
+
* @example
|
|
175
|
+
* return Tone.Offline(() => {
|
|
176
|
+
* const signal = new Tone.Signal(1).toDestination();
|
|
177
|
+
* signal.setValueCurveAtTime([1, 0.2, 0.8, 0.1, 0], 0.2, 0.3);
|
|
178
|
+
* }, 0.5, 1);
|
|
179
|
+
*/
|
|
180
|
+
abstract setValueCurveAtTime(values: UnitMap[TypeName][], startTime: Time, duration: Time, scaling?: number): this;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Cancels all scheduled parameter changes with times greater than or
|
|
184
|
+
* equal to startTime.
|
|
185
|
+
* @example
|
|
186
|
+
* return Tone.Offline(() => {
|
|
187
|
+
* const signal = new Tone.Signal(0).toDestination();
|
|
188
|
+
* signal.setValueAtTime(0.1, 0.1);
|
|
189
|
+
* signal.setValueAtTime(0.2, 0.2);
|
|
190
|
+
* signal.setValueAtTime(0.3, 0.3);
|
|
191
|
+
* signal.setValueAtTime(0.4, 0.4);
|
|
192
|
+
* // cancels the last two scheduled changes
|
|
193
|
+
* signal.cancelScheduledValues(0.3);
|
|
194
|
+
* }, 0.5, 1);
|
|
195
|
+
*/
|
|
196
|
+
abstract cancelScheduledValues(time: Time): this;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* This is similar to [[cancelScheduledValues]] except
|
|
200
|
+
* it holds the automated value at time until the next automated event.
|
|
201
|
+
* @example
|
|
202
|
+
* return Tone.Offline(() => {
|
|
203
|
+
* const signal = new Tone.Signal(0).toDestination();
|
|
204
|
+
* signal.linearRampTo(1, 0.5, 0);
|
|
205
|
+
* signal.cancelAndHoldAtTime(0.3);
|
|
206
|
+
* }, 0.5, 1);
|
|
207
|
+
*/
|
|
208
|
+
abstract cancelAndHoldAtTime(time: Time): this;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Ramps to the given value over the duration of the rampTime.
|
|
212
|
+
* Automatically selects the best ramp type (exponential or linear)
|
|
213
|
+
* depending on the `units` of the signal
|
|
214
|
+
*
|
|
215
|
+
* @param value
|
|
216
|
+
* @param rampTime The time that it takes the value to ramp from it's current value
|
|
217
|
+
* @param startTime When the ramp should start.
|
|
218
|
+
* @example
|
|
219
|
+
* const osc = new Tone.Oscillator().toDestination().start();
|
|
220
|
+
* // schedule it to ramp either linearly or exponentially depending on the units
|
|
221
|
+
* osc.frequency.rampTo("A2", 10);
|
|
222
|
+
* @example
|
|
223
|
+
* const osc = new Tone.Oscillator().toDestination().start();
|
|
224
|
+
* // schedule it to ramp starting at a specific time
|
|
225
|
+
* osc.frequency.rampTo("A2", 10, "+2");
|
|
226
|
+
*/
|
|
227
|
+
abstract rampTo(value: UnitMap[TypeName], rampTime: Time, startTime?: Time): this;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* The current value of the parameter. Setting this value
|
|
231
|
+
* is equivalent to setValueAtTime(value, context.currentTime)
|
|
232
|
+
*/
|
|
233
|
+
abstract value: UnitMap[TypeName];
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* If the value should be converted or not
|
|
237
|
+
*/
|
|
238
|
+
abstract convert: boolean;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* The unit type
|
|
242
|
+
*/
|
|
243
|
+
abstract readonly units: UnitName;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* True if the signal value is being overridden by
|
|
247
|
+
* a connected signal. Internal use only.
|
|
248
|
+
*/
|
|
249
|
+
abstract overridden: boolean;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* The minimum value of the output given the units
|
|
253
|
+
*/
|
|
254
|
+
abstract readonly minValue: number;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* The maximum value of the output given the units
|
|
258
|
+
*/
|
|
259
|
+
abstract readonly maxValue: number;
|
|
260
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AudioContext as stdAudioContext,
|
|
3
|
+
AudioWorkletNode as stdAudioWorkletNode,
|
|
4
|
+
OfflineAudioContext as stdOfflineAudioContext
|
|
5
|
+
} from "standardized-audio-context";
|
|
6
|
+
import { assert } from "../util/Debug";
|
|
7
|
+
import { isDefined } from "../util/TypeCheck";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Create a new AudioContext
|
|
11
|
+
*/
|
|
12
|
+
export function createAudioContext(options?: AudioContextOptions): AudioContext {
|
|
13
|
+
return new stdAudioContext(options) as unknown as AudioContext;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Create a new OfflineAudioContext
|
|
18
|
+
*/
|
|
19
|
+
export function createOfflineAudioContext(channels: number, length: number, sampleRate: number): OfflineAudioContext {
|
|
20
|
+
return new stdOfflineAudioContext(channels, length, sampleRate) as unknown as OfflineAudioContext;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Either the online or offline audio context
|
|
25
|
+
*/
|
|
26
|
+
export type AnyAudioContext = AudioContext | OfflineAudioContext;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Interface for things that Tone.js adds to the window
|
|
30
|
+
*/
|
|
31
|
+
interface ToneWindow extends Window {
|
|
32
|
+
TONE_SILENCE_LOGGING?: boolean;
|
|
33
|
+
TONE_DEBUG_CLASS?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* A reference to the window object
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
40
|
+
export const theWindow: ToneWindow | null = typeof self === "object" ? self : null;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* If the browser has a window object which has an AudioContext
|
|
44
|
+
* @hidden
|
|
45
|
+
*/
|
|
46
|
+
export const hasAudioContext = theWindow &&
|
|
47
|
+
(theWindow.hasOwnProperty("AudioContext") || theWindow.hasOwnProperty("webkitAudioContext"));
|
|
48
|
+
|
|
49
|
+
export function createAudioWorkletNode(context: AnyAudioContext, name: string, options?: Partial<AudioWorkletNodeOptions>): AudioWorkletNode {
|
|
50
|
+
assert(isDefined(stdAudioWorkletNode), "This node only works in a secure context (https or localhost)");
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
return new stdAudioWorkletNode(context, name, options);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* This promise resolves to a boolean which indicates if the
|
|
57
|
+
* functionality is supported within the currently used browse.
|
|
58
|
+
* Taken from [standardized-audio-context](https://github.com/chrisguttandin/standardized-audio-context#issupported)
|
|
59
|
+
*/
|
|
60
|
+
export { isSupported as supported } from "standardized-audio-context";
|