tone 14.9.16 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (868) hide show
  1. package/Tone/classes.ts +7 -7
  2. package/Tone/component/analysis/Analyser.test.ts +5 -7
  3. package/Tone/component/analysis/Analyser.ts +35 -16
  4. package/Tone/component/analysis/DCMeter.test.ts +14 -19
  5. package/Tone/component/analysis/DCMeter.ts +3 -4
  6. package/Tone/component/analysis/FFT.test.ts +25 -26
  7. package/Tone/component/analysis/FFT.ts +15 -11
  8. package/Tone/component/analysis/Follower.test.ts +5 -8
  9. package/Tone/component/analysis/Follower.ts +25 -13
  10. package/Tone/component/analysis/Meter.test.ts +52 -58
  11. package/Tone/component/analysis/Meter.ts +38 -24
  12. package/Tone/component/analysis/MeterBase.ts +19 -10
  13. package/Tone/component/analysis/Waveform.test.ts +19 -24
  14. package/Tone/component/analysis/Waveform.ts +11 -6
  15. package/Tone/component/channel/Channel.test.ts +8 -10
  16. package/Tone/component/channel/Channel.ts +29 -17
  17. package/Tone/component/channel/CrossFade.test.ts +44 -34
  18. package/Tone/component/channel/CrossFade.ts +23 -10
  19. package/Tone/component/channel/Merge.test.ts +18 -16
  20. package/Tone/component/channel/Merge.ts +16 -7
  21. package/Tone/component/channel/MidSideMerge.test.ts +4 -7
  22. package/Tone/component/channel/MidSideMerge.ts +16 -14
  23. package/Tone/component/channel/MidSideSplit.test.ts +26 -21
  24. package/Tone/component/channel/MidSideSplit.ts +12 -10
  25. package/Tone/component/channel/Mono.test.ts +21 -16
  26. package/Tone/component/channel/Mono.ts +8 -6
  27. package/Tone/component/channel/MultibandSplit.test.ts +7 -8
  28. package/Tone/component/channel/MultibandSplit.ts +21 -11
  29. package/Tone/component/channel/PanVol.test.ts +5 -8
  30. package/Tone/component/channel/PanVol.ts +22 -11
  31. package/Tone/component/channel/Panner.test.ts +40 -26
  32. package/Tone/component/channel/Panner.ts +16 -8
  33. package/Tone/component/channel/Panner3D.test.ts +3 -4
  34. package/Tone/component/channel/Panner3D.ts +20 -9
  35. package/Tone/component/channel/Recorder.test.ts +10 -12
  36. package/Tone/component/channel/Recorder.ts +24 -19
  37. package/Tone/component/channel/Solo.test.ts +64 -46
  38. package/Tone/component/channel/Solo.ts +22 -11
  39. package/Tone/component/channel/Split.test.ts +5 -7
  40. package/Tone/component/channel/Split.ts +16 -6
  41. package/Tone/component/channel/Volume.test.ts +8 -10
  42. package/Tone/component/channel/Volume.ts +15 -10
  43. package/Tone/component/dynamics/Compressor.test.ts +10 -6
  44. package/Tone/component/dynamics/Compressor.ts +21 -10
  45. package/Tone/component/dynamics/Gate.test.ts +20 -19
  46. package/Tone/component/dynamics/Gate.ts +24 -12
  47. package/Tone/component/dynamics/Limiter.test.ts +3 -6
  48. package/Tone/component/dynamics/Limiter.ts +35 -20
  49. package/Tone/component/dynamics/MidSideCompressor.test.ts +7 -10
  50. package/Tone/component/dynamics/MidSideCompressor.ts +36 -17
  51. package/Tone/component/dynamics/MultibandCompressor.test.ts +12 -9
  52. package/Tone/component/dynamics/MultibandCompressor.ts +38 -19
  53. package/Tone/component/envelope/AmplitudeEnvelope.test.ts +42 -38
  54. package/Tone/component/envelope/AmplitudeEnvelope.ts +19 -8
  55. package/Tone/component/envelope/Envelope.test.ts +176 -63
  56. package/Tone/component/envelope/Envelope.ts +85 -34
  57. package/Tone/component/envelope/FrequencyEnvelope.test.ts +13 -11
  58. package/Tone/component/envelope/FrequencyEnvelope.ts +28 -13
  59. package/Tone/component/filter/BiquadFilter.test.ts +23 -13
  60. package/Tone/component/filter/BiquadFilter.ts +38 -18
  61. package/Tone/component/filter/Convolver.test.ts +7 -12
  62. package/Tone/component/filter/Convolver.ts +25 -12
  63. package/Tone/component/filter/EQ3.test.ts +5 -7
  64. package/Tone/component/filter/EQ3.ts +25 -14
  65. package/Tone/component/filter/FeedbackCombFilter.test.ts +9 -12
  66. package/Tone/component/filter/FeedbackCombFilter.ts +27 -15
  67. package/Tone/component/filter/FeedbackCombFilter.worklet.ts +4 -4
  68. package/Tone/component/filter/Filter.test.ts +23 -12
  69. package/Tone/component/filter/Filter.ts +51 -22
  70. package/Tone/component/filter/LowpassCombFilter.test.ts +12 -10
  71. package/Tone/component/filter/LowpassCombFilter.ts +30 -12
  72. package/Tone/component/filter/OnePoleFilter.test.ts +36 -26
  73. package/Tone/component/filter/OnePoleFilter.ts +27 -17
  74. package/Tone/component/filter/PhaseShiftAllpass.test.ts +57 -41
  75. package/Tone/component/filter/PhaseShiftAllpass.ts +33 -13
  76. package/Tone/component/index.ts +35 -35
  77. package/Tone/core/Global.ts +18 -8
  78. package/Tone/core/Tone.ts +10 -8
  79. package/Tone/core/clock/Clock.test.ts +59 -75
  80. package/Tone/core/clock/Clock.ts +41 -21
  81. package/Tone/core/clock/TickParam.test.ts +3 -7
  82. package/Tone/core/clock/TickParam.ts +64 -23
  83. package/Tone/core/clock/TickSignal.test.ts +162 -47
  84. package/Tone/core/clock/TickSignal.ts +18 -11
  85. package/Tone/core/clock/TickSource.test.ts +19 -23
  86. package/Tone/core/clock/TickSource.ts +134 -63
  87. package/Tone/core/clock/Ticker.test.ts +47 -36
  88. package/Tone/core/clock/Ticker.ts +18 -10
  89. package/Tone/core/clock/Transport.test.ts +250 -187
  90. package/Tone/core/clock/Transport.ts +35 -28
  91. package/Tone/core/clock/TransportEvent.test.ts +3 -4
  92. package/Tone/core/clock/TransportEvent.ts +8 -8
  93. package/Tone/core/clock/TransportRepeatEvent.test.ts +3 -5
  94. package/Tone/core/clock/TransportRepeatEvent.ts +25 -16
  95. package/Tone/core/context/AbstractParam.ts +46 -12
  96. package/Tone/core/context/AudioContext.ts +33 -13
  97. package/Tone/core/context/BaseContext.ts +12 -14
  98. package/Tone/core/context/Context.test.ts +132 -141
  99. package/Tone/core/context/Context.ts +29 -22
  100. package/Tone/core/context/ContextInitialization.ts +3 -4
  101. package/Tone/core/context/Delay.test.ts +7 -8
  102. package/Tone/core/context/Delay.ts +23 -10
  103. package/Tone/core/context/Destination.test.ts +32 -21
  104. package/Tone/core/context/Destination.ts +28 -15
  105. package/Tone/core/context/DummyContext.test.ts +1 -2
  106. package/Tone/core/context/DummyContext.ts +7 -8
  107. package/Tone/core/context/Gain.test.ts +4 -5
  108. package/Tone/core/context/Gain.ts +18 -9
  109. package/Tone/core/context/Listener.test.ts +3 -4
  110. package/Tone/core/context/Listener.ts +20 -21
  111. package/Tone/core/context/Offline.test.ts +6 -7
  112. package/Tone/core/context/Offline.ts +8 -6
  113. package/Tone/core/context/OfflineContext.test.ts +3 -4
  114. package/Tone/core/context/OfflineContext.ts +20 -20
  115. package/Tone/core/context/Param.test.ts +374 -198
  116. package/Tone/core/context/Param.ts +248 -72
  117. package/Tone/core/context/ToneAudioBuffer.test.ts +85 -55
  118. package/Tone/core/context/ToneAudioBuffer.ts +12 -12
  119. package/Tone/core/context/ToneAudioBuffers.test.ts +84 -67
  120. package/Tone/core/context/ToneAudioBuffers.ts +32 -18
  121. package/Tone/core/context/ToneAudioNode.test.ts +23 -27
  122. package/Tone/core/context/ToneAudioNode.ts +39 -22
  123. package/Tone/core/context/ToneWithContext.ts +13 -13
  124. package/Tone/core/index.ts +32 -26
  125. package/Tone/core/type/Conversions.test.ts +6 -2
  126. package/Tone/core/type/Conversions.ts +9 -2
  127. package/Tone/core/type/Frequency.test.ts +141 -52
  128. package/Tone/core/type/Frequency.ts +118 -24
  129. package/Tone/core/type/Midi.test.ts +27 -23
  130. package/Tone/core/type/Midi.ts +5 -6
  131. package/Tone/core/type/NoteUnits.ts +21 -3
  132. package/Tone/core/type/Ticks.test.ts +59 -32
  133. package/Tone/core/type/Ticks.ts +5 -6
  134. package/Tone/core/type/Time.test.ts +34 -23
  135. package/Tone/core/type/Time.ts +58 -21
  136. package/Tone/core/type/TimeBase.ts +53 -19
  137. package/Tone/core/type/TransportTime.test.ts +40 -25
  138. package/Tone/core/type/TransportTime.ts +11 -7
  139. package/Tone/core/type/Units.ts +8 -3
  140. package/Tone/core/util/AdvancedTypeCheck.ts +5 -3
  141. package/Tone/core/util/Debug.test.ts +11 -12
  142. package/Tone/core/util/Debug.ts +14 -10
  143. package/Tone/core/util/Decorator.ts +24 -32
  144. package/Tone/core/util/Defaults.ts +41 -16
  145. package/Tone/core/util/Draw.test.ts +52 -58
  146. package/Tone/core/util/Draw.ts +16 -8
  147. package/Tone/core/util/Emitter.test.ts +5 -6
  148. package/Tone/core/util/Emitter.ts +10 -8
  149. package/Tone/core/util/Interface.ts +8 -7
  150. package/Tone/core/util/IntervalTimeline.test.ts +6 -18
  151. package/Tone/core/util/IntervalTimeline.ts +22 -14
  152. package/Tone/core/util/Math.ts +1 -1
  153. package/Tone/core/util/StateTimeline.test.ts +12 -28
  154. package/Tone/core/util/StateTimeline.ts +25 -12
  155. package/Tone/core/util/Timeline.test.ts +1 -4
  156. package/Tone/core/util/Timeline.ts +50 -20
  157. package/Tone/core/util/TimelineValue.test.ts +3 -4
  158. package/Tone/core/util/TimelineValue.ts +9 -8
  159. package/Tone/core/util/TypeCheck.ts +1 -1
  160. package/Tone/core/util/global.d.ts +8 -1
  161. package/Tone/core/worklet/DelayLine.worklet.ts +1 -1
  162. package/Tone/core/worklet/SingleIOProcessor.worklet.ts +2 -2
  163. package/Tone/core/worklet/ToneAudioWorklet.ts +18 -9
  164. package/Tone/core/worklet/ToneAudioWorkletProcessor.worklet.ts +1 -1
  165. package/Tone/core/worklet/WorkletGlobalScope.ts +1 -1
  166. package/Tone/effect/AutoFilter.test.ts +27 -25
  167. package/Tone/effect/AutoFilter.ts +34 -17
  168. package/Tone/effect/AutoPanner.test.ts +20 -18
  169. package/Tone/effect/AutoPanner.ts +18 -13
  170. package/Tone/effect/AutoWah.test.ts +16 -15
  171. package/Tone/effect/AutoWah.ts +48 -22
  172. package/Tone/effect/BitCrusher.test.ts +15 -14
  173. package/Tone/effect/BitCrusher.ts +24 -14
  174. package/Tone/effect/BitCrusher.worklet.ts +3 -3
  175. package/Tone/effect/Chebyshev.test.ts +14 -13
  176. package/Tone/effect/Chebyshev.ts +35 -23
  177. package/Tone/effect/Chorus.test.ts +8 -8
  178. package/Tone/effect/Chorus.ts +42 -20
  179. package/Tone/effect/Distortion.test.ts +15 -13
  180. package/Tone/effect/Distortion.ts +14 -8
  181. package/Tone/effect/Effect.ts +12 -9
  182. package/Tone/effect/FeedbackDelay.test.ts +16 -14
  183. package/Tone/effect/FeedbackDelay.ts +17 -10
  184. package/Tone/effect/FeedbackEffect.ts +8 -8
  185. package/Tone/effect/Freeverb.test.ts +15 -14
  186. package/Tone/effect/Freeverb.ts +34 -18
  187. package/Tone/effect/FrequencyShifter.test.ts +16 -14
  188. package/Tone/effect/FrequencyShifter.ts +20 -14
  189. package/Tone/effect/JCReverb.test.ts +14 -13
  190. package/Tone/effect/JCReverb.ts +44 -31
  191. package/Tone/effect/LFOEffect.ts +14 -14
  192. package/Tone/effect/MidSideEffect.ts +13 -14
  193. package/Tone/effect/Phaser.test.ts +15 -14
  194. package/Tone/effect/Phaser.ts +30 -16
  195. package/Tone/effect/PingPongDelay.test.ts +14 -13
  196. package/Tone/effect/PingPongDelay.ts +28 -14
  197. package/Tone/effect/PitchShift.test.ts +22 -16
  198. package/Tone/effect/PitchShift.ts +29 -21
  199. package/Tone/effect/Reverb.test.ts +4 -6
  200. package/Tone/effect/Reverb.ts +28 -20
  201. package/Tone/effect/StereoEffect.ts +24 -19
  202. package/Tone/effect/StereoFeedbackEffect.ts +14 -14
  203. package/Tone/effect/StereoWidener.test.ts +15 -15
  204. package/Tone/effect/StereoWidener.ts +26 -17
  205. package/Tone/effect/StereoXFeedbackEffect.ts +12 -8
  206. package/Tone/effect/Tremolo.test.ts +15 -15
  207. package/Tone/effect/Tremolo.ts +21 -15
  208. package/Tone/effect/Vibrato.test.ts +16 -13
  209. package/Tone/effect/Vibrato.ts +31 -23
  210. package/Tone/effect/index.ts +18 -18
  211. package/Tone/event/Loop.test.ts +13 -22
  212. package/Tone/event/Loop.ts +40 -22
  213. package/Tone/event/Part.test.ts +211 -100
  214. package/Tone/event/Part.ts +82 -47
  215. package/Tone/event/Pattern.test.ts +46 -38
  216. package/Tone/event/Pattern.ts +28 -18
  217. package/Tone/event/PatternGenerator.test.ts +29 -14
  218. package/Tone/event/PatternGenerator.ts +33 -13
  219. package/Tone/event/Sequence.test.ts +76 -46
  220. package/Tone/event/Sequence.ts +66 -25
  221. package/Tone/event/ToneEvent.test.ts +18 -21
  222. package/Tone/event/ToneEvent.ts +66 -24
  223. package/Tone/event/index.ts +5 -5
  224. package/Tone/fromContext.test.ts +2 -4
  225. package/Tone/fromContext.ts +20 -16
  226. package/Tone/index.test.ts +6 -7
  227. package/Tone/index.ts +15 -15
  228. package/Tone/instrument/AMSynth.test.ts +18 -18
  229. package/Tone/instrument/AMSynth.ts +5 -6
  230. package/Tone/instrument/DuoSynth.test.ts +24 -24
  231. package/Tone/instrument/DuoSynth.ts +64 -36
  232. package/Tone/instrument/FMSynth.test.ts +17 -14
  233. package/Tone/instrument/FMSynth.ts +6 -6
  234. package/Tone/instrument/Instrument.ts +33 -16
  235. package/Tone/instrument/MembraneSynth.test.ts +24 -18
  236. package/Tone/instrument/MembraneSynth.ts +19 -13
  237. package/Tone/instrument/MetalSynth.test.ts +13 -12
  238. package/Tone/instrument/MetalSynth.ts +12 -12
  239. package/Tone/instrument/ModulationSynth.ts +41 -26
  240. package/Tone/instrument/MonoSynth.test.ts +18 -18
  241. package/Tone/instrument/MonoSynth.ts +67 -32
  242. package/Tone/instrument/Monophonic.ts +36 -15
  243. package/Tone/instrument/NoiseSynth.test.ts +31 -26
  244. package/Tone/instrument/NoiseSynth.ts +9 -9
  245. package/Tone/instrument/PluckSynth.test.ts +24 -18
  246. package/Tone/instrument/PluckSynth.ts +13 -12
  247. package/Tone/instrument/PolySynth.test.ts +66 -47
  248. package/Tone/instrument/PolySynth.ts +137 -59
  249. package/Tone/instrument/Sampler.test.ts +117 -79
  250. package/Tone/instrument/Sampler.ts +85 -35
  251. package/Tone/instrument/Synth.test.ts +42 -29
  252. package/Tone/instrument/Synth.ts +50 -26
  253. package/Tone/instrument/index.ts +11 -11
  254. package/Tone/signal/Abs.test.ts +5 -9
  255. package/Tone/signal/Abs.ts +4 -5
  256. package/Tone/signal/Add.test.ts +5 -7
  257. package/Tone/signal/Add.ts +10 -7
  258. package/Tone/signal/AudioToGain.test.ts +9 -10
  259. package/Tone/signal/AudioToGain.ts +4 -5
  260. package/Tone/signal/GainToAudio.test.ts +6 -8
  261. package/Tone/signal/GainToAudio.ts +4 -5
  262. package/Tone/signal/GreaterThan.test.ts +4 -7
  263. package/Tone/signal/GreaterThan.ts +26 -15
  264. package/Tone/signal/GreaterThanZero.test.ts +4 -7
  265. package/Tone/signal/GreaterThanZero.ts +12 -9
  266. package/Tone/signal/Multiply.test.ts +8 -10
  267. package/Tone/signal/Multiply.ts +30 -15
  268. package/Tone/signal/Negate.test.ts +4 -6
  269. package/Tone/signal/Negate.ts +3 -4
  270. package/Tone/signal/Pow.test.ts +7 -9
  271. package/Tone/signal/Pow.ts +21 -13
  272. package/Tone/signal/Scale.test.ts +5 -7
  273. package/Tone/signal/Scale.ts +24 -9
  274. package/Tone/signal/ScaleExp.test.ts +6 -9
  275. package/Tone/signal/ScaleExp.ts +18 -7
  276. package/Tone/signal/Signal.test.ts +34 -25
  277. package/Tone/signal/Signal.ts +72 -25
  278. package/Tone/signal/SignalOperator.ts +17 -6
  279. package/Tone/signal/Subtract.test.ts +5 -7
  280. package/Tone/signal/Subtract.ts +13 -8
  281. package/Tone/signal/SyncedSignal.test.ts +65 -44
  282. package/Tone/signal/SyncedSignal.ts +115 -37
  283. package/Tone/signal/ToneConstantSource.test.ts +52 -65
  284. package/Tone/signal/ToneConstantSource.ts +23 -11
  285. package/Tone/signal/WaveShaper.test.ts +6 -11
  286. package/Tone/signal/WaveShaper.ts +31 -13
  287. package/Tone/signal/Zero.test.ts +10 -8
  288. package/Tone/signal/Zero.ts +11 -6
  289. package/Tone/signal/index.ts +16 -16
  290. package/Tone/source/Noise.test.ts +14 -14
  291. package/Tone/source/Noise.ts +20 -15
  292. package/Tone/source/OneShotSource.ts +8 -8
  293. package/Tone/source/Source.test.ts +34 -38
  294. package/Tone/source/Source.ts +14 -14
  295. package/Tone/source/UserMedia.test.ts +112 -113
  296. package/Tone/source/UserMedia.ts +34 -20
  297. package/Tone/source/buffer/GrainPlayer.test.ts +50 -50
  298. package/Tone/source/buffer/GrainPlayer.ts +32 -19
  299. package/Tone/source/buffer/Player.test.ts +44 -33
  300. package/Tone/source/buffer/Player.ts +9 -9
  301. package/Tone/source/buffer/Players.test.ts +62 -53
  302. package/Tone/source/buffer/Players.ts +56 -27
  303. package/Tone/source/buffer/ToneBufferSource.test.ts +70 -68
  304. package/Tone/source/buffer/ToneBufferSource.ts +47 -21
  305. package/Tone/source/index.ts +15 -15
  306. package/Tone/source/oscillator/AMOscillator.test.ts +13 -11
  307. package/Tone/source/oscillator/AMOscillator.ts +39 -22
  308. package/Tone/source/oscillator/FMOscillator.test.ts +14 -12
  309. package/Tone/source/oscillator/FMOscillator.ts +43 -19
  310. package/Tone/source/oscillator/FatOscillator.test.ts +13 -12
  311. package/Tone/source/oscillator/FatOscillator.ts +56 -29
  312. package/Tone/source/oscillator/LFO.test.ts +8 -10
  313. package/Tone/source/oscillator/LFO.ts +43 -20
  314. package/Tone/source/oscillator/OmniOscillator.test.ts +28 -20
  315. package/Tone/source/oscillator/OmniOscillator.ts +125 -57
  316. package/Tone/source/oscillator/Oscillator.test.ts +23 -21
  317. package/Tone/source/oscillator/Oscillator.ts +119 -48
  318. package/Tone/source/oscillator/OscillatorInterface.ts +9 -6
  319. package/Tone/source/oscillator/PWMOscillator.test.ts +14 -13
  320. package/Tone/source/oscillator/PWMOscillator.ts +30 -15
  321. package/Tone/source/oscillator/PulseOscillator.test.ts +16 -15
  322. package/Tone/source/oscillator/PulseOscillator.ts +39 -19
  323. package/Tone/source/oscillator/ToneOscillatorNode.test.ts +61 -70
  324. package/Tone/source/oscillator/ToneOscillatorNode.ts +18 -14
  325. package/Tone/version.ts +1 -1
  326. package/build/Tone.js +1 -1
  327. package/build/Tone.js.LICENSE.txt +1 -1
  328. package/build/Tone.js.map +1 -1
  329. package/build/esm/classes.d.ts +7 -7
  330. package/build/esm/classes.js +7 -7
  331. package/build/esm/classes.js.map +1 -1
  332. package/build/esm/component/analysis/Analyser.d.ts +3 -3
  333. package/build/esm/component/analysis/Analyser.js +15 -9
  334. package/build/esm/component/analysis/Analyser.js.map +1 -1
  335. package/build/esm/component/analysis/DCMeter.d.ts +2 -2
  336. package/build/esm/component/analysis/DCMeter.js +2 -2
  337. package/build/esm/component/analysis/DCMeter.js.map +1 -1
  338. package/build/esm/component/analysis/FFT.d.ts +2 -2
  339. package/build/esm/component/analysis/FFT.js +10 -8
  340. package/build/esm/component/analysis/FFT.js.map +1 -1
  341. package/build/esm/component/analysis/Follower.d.ts +2 -2
  342. package/build/esm/component/analysis/Follower.js +9 -7
  343. package/build/esm/component/analysis/Follower.js.map +1 -1
  344. package/build/esm/component/analysis/Meter.d.ts +2 -2
  345. package/build/esm/component/analysis/Meter.js +25 -16
  346. package/build/esm/component/analysis/Meter.js.map +1 -1
  347. package/build/esm/component/analysis/MeterBase.d.ts +3 -3
  348. package/build/esm/component/analysis/MeterBase.js +11 -8
  349. package/build/esm/component/analysis/MeterBase.js.map +1 -1
  350. package/build/esm/component/analysis/Waveform.d.ts +2 -2
  351. package/build/esm/component/analysis/Waveform.js +2 -2
  352. package/build/esm/component/analysis/Waveform.js.map +1 -1
  353. package/build/esm/component/channel/Channel.d.ts +4 -4
  354. package/build/esm/component/channel/Channel.js +15 -9
  355. package/build/esm/component/channel/Channel.js.map +1 -1
  356. package/build/esm/component/channel/CrossFade.d.ts +4 -4
  357. package/build/esm/component/channel/CrossFade.js +9 -7
  358. package/build/esm/component/channel/CrossFade.js.map +1 -1
  359. package/build/esm/component/channel/Merge.d.ts +2 -2
  360. package/build/esm/component/channel/Merge.js +9 -4
  361. package/build/esm/component/channel/Merge.js.map +1 -1
  362. package/build/esm/component/channel/MidSideMerge.d.ts +3 -3
  363. package/build/esm/component/channel/MidSideMerge.js +9 -9
  364. package/build/esm/component/channel/MidSideMerge.js.map +1 -1
  365. package/build/esm/component/channel/MidSideSplit.d.ts +3 -3
  366. package/build/esm/component/channel/MidSideSplit.js +7 -7
  367. package/build/esm/component/channel/MidSideSplit.js.map +1 -1
  368. package/build/esm/component/channel/Mono.d.ts +3 -3
  369. package/build/esm/component/channel/Mono.js +4 -4
  370. package/build/esm/component/channel/Mono.js.map +1 -1
  371. package/build/esm/component/channel/MultibandSplit.d.ts +5 -5
  372. package/build/esm/component/channel/MultibandSplit.js +10 -7
  373. package/build/esm/component/channel/MultibandSplit.js.map +1 -1
  374. package/build/esm/component/channel/PanVol.d.ts +3 -3
  375. package/build/esm/component/channel/PanVol.js +13 -7
  376. package/build/esm/component/channel/PanVol.js.map +1 -1
  377. package/build/esm/component/channel/Panner.d.ts +3 -3
  378. package/build/esm/component/channel/Panner.js +7 -5
  379. package/build/esm/component/channel/Panner.js.map +1 -1
  380. package/build/esm/component/channel/Panner3D.d.ts +4 -4
  381. package/build/esm/component/channel/Panner3D.js +9 -5
  382. package/build/esm/component/channel/Panner3D.js.map +1 -1
  383. package/build/esm/component/channel/Recorder.d.ts +3 -3
  384. package/build/esm/component/channel/Recorder.js +9 -9
  385. package/build/esm/component/channel/Recorder.js.map +1 -1
  386. package/build/esm/component/channel/Solo.d.ts +2 -2
  387. package/build/esm/component/channel/Solo.js +12 -8
  388. package/build/esm/component/channel/Solo.js.map +1 -1
  389. package/build/esm/component/channel/Split.d.ts +1 -1
  390. package/build/esm/component/channel/Split.js +9 -4
  391. package/build/esm/component/channel/Split.js.map +1 -1
  392. package/build/esm/component/channel/Volume.d.ts +4 -4
  393. package/build/esm/component/channel/Volume.js +7 -5
  394. package/build/esm/component/channel/Volume.js.map +1 -1
  395. package/build/esm/component/dynamics/Compressor.d.ts +3 -3
  396. package/build/esm/component/dynamics/Compressor.js +8 -5
  397. package/build/esm/component/dynamics/Compressor.js.map +1 -1
  398. package/build/esm/component/dynamics/Gate.d.ts +2 -2
  399. package/build/esm/component/dynamics/Gate.js +15 -9
  400. package/build/esm/component/dynamics/Gate.js.map +1 -1
  401. package/build/esm/component/dynamics/Limiter.d.ts +3 -3
  402. package/build/esm/component/dynamics/Limiter.js +21 -14
  403. package/build/esm/component/dynamics/Limiter.js.map +1 -1
  404. package/build/esm/component/dynamics/MidSideCompressor.d.ts +3 -3
  405. package/build/esm/component/dynamics/MidSideCompressor.js +15 -11
  406. package/build/esm/component/dynamics/MidSideCompressor.js.map +1 -1
  407. package/build/esm/component/dynamics/MultibandCompressor.d.ts +5 -5
  408. package/build/esm/component/dynamics/MultibandCompressor.js +10 -10
  409. package/build/esm/component/dynamics/MultibandCompressor.js.map +1 -1
  410. package/build/esm/component/envelope/AmplitudeEnvelope.d.ts +3 -3
  411. package/build/esm/component/envelope/AmplitudeEnvelope.js +9 -4
  412. package/build/esm/component/envelope/AmplitudeEnvelope.js.map +1 -1
  413. package/build/esm/component/envelope/Envelope.d.ts +7 -7
  414. package/build/esm/component/envelope/Envelope.js +21 -16
  415. package/build/esm/component/envelope/Envelope.js.map +1 -1
  416. package/build/esm/component/envelope/FrequencyEnvelope.d.ts +2 -2
  417. package/build/esm/component/envelope/FrequencyEnvelope.js +12 -7
  418. package/build/esm/component/envelope/FrequencyEnvelope.js.map +1 -1
  419. package/build/esm/component/filter/BiquadFilter.d.ts +3 -3
  420. package/build/esm/component/filter/BiquadFilter.js +18 -7
  421. package/build/esm/component/filter/BiquadFilter.js.map +1 -1
  422. package/build/esm/component/filter/Convolver.d.ts +3 -3
  423. package/build/esm/component/filter/Convolver.js +10 -7
  424. package/build/esm/component/filter/Convolver.js.map +1 -1
  425. package/build/esm/component/filter/EQ3.d.ts +6 -6
  426. package/build/esm/component/filter/EQ3.js +15 -7
  427. package/build/esm/component/filter/EQ3.js.map +1 -1
  428. package/build/esm/component/filter/FeedbackCombFilter.d.ts +6 -6
  429. package/build/esm/component/filter/FeedbackCombFilter.js +11 -8
  430. package/build/esm/component/filter/FeedbackCombFilter.js.map +1 -1
  431. package/build/esm/component/filter/FeedbackCombFilter.worklet.d.ts +2 -2
  432. package/build/esm/component/filter/FeedbackCombFilter.worklet.js +3 -3
  433. package/build/esm/component/filter/FeedbackCombFilter.worklet.js.map +1 -1
  434. package/build/esm/component/filter/Filter.d.ts +7 -7
  435. package/build/esm/component/filter/Filter.js +35 -17
  436. package/build/esm/component/filter/Filter.js.map +1 -1
  437. package/build/esm/component/filter/LowpassCombFilter.d.ts +4 -4
  438. package/build/esm/component/filter/LowpassCombFilter.js +9 -5
  439. package/build/esm/component/filter/LowpassCombFilter.js.map +1 -1
  440. package/build/esm/component/filter/OnePoleFilter.d.ts +4 -4
  441. package/build/esm/component/filter/OnePoleFilter.js +8 -5
  442. package/build/esm/component/filter/OnePoleFilter.js.map +1 -1
  443. package/build/esm/component/filter/PhaseShiftAllpass.d.ts +2 -2
  444. package/build/esm/component/filter/PhaseShiftAllpass.js +15 -8
  445. package/build/esm/component/filter/PhaseShiftAllpass.js.map +1 -1
  446. package/build/esm/component/index.d.ts +35 -35
  447. package/build/esm/component/index.js +35 -35
  448. package/build/esm/component/index.js.map +1 -1
  449. package/build/esm/core/Global.d.ts +2 -2
  450. package/build/esm/core/Global.js +6 -6
  451. package/build/esm/core/Global.js.map +1 -1
  452. package/build/esm/core/Tone.js +6 -5
  453. package/build/esm/core/Tone.js.map +1 -1
  454. package/build/esm/core/clock/Clock.d.ts +7 -7
  455. package/build/esm/core/clock/Clock.js +16 -10
  456. package/build/esm/core/clock/Clock.js.map +1 -1
  457. package/build/esm/core/clock/TickParam.d.ts +4 -4
  458. package/build/esm/core/clock/TickParam.js +11 -8
  459. package/build/esm/core/clock/TickParam.js.map +1 -1
  460. package/build/esm/core/clock/TickSignal.d.ts +4 -4
  461. package/build/esm/core/clock/TickSignal.js +3 -3
  462. package/build/esm/core/clock/TickSignal.js.map +1 -1
  463. package/build/esm/core/clock/TickSource.d.ts +4 -4
  464. package/build/esm/core/clock/TickSource.js +34 -17
  465. package/build/esm/core/clock/TickSource.js.map +1 -1
  466. package/build/esm/core/clock/Ticker.d.ts +2 -2
  467. package/build/esm/core/clock/Ticker.js +2 -2
  468. package/build/esm/core/clock/Ticker.js.map +1 -1
  469. package/build/esm/core/clock/Transport.d.ts +10 -10
  470. package/build/esm/core/clock/Transport.js +18 -18
  471. package/build/esm/core/clock/Transport.js.map +1 -1
  472. package/build/esm/core/clock/TransportEvent.d.ts +2 -3
  473. package/build/esm/core/clock/TransportEvent.js +1 -1
  474. package/build/esm/core/clock/TransportEvent.js.map +1 -1
  475. package/build/esm/core/clock/TransportRepeatEvent.d.ts +4 -4
  476. package/build/esm/core/clock/TransportRepeatEvent.js +7 -4
  477. package/build/esm/core/clock/TransportRepeatEvent.js.map +1 -1
  478. package/build/esm/core/context/AbstractParam.d.ts +1 -1
  479. package/build/esm/core/context/AbstractParam.js.map +1 -1
  480. package/build/esm/core/context/AudioContext.d.ts +1 -1
  481. package/build/esm/core/context/AudioContext.js +5 -4
  482. package/build/esm/core/context/AudioContext.js.map +1 -1
  483. package/build/esm/core/context/BaseContext.d.ts +10 -11
  484. package/build/esm/core/context/BaseContext.js +1 -1
  485. package/build/esm/core/context/BaseContext.js.map +1 -1
  486. package/build/esm/core/context/Context.d.ts +8 -9
  487. package/build/esm/core/context/Context.js +16 -12
  488. package/build/esm/core/context/Context.js.map +1 -1
  489. package/build/esm/core/context/ContextInitialization.d.ts +1 -2
  490. package/build/esm/core/context/ContextInitialization.js +2 -5
  491. package/build/esm/core/context/ContextInitialization.js.map +1 -1
  492. package/build/esm/core/context/Delay.d.ts +3 -3
  493. package/build/esm/core/context/Delay.js +16 -7
  494. package/build/esm/core/context/Delay.js.map +1 -1
  495. package/build/esm/core/context/Destination.d.ts +5 -5
  496. package/build/esm/core/context/Destination.js +12 -8
  497. package/build/esm/core/context/Destination.js.map +1 -1
  498. package/build/esm/core/context/DummyContext.d.ts +7 -8
  499. package/build/esm/core/context/DummyContext.js +1 -1
  500. package/build/esm/core/context/DummyContext.js.map +1 -1
  501. package/build/esm/core/context/Gain.d.ts +3 -3
  502. package/build/esm/core/context/Gain.js +12 -6
  503. package/build/esm/core/context/Gain.js.map +1 -1
  504. package/build/esm/core/context/Listener.d.ts +2 -2
  505. package/build/esm/core/context/Listener.js +5 -5
  506. package/build/esm/core/context/Listener.js.map +1 -1
  507. package/build/esm/core/context/Offline.d.ts +5 -3
  508. package/build/esm/core/context/Offline.js +7 -5
  509. package/build/esm/core/context/Offline.js.map +1 -1
  510. package/build/esm/core/context/OfflineContext.d.ts +3 -3
  511. package/build/esm/core/context/OfflineContext.js +16 -13
  512. package/build/esm/core/context/OfflineContext.js.map +1 -1
  513. package/build/esm/core/context/Param.d.ts +6 -6
  514. package/build/esm/core/context/Param.js +40 -20
  515. package/build/esm/core/context/Param.js.map +1 -1
  516. package/build/esm/core/context/ToneAudioBuffer.d.ts +2 -2
  517. package/build/esm/core/context/ToneAudioBuffer.js +6 -6
  518. package/build/esm/core/context/ToneAudioBuffer.js.map +1 -1
  519. package/build/esm/core/context/ToneAudioBuffers.d.ts +2 -2
  520. package/build/esm/core/context/ToneAudioBuffers.js +10 -9
  521. package/build/esm/core/context/ToneAudioBuffers.js.map +1 -1
  522. package/build/esm/core/context/ToneAudioNode.d.ts +5 -5
  523. package/build/esm/core/context/ToneAudioNode.js +12 -11
  524. package/build/esm/core/context/ToneAudioNode.js.map +1 -1
  525. package/build/esm/core/context/ToneWithContext.d.ts +5 -5
  526. package/build/esm/core/context/ToneWithContext.js +8 -8
  527. package/build/esm/core/context/ToneWithContext.js.map +1 -1
  528. package/build/esm/core/index.d.ts +26 -26
  529. package/build/esm/core/index.js +26 -26
  530. package/build/esm/core/index.js.map +1 -1
  531. package/build/esm/core/type/Conversions.d.ts +1 -1
  532. package/build/esm/core/type/Conversions.js +1 -1
  533. package/build/esm/core/type/Conversions.js.map +1 -1
  534. package/build/esm/core/type/Frequency.d.ts +4 -4
  535. package/build/esm/core/type/Frequency.js +93 -17
  536. package/build/esm/core/type/Frequency.js.map +1 -1
  537. package/build/esm/core/type/Midi.d.ts +3 -3
  538. package/build/esm/core/type/Midi.js +3 -3
  539. package/build/esm/core/type/Midi.js.map +1 -1
  540. package/build/esm/core/type/NoteUnits.d.ts +6 -6
  541. package/build/esm/core/type/Ticks.d.ts +3 -3
  542. package/build/esm/core/type/Ticks.js +3 -3
  543. package/build/esm/core/type/Ticks.js.map +1 -1
  544. package/build/esm/core/type/Time.d.ts +2 -2
  545. package/build/esm/core/type/Time.js +12 -10
  546. package/build/esm/core/type/Time.js.map +1 -1
  547. package/build/esm/core/type/TimeBase.d.ts +5 -5
  548. package/build/esm/core/type/TimeBase.js +14 -9
  549. package/build/esm/core/type/TimeBase.js.map +1 -1
  550. package/build/esm/core/type/TransportTime.d.ts +3 -3
  551. package/build/esm/core/type/TransportTime.js +2 -2
  552. package/build/esm/core/type/TransportTime.js.map +1 -1
  553. package/build/esm/core/type/Units.d.ts +27 -27
  554. package/build/esm/core/type/Units.js +1 -1
  555. package/build/esm/core/type/Units.js.map +1 -1
  556. package/build/esm/core/util/AdvancedTypeCheck.js +1 -1
  557. package/build/esm/core/util/AdvancedTypeCheck.js.map +1 -1
  558. package/build/esm/core/util/Debug.d.ts +4 -2
  559. package/build/esm/core/util/Debug.js +5 -3
  560. package/build/esm/core/util/Debug.js.map +1 -1
  561. package/build/esm/core/util/Decorator.js +3 -3
  562. package/build/esm/core/util/Decorator.js.map +1 -1
  563. package/build/esm/core/util/Defaults.d.ts +1 -7
  564. package/build/esm/core/util/Defaults.js +15 -6
  565. package/build/esm/core/util/Defaults.js.map +1 -1
  566. package/build/esm/core/util/Draw.d.ts +2 -2
  567. package/build/esm/core/util/Draw.js +7 -6
  568. package/build/esm/core/util/Draw.js.map +1 -1
  569. package/build/esm/core/util/Emitter.d.ts +2 -2
  570. package/build/esm/core/util/Emitter.js +5 -5
  571. package/build/esm/core/util/Emitter.js.map +1 -1
  572. package/build/esm/core/util/Interface.d.ts +2 -2
  573. package/build/esm/core/util/Interface.js +3 -3
  574. package/build/esm/core/util/Interface.js.map +1 -1
  575. package/build/esm/core/util/IntervalTimeline.d.ts +2 -2
  576. package/build/esm/core/util/IntervalTimeline.js +9 -9
  577. package/build/esm/core/util/IntervalTimeline.js.map +1 -1
  578. package/build/esm/core/util/StateTimeline.d.ts +6 -6
  579. package/build/esm/core/util/StateTimeline.js +2 -2
  580. package/build/esm/core/util/StateTimeline.js.map +1 -1
  581. package/build/esm/core/util/Timeline.d.ts +3 -3
  582. package/build/esm/core/util/Timeline.js +5 -5
  583. package/build/esm/core/util/Timeline.js.map +1 -1
  584. package/build/esm/core/util/TimelineValue.d.ts +2 -2
  585. package/build/esm/core/util/TimelineValue.js +7 -4
  586. package/build/esm/core/util/TimelineValue.js.map +1 -1
  587. package/build/esm/core/util/TypeCheck.d.ts +1 -1
  588. package/build/esm/core/worklet/DelayLine.worklet.js +1 -1
  589. package/build/esm/core/worklet/DelayLine.worklet.js.map +1 -1
  590. package/build/esm/core/worklet/SingleIOProcessor.worklet.d.ts +1 -1
  591. package/build/esm/core/worklet/SingleIOProcessor.worklet.js +2 -2
  592. package/build/esm/core/worklet/SingleIOProcessor.worklet.js.map +1 -1
  593. package/build/esm/core/worklet/ToneAudioWorklet.d.ts +2 -2
  594. package/build/esm/core/worklet/ToneAudioWorklet.js +5 -4
  595. package/build/esm/core/worklet/ToneAudioWorklet.js.map +1 -1
  596. package/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js +1 -1
  597. package/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js.map +1 -1
  598. package/build/esm/core/worklet/WorkletGlobalScope.js.map +1 -1
  599. package/build/esm/effect/AutoFilter.d.ts +4 -4
  600. package/build/esm/effect/AutoFilter.js +9 -5
  601. package/build/esm/effect/AutoFilter.js.map +1 -1
  602. package/build/esm/effect/AutoPanner.d.ts +3 -3
  603. package/build/esm/effect/AutoPanner.js +8 -6
  604. package/build/esm/effect/AutoPanner.js.map +1 -1
  605. package/build/esm/effect/AutoWah.d.ts +3 -3
  606. package/build/esm/effect/AutoWah.js +19 -11
  607. package/build/esm/effect/AutoWah.js.map +1 -1
  608. package/build/esm/effect/BitCrusher.d.ts +4 -4
  609. package/build/esm/effect/BitCrusher.js +7 -7
  610. package/build/esm/effect/BitCrusher.js.map +1 -1
  611. package/build/esm/effect/BitCrusher.worklet.d.ts +1 -1
  612. package/build/esm/effect/BitCrusher.worklet.js +2 -2
  613. package/build/esm/effect/BitCrusher.worklet.js.map +1 -1
  614. package/build/esm/effect/Chebyshev.d.ts +2 -2
  615. package/build/esm/effect/Chebyshev.js +10 -9
  616. package/build/esm/effect/Chebyshev.js.map +1 -1
  617. package/build/esm/effect/Chorus.d.ts +4 -4
  618. package/build/esm/effect/Chorus.js +18 -10
  619. package/build/esm/effect/Chorus.js.map +1 -1
  620. package/build/esm/effect/Distortion.d.ts +1 -1
  621. package/build/esm/effect/Distortion.js +7 -5
  622. package/build/esm/effect/Distortion.js.map +1 -1
  623. package/build/esm/effect/Effect.d.ts +5 -5
  624. package/build/esm/effect/Effect.js +4 -4
  625. package/build/esm/effect/Effect.js.map +1 -1
  626. package/build/esm/effect/FeedbackDelay.d.ts +3 -3
  627. package/build/esm/effect/FeedbackDelay.js +8 -5
  628. package/build/esm/effect/FeedbackDelay.js.map +1 -1
  629. package/build/esm/effect/FeedbackEffect.d.ts +3 -3
  630. package/build/esm/effect/FeedbackEffect.js +3 -3
  631. package/build/esm/effect/FeedbackEffect.js.map +1 -1
  632. package/build/esm/effect/Freeverb.d.ts +3 -3
  633. package/build/esm/effect/Freeverb.js +26 -14
  634. package/build/esm/effect/Freeverb.js.map +1 -1
  635. package/build/esm/effect/FrequencyShifter.d.ts +3 -3
  636. package/build/esm/effect/FrequencyShifter.js +12 -10
  637. package/build/esm/effect/FrequencyShifter.js.map +1 -1
  638. package/build/esm/effect/JCReverb.d.ts +3 -3
  639. package/build/esm/effect/JCReverb.js +18 -11
  640. package/build/esm/effect/JCReverb.js.map +1 -1
  641. package/build/esm/effect/LFOEffect.d.ts +6 -6
  642. package/build/esm/effect/LFOEffect.js +3 -3
  643. package/build/esm/effect/LFOEffect.js.map +1 -1
  644. package/build/esm/effect/MidSideEffect.d.ts +3 -3
  645. package/build/esm/effect/MidSideEffect.js +3 -3
  646. package/build/esm/effect/MidSideEffect.js.map +1 -1
  647. package/build/esm/effect/Phaser.d.ts +3 -3
  648. package/build/esm/effect/Phaser.js +18 -10
  649. package/build/esm/effect/Phaser.js.map +1 -1
  650. package/build/esm/effect/PingPongDelay.d.ts +3 -3
  651. package/build/esm/effect/PingPongDelay.js +12 -9
  652. package/build/esm/effect/PingPongDelay.js.map +1 -1
  653. package/build/esm/effect/PitchShift.d.ts +3 -3
  654. package/build/esm/effect/PitchShift.js +14 -14
  655. package/build/esm/effect/PitchShift.js.map +1 -1
  656. package/build/esm/effect/Reverb.d.ts +2 -2
  657. package/build/esm/effect/Reverb.js +11 -9
  658. package/build/esm/effect/Reverb.js.map +1 -1
  659. package/build/esm/effect/StereoEffect.d.ts +8 -8
  660. package/build/esm/effect/StereoEffect.js +7 -7
  661. package/build/esm/effect/StereoEffect.js.map +1 -1
  662. package/build/esm/effect/StereoFeedbackEffect.d.ts +6 -6
  663. package/build/esm/effect/StereoFeedbackEffect.js +7 -7
  664. package/build/esm/effect/StereoFeedbackEffect.js.map +1 -1
  665. package/build/esm/effect/StereoWidener.d.ts +3 -3
  666. package/build/esm/effect/StereoWidener.js +10 -8
  667. package/build/esm/effect/StereoWidener.js.map +1 -1
  668. package/build/esm/effect/StereoXFeedbackEffect.d.ts +2 -2
  669. package/build/esm/effect/StereoXFeedbackEffect.js +2 -2
  670. package/build/esm/effect/StereoXFeedbackEffect.js.map +1 -1
  671. package/build/esm/effect/Tremolo.d.ts +4 -4
  672. package/build/esm/effect/Tremolo.js +16 -10
  673. package/build/esm/effect/Tremolo.js.map +1 -1
  674. package/build/esm/effect/Vibrato.d.ts +5 -5
  675. package/build/esm/effect/Vibrato.js +18 -10
  676. package/build/esm/effect/Vibrato.js.map +1 -1
  677. package/build/esm/effect/index.d.ts +18 -18
  678. package/build/esm/effect/index.js +18 -18
  679. package/build/esm/effect/index.js.map +1 -1
  680. package/build/esm/event/Loop.d.ts +3 -3
  681. package/build/esm/event/Loop.js +13 -7
  682. package/build/esm/event/Loop.js.map +1 -1
  683. package/build/esm/event/Part.d.ts +5 -5
  684. package/build/esm/event/Part.js +35 -24
  685. package/build/esm/event/Part.js.map +1 -1
  686. package/build/esm/event/Pattern.d.ts +4 -4
  687. package/build/esm/event/Pattern.js +14 -6
  688. package/build/esm/event/Pattern.js.map +1 -1
  689. package/build/esm/event/PatternGenerator.d.ts +1 -1
  690. package/build/esm/event/PatternGenerator.js +6 -5
  691. package/build/esm/event/PatternGenerator.js.map +1 -1
  692. package/build/esm/event/Sequence.d.ts +3 -3
  693. package/build/esm/event/Sequence.js +12 -8
  694. package/build/esm/event/Sequence.js.map +1 -1
  695. package/build/esm/event/ToneEvent.d.ts +6 -6
  696. package/build/esm/event/ToneEvent.js +18 -13
  697. package/build/esm/event/ToneEvent.js.map +1 -1
  698. package/build/esm/event/index.d.ts +5 -5
  699. package/build/esm/event/index.js +5 -5
  700. package/build/esm/event/index.js.map +1 -1
  701. package/build/esm/fromContext.d.ts +8 -8
  702. package/build/esm/fromContext.js +9 -9
  703. package/build/esm/fromContext.js.map +1 -1
  704. package/build/esm/index.d.ts +14 -14
  705. package/build/esm/index.js +9 -9
  706. package/build/esm/index.js.map +1 -1
  707. package/build/esm/instrument/AMSynth.d.ts +3 -3
  708. package/build/esm/instrument/AMSynth.js +3 -3
  709. package/build/esm/instrument/AMSynth.js.map +1 -1
  710. package/build/esm/instrument/DuoSynth.d.ts +6 -6
  711. package/build/esm/instrument/DuoSynth.js +28 -21
  712. package/build/esm/instrument/DuoSynth.js.map +1 -1
  713. package/build/esm/instrument/FMSynth.d.ts +4 -4
  714. package/build/esm/instrument/FMSynth.js +3 -3
  715. package/build/esm/instrument/FMSynth.js.map +1 -1
  716. package/build/esm/instrument/Instrument.d.ts +3 -3
  717. package/build/esm/instrument/Instrument.js +6 -6
  718. package/build/esm/instrument/Instrument.js.map +1 -1
  719. package/build/esm/instrument/MembraneSynth.d.ts +4 -4
  720. package/build/esm/instrument/MembraneSynth.js +6 -6
  721. package/build/esm/instrument/MembraneSynth.js.map +1 -1
  722. package/build/esm/instrument/MetalSynth.d.ts +6 -6
  723. package/build/esm/instrument/MetalSynth.js +11 -11
  724. package/build/esm/instrument/MetalSynth.js.map +1 -1
  725. package/build/esm/instrument/ModulationSynth.d.ts +12 -12
  726. package/build/esm/instrument/ModulationSynth.js +28 -20
  727. package/build/esm/instrument/ModulationSynth.js.map +1 -1
  728. package/build/esm/instrument/MonoSynth.d.ts +11 -11
  729. package/build/esm/instrument/MonoSynth.js +18 -11
  730. package/build/esm/instrument/MonoSynth.js.map +1 -1
  731. package/build/esm/instrument/Monophonic.d.ts +5 -5
  732. package/build/esm/instrument/Monophonic.js +5 -5
  733. package/build/esm/instrument/Monophonic.js.map +1 -1
  734. package/build/esm/instrument/NoiseSynth.d.ts +7 -7
  735. package/build/esm/instrument/NoiseSynth.js +7 -7
  736. package/build/esm/instrument/NoiseSynth.js.map +1 -1
  737. package/build/esm/instrument/PluckSynth.d.ts +3 -3
  738. package/build/esm/instrument/PluckSynth.js +6 -6
  739. package/build/esm/instrument/PluckSynth.js.map +1 -1
  740. package/build/esm/instrument/PolySynth.d.ts +14 -14
  741. package/build/esm/instrument/PolySynth.js +24 -15
  742. package/build/esm/instrument/PolySynth.js.map +1 -1
  743. package/build/esm/instrument/Sampler.d.ts +4 -4
  744. package/build/esm/instrument/Sampler.js +19 -19
  745. package/build/esm/instrument/Sampler.js.map +1 -1
  746. package/build/esm/instrument/Synth.d.ts +9 -9
  747. package/build/esm/instrument/Synth.js +13 -9
  748. package/build/esm/instrument/Synth.js.map +1 -1
  749. package/build/esm/instrument/index.d.ts +11 -11
  750. package/build/esm/instrument/index.js +11 -11
  751. package/build/esm/instrument/index.js.map +1 -1
  752. package/build/esm/signal/Abs.d.ts +3 -3
  753. package/build/esm/signal/Abs.js +3 -3
  754. package/build/esm/signal/Abs.js.map +1 -1
  755. package/build/esm/signal/Add.d.ts +3 -3
  756. package/build/esm/signal/Add.js +4 -4
  757. package/build/esm/signal/Add.js.map +1 -1
  758. package/build/esm/signal/AudioToGain.d.ts +3 -3
  759. package/build/esm/signal/AudioToGain.js +3 -3
  760. package/build/esm/signal/AudioToGain.js.map +1 -1
  761. package/build/esm/signal/GainToAudio.d.ts +3 -3
  762. package/build/esm/signal/GainToAudio.js +3 -3
  763. package/build/esm/signal/GainToAudio.js.map +1 -1
  764. package/build/esm/signal/GreaterThan.d.ts +4 -4
  765. package/build/esm/signal/GreaterThan.js +12 -8
  766. package/build/esm/signal/GreaterThan.js.map +1 -1
  767. package/build/esm/signal/GreaterThanZero.d.ts +3 -3
  768. package/build/esm/signal/GreaterThanZero.js +5 -5
  769. package/build/esm/signal/GreaterThanZero.js.map +1 -1
  770. package/build/esm/signal/Multiply.d.ts +3 -3
  771. package/build/esm/signal/Multiply.js +16 -10
  772. package/build/esm/signal/Multiply.js.map +1 -1
  773. package/build/esm/signal/Negate.d.ts +3 -3
  774. package/build/esm/signal/Negate.js +2 -2
  775. package/build/esm/signal/Negate.js.map +1 -1
  776. package/build/esm/signal/Pow.d.ts +3 -3
  777. package/build/esm/signal/Pow.js +14 -9
  778. package/build/esm/signal/Pow.js.map +1 -1
  779. package/build/esm/signal/Scale.d.ts +4 -4
  780. package/build/esm/signal/Scale.js +12 -6
  781. package/build/esm/signal/Scale.js.map +1 -1
  782. package/build/esm/signal/ScaleExp.d.ts +2 -2
  783. package/build/esm/signal/ScaleExp.js +8 -4
  784. package/build/esm/signal/ScaleExp.js.map +1 -1
  785. package/build/esm/signal/Signal.d.ts +5 -5
  786. package/build/esm/signal/Signal.js +16 -9
  787. package/build/esm/signal/Signal.js.map +1 -1
  788. package/build/esm/signal/SignalOperator.d.ts +2 -2
  789. package/build/esm/signal/SignalOperator.js +6 -4
  790. package/build/esm/signal/SignalOperator.js.map +1 -1
  791. package/build/esm/signal/Subtract.d.ts +3 -3
  792. package/build/esm/signal/Subtract.js +8 -6
  793. package/build/esm/signal/Subtract.js.map +1 -1
  794. package/build/esm/signal/SyncedSignal.d.ts +3 -3
  795. package/build/esm/signal/SyncedSignal.js +12 -6
  796. package/build/esm/signal/SyncedSignal.js.map +1 -1
  797. package/build/esm/signal/ToneConstantSource.d.ts +3 -3
  798. package/build/esm/signal/ToneConstantSource.js +7 -5
  799. package/build/esm/signal/ToneConstantSource.js.map +1 -1
  800. package/build/esm/signal/WaveShaper.d.ts +4 -4
  801. package/build/esm/signal/WaveShaper.js +12 -8
  802. package/build/esm/signal/WaveShaper.js.map +1 -1
  803. package/build/esm/signal/Zero.d.ts +3 -3
  804. package/build/esm/signal/Zero.js +4 -4
  805. package/build/esm/signal/Zero.js.map +1 -1
  806. package/build/esm/signal/index.d.ts +16 -16
  807. package/build/esm/signal/index.js +16 -16
  808. package/build/esm/signal/index.js.map +1 -1
  809. package/build/esm/source/Noise.d.ts +3 -3
  810. package/build/esm/source/Noise.js +15 -12
  811. package/build/esm/source/Noise.js.map +1 -1
  812. package/build/esm/source/OneShotSource.d.ts +6 -6
  813. package/build/esm/source/OneShotSource.js +4 -4
  814. package/build/esm/source/OneShotSource.js.map +1 -1
  815. package/build/esm/source/Source.d.ts +7 -7
  816. package/build/esm/source/Source.js +10 -10
  817. package/build/esm/source/Source.js.map +1 -1
  818. package/build/esm/source/UserMedia.d.ts +3 -3
  819. package/build/esm/source/UserMedia.js +12 -12
  820. package/build/esm/source/UserMedia.js.map +1 -1
  821. package/build/esm/source/buffer/GrainPlayer.d.ts +3 -3
  822. package/build/esm/source/buffer/GrainPlayer.js +15 -12
  823. package/build/esm/source/buffer/GrainPlayer.js.map +1 -1
  824. package/build/esm/source/buffer/Player.d.ts +3 -3
  825. package/build/esm/source/buffer/Player.js +8 -8
  826. package/build/esm/source/buffer/Player.js.map +1 -1
  827. package/build/esm/source/buffer/Players.d.ts +8 -8
  828. package/build/esm/source/buffer/Players.js +13 -13
  829. package/build/esm/source/buffer/Players.js.map +1 -1
  830. package/build/esm/source/buffer/ToneBufferSource.d.ts +5 -5
  831. package/build/esm/source/buffer/ToneBufferSource.js +17 -12
  832. package/build/esm/source/buffer/ToneBufferSource.js.map +1 -1
  833. package/build/esm/source/index.d.ts +15 -15
  834. package/build/esm/source/index.js +15 -15
  835. package/build/esm/source/index.js.map +1 -1
  836. package/build/esm/source/oscillator/AMOscillator.d.ts +5 -5
  837. package/build/esm/source/oscillator/AMOscillator.js +17 -13
  838. package/build/esm/source/oscillator/AMOscillator.js.map +1 -1
  839. package/build/esm/source/oscillator/FMOscillator.d.ts +5 -5
  840. package/build/esm/source/oscillator/FMOscillator.js +21 -12
  841. package/build/esm/source/oscillator/FMOscillator.js.map +1 -1
  842. package/build/esm/source/oscillator/FatOscillator.d.ts +5 -5
  843. package/build/esm/source/oscillator/FatOscillator.js +26 -22
  844. package/build/esm/source/oscillator/FatOscillator.js.map +1 -1
  845. package/build/esm/source/oscillator/LFO.d.ts +8 -8
  846. package/build/esm/source/oscillator/LFO.js +20 -12
  847. package/build/esm/source/oscillator/LFO.js.map +1 -1
  848. package/build/esm/source/oscillator/OmniOscillator.d.ts +24 -24
  849. package/build/esm/source/oscillator/OmniOscillator.js +38 -27
  850. package/build/esm/source/oscillator/OmniOscillator.js.map +1 -1
  851. package/build/esm/source/oscillator/Oscillator.d.ts +5 -5
  852. package/build/esm/source/oscillator/Oscillator.js +42 -30
  853. package/build/esm/source/oscillator/Oscillator.js.map +1 -1
  854. package/build/esm/source/oscillator/OscillatorInterface.d.ts +37 -37
  855. package/build/esm/source/oscillator/OscillatorInterface.js +1 -1
  856. package/build/esm/source/oscillator/OscillatorInterface.js.map +1 -1
  857. package/build/esm/source/oscillator/PWMOscillator.d.ts +5 -5
  858. package/build/esm/source/oscillator/PWMOscillator.js +13 -10
  859. package/build/esm/source/oscillator/PWMOscillator.js.map +1 -1
  860. package/build/esm/source/oscillator/PulseOscillator.d.ts +5 -5
  861. package/build/esm/source/oscillator/PulseOscillator.js +15 -12
  862. package/build/esm/source/oscillator/PulseOscillator.js.map +1 -1
  863. package/build/esm/source/oscillator/ToneOscillatorNode.d.ts +3 -3
  864. package/build/esm/source/oscillator/ToneOscillatorNode.js +9 -6
  865. package/build/esm/source/oscillator/ToneOscillatorNode.js.map +1 -1
  866. package/build/esm/version.js +1 -1
  867. package/build/esm/version.js.map +1 -1
  868. package/package.json +41 -45
@@ -1,12 +1,11 @@
1
1
  import { expect } from "chai";
2
- import { BasicTests } from "test/helper/Basic";
3
- import { Offline } from "test/helper/Offline";
4
- import { OutputAudio } from "test/helper/OutputAudio";
5
- import { Signal } from "Tone/signal/Signal";
6
- import { LFO, LFOOptions } from "./LFO";
2
+ import { BasicTests } from "../../../test/helper/Basic.js";
3
+ import { Offline } from "../../../test/helper/Offline.js";
4
+ import { OutputAudio } from "../../../test/helper/OutputAudio.js";
5
+ import { Signal } from "../../signal/Signal.js";
6
+ import { LFO, LFOOptions } from "./LFO.js";
7
7
 
8
8
  describe("LFO", () => {
9
-
10
9
  BasicTests(LFO);
11
10
 
12
11
  context("API", () => {
@@ -20,7 +19,6 @@ describe("LFO", () => {
20
19
  });
21
20
 
22
21
  context("Low Oscillations", () => {
23
-
24
22
  it("can be started and stopped", () => {
25
23
  const lfo = new LFO();
26
24
  lfo.start();
@@ -198,7 +196,7 @@ describe("LFO", () => {
198
196
  });
199
197
 
200
198
  it("can adjust the amplitude", () => {
201
- return Offline(({ transport }) => {
199
+ return Offline(() => {
202
200
  const lfo = new LFO(10, -10, 10);
203
201
  lfo.amplitude.value = 0.5;
204
202
  lfo.toDestination();
@@ -210,7 +208,7 @@ describe("LFO", () => {
210
208
  });
211
209
 
212
210
  it("can adjust the amplitude not centered at 0", () => {
213
- return Offline(({ transport }) => {
211
+ return Offline(() => {
214
212
  const lfo = new LFO(10, 400, 4000);
215
213
  lfo.amplitude.value = 0.5;
216
214
  lfo.toDestination();
@@ -224,7 +222,7 @@ describe("LFO", () => {
224
222
  it("can pass in partials to the constructor", () => {
225
223
  const lfo = new LFO({
226
224
  type: "custom",
227
- partials: [0, 2, 3]
225
+ partials: [0, 2, 3],
228
226
  });
229
227
  expect(lfo.partials).to.deep.equal([0, 2, 3]);
230
228
  lfo.partials = [1, 2, 3];
@@ -1,16 +1,29 @@
1
- import { Gain } from "../../core/context/Gain";
2
- import { Param } from "../../core/context/Param";
3
- import { InputNode, OutputNode, ToneAudioNode } from "../../core/context/ToneAudioNode";
4
- import { Degrees, Frequency, NormalRange, Time, UnitName } from "../../core/type/Units";
5
- import { optionsFromArguments } from "../../core/util/Defaults";
6
- import { readOnly } from "../../core/util/Interface";
7
- import { BasicPlaybackState } from "../../core/util/StateTimeline";
8
- import { AudioToGain } from "../../signal/AudioToGain";
9
- import { Scale } from "../../signal/Scale";
10
- import { connectSignal, Signal } from "../../signal/Signal";
11
- import { Zero } from "../../signal/Zero";
12
- import { Oscillator, ToneOscillatorType } from "./Oscillator";
13
- import { ToneOscillatorConstructorOptions, ToneOscillatorOptions } from "./OscillatorInterface";
1
+ import { Gain } from "../../core/context/Gain.js";
2
+ import { Param } from "../../core/context/Param.js";
3
+ import {
4
+ InputNode,
5
+ OutputNode,
6
+ ToneAudioNode,
7
+ } from "../../core/context/ToneAudioNode.js";
8
+ import {
9
+ Degrees,
10
+ Frequency,
11
+ NormalRange,
12
+ Time,
13
+ UnitName,
14
+ } from "../../core/type/Units.js";
15
+ import { optionsFromArguments } from "../../core/util/Defaults.js";
16
+ import { readOnly } from "../../core/util/Interface.js";
17
+ import { BasicPlaybackState } from "../../core/util/StateTimeline.js";
18
+ import { AudioToGain } from "../../signal/AudioToGain.js";
19
+ import { Scale } from "../../signal/Scale.js";
20
+ import { connectSignal, Signal } from "../../signal/Signal.js";
21
+ import { Zero } from "../../signal/Zero.js";
22
+ import { Oscillator, ToneOscillatorType } from "./Oscillator.js";
23
+ import {
24
+ ToneOscillatorConstructorOptions,
25
+ ToneOscillatorOptions,
26
+ } from "./OscillatorInterface.js";
14
27
 
15
28
  export type LFOOptions = {
16
29
  min: number;
@@ -31,7 +44,6 @@ export type LFOOptions = {
31
44
  * @category Source
32
45
  */
33
46
  export class LFO extends ToneAudioNode<LFOOptions> {
34
-
35
47
  readonly name: string = "LFO";
36
48
 
37
49
  /**
@@ -112,11 +124,22 @@ export class LFO extends ToneAudioNode<LFOOptions> {
112
124
  constructor(frequency?: Frequency, min?: number, max?: number);
113
125
  constructor(options?: Partial<LFOOptions>);
114
126
  constructor() {
115
-
116
- super(optionsFromArguments(LFO.getDefaults(), arguments, ["frequency", "min", "max"]));
117
- const options = optionsFromArguments(LFO.getDefaults(), arguments, ["frequency", "min", "max"]);
118
-
119
- this._oscillator = new Oscillator(options as ToneOscillatorConstructorOptions);
127
+ super(
128
+ optionsFromArguments(LFO.getDefaults(), arguments, [
129
+ "frequency",
130
+ "min",
131
+ "max",
132
+ ])
133
+ );
134
+ const options = optionsFromArguments(LFO.getDefaults(), arguments, [
135
+ "frequency",
136
+ "min",
137
+ "max",
138
+ ]);
139
+
140
+ this._oscillator = new Oscillator(
141
+ options as ToneOscillatorConstructorOptions
142
+ );
120
143
 
121
144
  this.frequency = this._oscillator.frequency;
122
145
 
@@ -250,7 +273,7 @@ export class LFO extends ToneAudioNode<LFOOptions> {
250
273
  }
251
274
 
252
275
  /**
253
- * The oscillator's partials array.
276
+ * The oscillator's partials array.
254
277
  * @see {@link Oscillator.partials}
255
278
  */
256
279
  get partials(): number[] {
@@ -1,31 +1,33 @@
1
1
  import { expect } from "chai";
2
- import { BasicTests } from "test/helper/Basic";
3
- import { CompareToFile } from "test/helper/CompareToFile";
4
- import { OscillatorTests } from "test/helper/OscillatorTests";
5
- import { OutputAudio } from "test/helper/OutputAudio";
6
- import { SourceTests } from "test/helper/SourceTests";
7
- import { FMOscillator } from "./FMOscillator";
8
- import { OmniOscillator } from "./OmniOscillator";
9
- import { OmniOscillatorType } from "./OscillatorInterface";
10
- import { PulseOscillator } from "./PulseOscillator";
11
- import { PWMOscillator } from "./PWMOscillator";
2
+ import { BasicTests } from "../../../test/helper/Basic.js";
3
+ import { CompareToFile } from "../../../test/helper/CompareToFile.js";
4
+ import { OscillatorTests } from "../../../test/helper/OscillatorTests.js";
5
+ import { OutputAudio } from "../../../test/helper/OutputAudio.js";
6
+ import { SourceTests } from "../../../test/helper/SourceTests.js";
7
+ import { FMOscillator } from "./FMOscillator.js";
8
+ import { OmniOscillator } from "./OmniOscillator.js";
9
+ import { OmniOscillatorType } from "./OscillatorInterface.js";
10
+ import { PulseOscillator } from "./PulseOscillator.js";
11
+ import { PWMOscillator } from "./PWMOscillator.js";
12
12
 
13
13
  describe("OmniOscillator", () => {
14
-
15
14
  // run the common tests
16
15
  BasicTests(OmniOscillator);
17
16
  SourceTests(OmniOscillator);
18
17
  OscillatorTests(OmniOscillator);
19
18
 
20
19
  it("matches a file", () => {
21
- return CompareToFile(() => {
22
- const osc = new OmniOscillator(220, "fmsquare").toDestination();
23
- osc.start(0.1).stop(0.2);
24
- }, "omniOscillator.wav", 1.6);
20
+ return CompareToFile(
21
+ () => {
22
+ const osc = new OmniOscillator(220, "fmsquare").toDestination();
23
+ osc.start(0.1).stop(0.2);
24
+ },
25
+ "omniOscillator.wav",
26
+ 1.6
27
+ );
25
28
  });
26
29
 
27
30
  context("Sound", () => {
28
-
29
31
  it("makes a sound", () => {
30
32
  return OutputAudio(() => {
31
33
  const osc = new OmniOscillator();
@@ -90,11 +92,9 @@ describe("OmniOscillator", () => {
90
92
  osc.type = "fmsine";
91
93
  });
92
94
  });
93
-
94
95
  });
95
96
 
96
97
  context("Type", () => {
97
-
98
98
  it("can get and set the type", () => {
99
99
  const osc = new OmniOscillator({
100
100
  type: "sawtooth",
@@ -105,8 +105,16 @@ describe("OmniOscillator", () => {
105
105
 
106
106
  it("handles various types", () => {
107
107
  const osc = new OmniOscillator();
108
- const types: OmniOscillatorType[] = ["triangle3", "sine", "pulse", "pwm", "amsine4", "fatsquare2", "fmsawtooth"];
109
- types.forEach(type => {
108
+ const types: OmniOscillatorType[] = [
109
+ "triangle3",
110
+ "sine",
111
+ "pulse",
112
+ "pwm",
113
+ "amsine4",
114
+ "fatsquare2",
115
+ "fmsawtooth",
116
+ ];
117
+ types.forEach((type) => {
110
118
  osc.type = type;
111
119
  expect(osc.type).to.equal(type);
112
120
  });
@@ -1,38 +1,52 @@
1
- import { Cents, Degrees, Frequency, Seconds, Time } from "../../core/type/Units";
2
- import { optionsFromArguments } from "../../core/util/Defaults";
3
- import { readOnly } from "../../core/util/Interface";
4
- import { isNumber, isString } from "../../core/util/TypeCheck";
5
- import { Signal } from "../../signal/Signal";
6
- import { Source } from "../Source";
7
- import { AMOscillator } from "./AMOscillator";
8
- import { FatOscillator } from "./FatOscillator";
9
- import { FMOscillator } from "./FMOscillator";
10
- import { Oscillator } from "./Oscillator";
1
+ import {
2
+ Cents,
3
+ Degrees,
4
+ Frequency,
5
+ Seconds,
6
+ Time,
7
+ } from "../../core/type/Units.js";
8
+ import { optionsFromArguments } from "../../core/util/Defaults.js";
9
+ import { readOnly } from "../../core/util/Interface.js";
10
+ import { isNumber, isString } from "../../core/util/TypeCheck.js";
11
+ import { Signal } from "../../signal/Signal.js";
12
+ import { Source } from "../Source.js";
13
+ import { AMOscillator } from "./AMOscillator.js";
14
+ import { FatOscillator } from "./FatOscillator.js";
15
+ import { FMOscillator } from "./FMOscillator.js";
16
+ import { Oscillator } from "./Oscillator.js";
11
17
  import {
12
18
  generateWaveform,
13
- OmniOscillatorOptions,
14
- OmniOscillatorType, ToneOscillatorInterface, ToneOscillatorType
15
- } from "./OscillatorInterface";
16
- import { PulseOscillator } from "./PulseOscillator";
17
- import { PWMOscillator } from "./PWMOscillator";
19
+ OmniOscillatorOptions,
20
+ OmniOscillatorType,
21
+ ToneOscillatorInterface,
22
+ ToneOscillatorType,
23
+ } from "./OscillatorInterface.js";
24
+ import { PulseOscillator } from "./PulseOscillator.js";
25
+ import { PWMOscillator } from "./PWMOscillator.js";
18
26
 
19
- export { OmniOscillatorOptions } from "./OscillatorInterface";
27
+ export { OmniOscillatorOptions } from "./OscillatorInterface.js";
20
28
 
21
29
  /**
22
30
  * All of the oscillator types that OmniOscillator can take on
23
31
  */
24
- type AnyOscillator = Oscillator | PWMOscillator | PulseOscillator | FatOscillator | AMOscillator | FMOscillator;
32
+ type AnyOscillator =
33
+ | Oscillator
34
+ | PWMOscillator
35
+ | PulseOscillator
36
+ | FatOscillator
37
+ | AMOscillator
38
+ | FMOscillator;
25
39
 
26
40
  /**
27
41
  * All of the Oscillator constructor types mapped to their name.
28
42
  */
29
43
  interface OmniOscillatorSource {
30
- "fm": FMOscillator;
31
- "am": AMOscillator;
32
- "pwm": PWMOscillator;
33
- "pulse": PulseOscillator;
34
- "oscillator": Oscillator;
35
- "fat": FatOscillator;
44
+ fm: FMOscillator;
45
+ am: AMOscillator;
46
+ pwm: PWMOscillator;
47
+ pulse: PulseOscillator;
48
+ oscillator: Oscillator;
49
+ fat: FatOscillator;
36
50
  }
37
51
 
38
52
  /**
@@ -41,16 +55,22 @@ interface OmniOscillatorSource {
41
55
  export type OmniOscSourceType = keyof OmniOscillatorSource;
42
56
 
43
57
  // Conditional Types
44
- type IsAmOrFmOscillator<Osc, Ret> = Osc extends AMOscillator ? Ret : Osc extends FMOscillator ? Ret : undefined;
58
+ type IsAmOrFmOscillator<Osc, Ret> = Osc extends AMOscillator
59
+ ? Ret
60
+ : Osc extends FMOscillator
61
+ ? Ret
62
+ : undefined;
45
63
  type IsFatOscillator<Osc, Ret> = Osc extends FatOscillator ? Ret : undefined;
46
64
  type IsPWMOscillator<Osc, Ret> = Osc extends PWMOscillator ? Ret : undefined;
47
- type IsPulseOscillator<Osc, Ret> = Osc extends PulseOscillator ? Ret : undefined;
65
+ type IsPulseOscillator<Osc, Ret> = Osc extends PulseOscillator
66
+ ? Ret
67
+ : undefined;
48
68
  type IsFMOscillator<Osc, Ret> = Osc extends FMOscillator ? Ret : undefined;
49
69
 
50
70
  type AnyOscillatorConstructor = new (...args: any[]) => AnyOscillator;
51
71
 
52
72
  const OmniOscillatorSourceMap: {
53
- [key in OmniOscSourceType]: AnyOscillatorConstructor
73
+ [key in OmniOscSourceType]: AnyOscillatorConstructor;
54
74
  } = {
55
75
  am: AMOscillator,
56
76
  fat: FatOscillator,
@@ -61,7 +81,7 @@ const OmniOscillatorSourceMap: {
61
81
  };
62
82
 
63
83
  /**
64
- * OmniOscillator aggregates all of the oscillator types into one.
84
+ * OmniOscillator aggregates all of the oscillator types into one.
65
85
  * @example
66
86
  * return Tone.Offline(() => {
67
87
  * const omniOsc = new Tone.OmniOscillator("C#4", "pwm").toDestination().start();
@@ -70,8 +90,8 @@ const OmniOscillatorSourceMap: {
70
90
  */
71
91
  export class OmniOscillator<OscType extends AnyOscillator>
72
92
  extends Source<OmniOscillatorOptions>
73
- implements Omit<ToneOscillatorInterface, "type"> {
74
-
93
+ implements Omit<ToneOscillatorInterface, "type">
94
+ {
75
95
  readonly name: string = "OmniOscillator";
76
96
 
77
97
  readonly frequency: Signal<"frequency">;
@@ -94,9 +114,17 @@ export class OmniOscillator<OscType extends AnyOscillator>
94
114
  constructor(frequency?: Frequency, type?: OmniOscillatorType);
95
115
  constructor(options?: Partial<OmniOscillatorOptions>);
96
116
  constructor() {
97
-
98
- super(optionsFromArguments(OmniOscillator.getDefaults(), arguments, ["frequency", "type"]));
99
- const options = optionsFromArguments(OmniOscillator.getDefaults(), arguments, ["frequency", "type"]);
117
+ super(
118
+ optionsFromArguments(OmniOscillator.getDefaults(), arguments, [
119
+ "frequency",
120
+ "type",
121
+ ])
122
+ );
123
+ const options = optionsFromArguments(
124
+ OmniOscillator.getDefaults(),
125
+ arguments,
126
+ ["frequency", "type"]
127
+ );
100
128
 
101
129
  this.frequency = new Signal({
102
130
  context: this.context,
@@ -121,7 +149,7 @@ export class OmniOscillator<OscType extends AnyOscillator>
121
149
  AMOscillator.getDefaults(),
122
150
  FatOscillator.getDefaults(),
123
151
  PulseOscillator.getDefaults(),
124
- PWMOscillator.getDefaults(),
152
+ PWMOscillator.getDefaults()
125
153
  );
126
154
  }
127
155
 
@@ -149,7 +177,7 @@ export class OmniOscillator<OscType extends AnyOscillator>
149
177
  * prefix the basic types with "fm", "am", or "fat" to use the FMOscillator, AMOscillator or FatOscillator
150
178
  * types. The oscillator could also be set to "pwm" or "pulse". All of the parameters of the
151
179
  * oscillator's class are accessible when the oscillator is set to that type, but throws an error
152
- * when it's not.
180
+ * when it's not.
153
181
  * @example
154
182
  * const omniOsc = new Tone.OmniOscillator().toDestination().start();
155
183
  * omniOsc.type = "pwm";
@@ -159,10 +187,10 @@ export class OmniOscillator<OscType extends AnyOscillator>
159
187
  */
160
188
  get type(): OmniOscillatorType {
161
189
  let prefix = "";
162
- if (["am", "fm", "fat"].some(p => this._sourceType === p)) {
190
+ if (["am", "fm", "fat"].some((p) => this._sourceType === p)) {
163
191
  prefix = this._sourceType;
164
192
  }
165
- return prefix + this._oscillator.type as OmniOscillatorType;
193
+ return (prefix + this._oscillator.type) as OmniOscillatorType;
166
194
  }
167
195
  set type(type) {
168
196
  if (type.substr(0, 2) === "fm") {
@@ -185,7 +213,7 @@ export class OmniOscillator<OscType extends AnyOscillator>
185
213
  } else {
186
214
  this._createNewOscillator("oscillator");
187
215
  this._oscillator = this._oscillator as Oscillator;
188
- this._oscillator.type = (type as ToneOscillatorType);
216
+ this._oscillator.type = type as ToneOscillatorType;
189
217
  }
190
218
  }
191
219
 
@@ -198,7 +226,10 @@ export class OmniOscillator<OscType extends AnyOscillator>
198
226
  return this._oscillator.partials;
199
227
  }
200
228
  set partials(partials) {
201
- if (!this._getOscType(this._oscillator, "pulse") && !this._getOscType(this._oscillator, "pwm")) {
229
+ if (
230
+ !this._getOscType(this._oscillator, "pulse") &&
231
+ !this._getOscType(this._oscillator, "pwm")
232
+ ) {
202
233
  this._oscillator.partials = partials;
203
234
  }
204
235
  }
@@ -207,7 +238,10 @@ export class OmniOscillator<OscType extends AnyOscillator>
207
238
  return this._oscillator.partialCount;
208
239
  }
209
240
  set partialCount(partialCount) {
210
- if (!this._getOscType(this._oscillator, "pulse") && !this._getOscType(this._oscillator, "pwm")) {
241
+ if (
242
+ !this._getOscType(this._oscillator, "pulse") &&
243
+ !this._getOscType(this._oscillator, "pwm")
244
+ ) {
211
245
  this._oscillator.partialCount = partialCount;
212
246
  }
213
247
  }
@@ -269,17 +303,20 @@ export class OmniOscillator<OscType extends AnyOscillator>
269
303
  set sourceType(sType) {
270
304
  // the basetype defaults to sine
271
305
  let baseType = "sine";
272
- if (this._oscillator.type !== "pwm" && this._oscillator.type !== "pulse") {
306
+ if (
307
+ this._oscillator.type !== "pwm" &&
308
+ this._oscillator.type !== "pulse"
309
+ ) {
273
310
  baseType = this._oscillator.type;
274
311
  }
275
312
 
276
313
  // set the type
277
314
  if (sType === "fm") {
278
- this.type = "fm" + baseType as OmniOscillatorType;
315
+ this.type = ("fm" + baseType) as OmniOscillatorType;
279
316
  } else if (sType === "am") {
280
- this.type = "am" + baseType as OmniOscillatorType;
317
+ this.type = ("am" + baseType) as OmniOscillatorType;
281
318
  } else if (sType === "fat") {
282
- this.type = "fat" + baseType as OmniOscillatorType;
319
+ this.type = ("fat" + baseType) as OmniOscillatorType;
283
320
  } else if (sType === "oscillator") {
284
321
  this.type = baseType as OmniOscillatorType;
285
322
  } else if (sType === "pulse") {
@@ -291,13 +328,13 @@ export class OmniOscillator<OscType extends AnyOscillator>
291
328
 
292
329
  private _getOscType<SourceType extends OmniOscSourceType>(
293
330
  osc: AnyOscillator,
294
- sourceType: SourceType,
331
+ sourceType: SourceType
295
332
  ): osc is OmniOscillatorSource[SourceType] {
296
333
  return osc instanceof OmniOscillatorSourceMap[sourceType];
297
334
  }
298
335
 
299
336
  /**
300
- * The base type of the oscillator.
337
+ * The base type of the oscillator.
301
338
  * @see {@link Oscillator.baseType}
302
339
  * @example
303
340
  * const omniOsc = new Tone.OmniOscillator(440, "fmsquare4");
@@ -307,9 +344,12 @@ export class OmniOscillator<OscType extends AnyOscillator>
307
344
  return this._oscillator.baseType;
308
345
  }
309
346
  set baseType(baseType) {
310
- if (!this._getOscType(this._oscillator, "pulse") &&
347
+ if (
348
+ !this._getOscType(this._oscillator, "pulse") &&
311
349
  !this._getOscType(this._oscillator, "pwm") &&
312
- baseType !== "pulse" && baseType !== "pwm") {
350
+ baseType !== "pulse" &&
351
+ baseType !== "pwm"
352
+ ) {
313
353
  this._oscillator.baseType = baseType;
314
354
  }
315
355
  }
@@ -320,9 +360,15 @@ export class OmniOscillator<OscType extends AnyOscillator>
320
360
  */
321
361
  get width(): IsPulseOscillator<OscType, Signal<"audioRange">> {
322
362
  if (this._getOscType(this._oscillator, "pulse")) {
323
- return this._oscillator.width as IsPulseOscillator<OscType, Signal<"audioRange">>;
363
+ return this._oscillator.width as IsPulseOscillator<
364
+ OscType,
365
+ Signal<"audioRange">
366
+ >;
324
367
  } else {
325
- return undefined as IsPulseOscillator<OscType, Signal<"audioRange">>;
368
+ return undefined as IsPulseOscillator<
369
+ OscType,
370
+ Signal<"audioRange">
371
+ >;
326
372
  }
327
373
  }
328
374
 
@@ -361,18 +407,28 @@ export class OmniOscillator<OscType extends AnyOscillator>
361
407
  }
362
408
 
363
409
  /**
364
- * The type of the modulator oscillator. Only if the oscillator is set to "am" or "fm" types.
410
+ * The type of the modulator oscillator. Only if the oscillator is set to "am" or "fm" types.
365
411
  * @see {@link AMOscillator} or {@link FMOscillator}
366
412
  */
367
413
  get modulationType(): IsAmOrFmOscillator<OscType, ToneOscillatorType> {
368
- if (this._getOscType(this._oscillator, "fm") || this._getOscType(this._oscillator, "am")) {
369
- return this._oscillator.modulationType as IsAmOrFmOscillator<OscType, ToneOscillatorType>;
414
+ if (
415
+ this._getOscType(this._oscillator, "fm") ||
416
+ this._getOscType(this._oscillator, "am")
417
+ ) {
418
+ return this._oscillator.modulationType as IsAmOrFmOscillator<
419
+ OscType,
420
+ ToneOscillatorType
421
+ >;
370
422
  } else {
371
423
  return undefined as IsAmOrFmOscillator<OscType, ToneOscillatorType>;
372
424
  }
373
425
  }
374
426
  set modulationType(mType) {
375
- if ((this._getOscType(this._oscillator, "fm") || this._getOscType(this._oscillator, "am")) && isString(mType)) {
427
+ if (
428
+ (this._getOscType(this._oscillator, "fm") ||
429
+ this._getOscType(this._oscillator, "am")) &&
430
+ isString(mType)
431
+ ) {
376
432
  this._oscillator.modulationType = mType;
377
433
  }
378
434
  }
@@ -383,7 +439,10 @@ export class OmniOscillator<OscType extends AnyOscillator>
383
439
  */
384
440
  get modulationIndex(): IsFMOscillator<OscType, Signal<"positive">> {
385
441
  if (this._getOscType(this._oscillator, "fm")) {
386
- return this._oscillator.modulationIndex as IsFMOscillator<OscType, Signal<"positive">>;
442
+ return this._oscillator.modulationIndex as IsFMOscillator<
443
+ OscType,
444
+ Signal<"positive">
445
+ >;
387
446
  } else {
388
447
  return undefined as IsFMOscillator<OscType, Signal<"positive">>;
389
448
  }
@@ -394,8 +453,14 @@ export class OmniOscillator<OscType extends AnyOscillator>
394
453
  * @see {@link AMOscillator} or {@link FMOscillator}
395
454
  */
396
455
  get harmonicity(): IsAmOrFmOscillator<OscType, Signal<"positive">> {
397
- if (this._getOscType(this._oscillator, "fm") || this._getOscType(this._oscillator, "am")) {
398
- return this._oscillator.harmonicity as IsAmOrFmOscillator<OscType, Signal<"positive">>;
456
+ if (
457
+ this._getOscType(this._oscillator, "fm") ||
458
+ this._getOscType(this._oscillator, "am")
459
+ ) {
460
+ return this._oscillator.harmonicity as IsAmOrFmOscillator<
461
+ OscType,
462
+ Signal<"positive">
463
+ >;
399
464
  } else {
400
465
  return undefined as IsAmOrFmOscillator<OscType, Signal<"positive">>;
401
466
  }
@@ -409,7 +474,10 @@ export class OmniOscillator<OscType extends AnyOscillator>
409
474
  */
410
475
  get modulationFrequency(): IsPWMOscillator<OscType, Signal<"frequency">> {
411
476
  if (this._getOscType(this._oscillator, "pwm")) {
412
- return this._oscillator.modulationFrequency as IsPWMOscillator<OscType, Signal<"frequency">>;
477
+ return this._oscillator.modulationFrequency as IsPWMOscillator<
478
+ OscType,
479
+ Signal<"frequency">
480
+ >;
413
481
  } else {
414
482
  return undefined as IsPWMOscillator<OscType, Signal<"frequency">>;
415
483
  }
@@ -1,30 +1,32 @@
1
1
  import { expect } from "chai";
2
- import { BasicTests } from "test/helper/Basic";
3
- import { CompareToFile } from "test/helper/CompareToFile";
4
- import { Offline } from "test/helper/Offline";
5
- import { OscillatorTests } from "test/helper/OscillatorTests";
6
- import { OutputAudio } from "test/helper/OutputAudio";
7
- import { SourceTests } from "test/helper/SourceTests";
8
- import { Oscillator } from "./Oscillator";
9
- import { ToneOscillatorType } from "./OscillatorInterface";
2
+ import { BasicTests } from "../../../test/helper/Basic.js";
3
+ import { CompareToFile } from "../../../test/helper/CompareToFile.js";
4
+ import { Offline } from "../../../test/helper/Offline.js";
5
+ import { OscillatorTests } from "../../../test/helper/OscillatorTests.js";
6
+ import { OutputAudio } from "../../../test/helper/OutputAudio.js";
7
+ import { SourceTests } from "../../../test/helper/SourceTests.js";
8
+ import { Oscillator } from "./Oscillator.js";
9
+ import { ToneOscillatorType } from "./OscillatorInterface.js";
10
10
 
11
11
  describe("Oscillator", () => {
12
-
13
12
  // run the common tests
14
13
  BasicTests(Oscillator);
15
14
  SourceTests(Oscillator);
16
15
  OscillatorTests(Oscillator);
17
16
 
18
17
  it("matches a file", () => {
19
- return CompareToFile(() => {
20
- const osc = new Oscillator().toDestination();
21
- osc.type = "square";
22
- osc.start(0).stop(0.2);
23
- }, "oscillator.wav", 0.1);
18
+ return CompareToFile(
19
+ () => {
20
+ const osc = new Oscillator().toDestination();
21
+ osc.type = "square";
22
+ osc.start(0).stop(0.2);
23
+ },
24
+ "oscillator.wav",
25
+ 0.1
26
+ );
24
27
  });
25
28
 
26
29
  context("Get/Set", () => {
27
-
28
30
  it("can be set with an options object", () => {
29
31
  const osc = new Oscillator();
30
32
  osc.set({
@@ -92,11 +94,9 @@ describe("Oscillator", () => {
92
94
  }
93
95
  osc.dispose();
94
96
  });
95
-
96
97
  });
97
98
 
98
99
  context("Type", () => {
99
-
100
100
  it("can get and set the type", () => {
101
101
  const osc = new Oscillator({
102
102
  type: "sawtooth",
@@ -115,7 +115,12 @@ describe("Oscillator", () => {
115
115
 
116
116
  it("handles 4 basic types", () => {
117
117
  const osc = new Oscillator();
118
- const types: ToneOscillatorType[] = ["triangle", "sawtooth", "sine", "square"];
118
+ const types: ToneOscillatorType[] = [
119
+ "triangle",
120
+ "sawtooth",
121
+ "sine",
122
+ "square",
123
+ ];
119
124
  for (const type of types) {
120
125
  osc.type = type;
121
126
  expect(osc.type).to.equal(type);
@@ -161,7 +166,6 @@ describe("Oscillator", () => {
161
166
  });
162
167
 
163
168
  context("Partials", () => {
164
-
165
169
  it("can pass partials in the constructor", () => {
166
170
  const osc = new Oscillator({
167
171
  partials: [1, 0.3, 0.3],
@@ -218,7 +222,6 @@ describe("Oscillator", () => {
218
222
  expect(osc.type).to.equal("sine4");
219
223
  osc.dispose();
220
224
  });
221
-
222
225
  });
223
226
 
224
227
  context("Synchronization", () => {
@@ -274,5 +277,4 @@ describe("Oscillator", () => {
274
277
  osc.dispose();
275
278
  });
276
279
  });
277
-
278
280
  });