Commit graph

2912 commits

Author SHA1 Message Date
Yotam Mann
daae4aef7c ensure start is not scheduled twice at the same time
subsequent start times must be greater than the previous time

fixes #594
2019-12-19 17:13:05 -05:00
Yotam Mann
fbf4345de4 removing debugging code 2019-12-18 18:03:11 -05:00
Yotam Mann
d22747cc69 Adding more range guards 2019-12-17 12:42:40 -05:00
Yotam Mann
32fa0f3eba values can be nested arrays of the generic type 2019-12-17 11:58:45 -05:00
Yotam Mann
ef52e20a1b updating comment 2019-12-17 11:57:02 -05:00
Yotam Mann
25eb6fce40 removing unused vars 2019-12-17 11:56:56 -05:00
Yotam Mann
abcb3bec5c removing out of range value 2019-12-17 11:38:43 -05:00
Yotam Mann
48284d78fb adding decorators which validate the input value range 2019-12-16 17:13:03 -05:00
Yotam Mann
2b0c2a64f1 values out of range throw an error
used to fail silently
2019-12-16 17:12:19 -05:00
Yotam Mann
fc84ec281b adding clamp function 2019-12-16 16:50:07 -05:00
Yotam Mann
51d06bd987 feat: Removing Ctrl classes
breaking changes: Removing CtrlInterpolate, CtrlRandom, CtrlMarkov.
2019-12-16 16:42:40 -05:00
Yotam Mann
389ccf8722 using assert instead of this.assert
removing this.assert from Tone.js classes
2019-12-16 15:58:31 -05:00
Yotam Mann
1255bc6766 feat: Meter can do multichannel analysis
pass in `channels` > 1 into constructor
2019-12-15 16:43:41 -05:00
Yotam Mann
d9a7520eb6 feat: Analyser can handle multiple channels
Can pass in `channels` into constructor which runs a separate analysis on each channel and returns the results as a Float32Array[].
2019-12-15 16:42:50 -05:00
Yotam Mann
6d0e17d3d2 adding the category 2019-12-15 16:02:29 -05:00
Yotam Mann
93fdb9c0f2 documenting output type 2019-12-15 16:02:19 -05:00
Yotam Mann
2625a134b6 feat: meter output can be normalRange in addition to decibels 2019-12-15 16:01:19 -05:00
Yotam Mann
ed93e677a9 setting minValue for harmonicity 2019-12-15 02:19:25 -05:00
Yotam Mann
caf58ffe0b throws error when set outside of range 2019-12-15 02:19:12 -05:00
Yotam Mann
f3022bbb35 not necessary to set frequency in constructor 2019-12-15 02:18:13 -05:00
Yotam Mann
192b749b85 Gain can also have min/max range 2019-12-14 17:27:54 -05:00
Yotam Mann
72d7f37509 removing unused variable 2019-12-14 17:07:13 -05:00
Yotam Mann
a2d5c3d634 adding the intial state at time 0 2019-12-14 16:11:56 -05:00
Yotam Mann
ef0aaec8ee Refactor source
adding `_restart` is an internal protected abstract method for all sources.
2019-12-14 16:09:24 -05:00
Yotam Mann
e709203656 Reverb decay should be at least 1ms 2019-12-14 12:34:44 -05:00
Yotam Mann
276af87a6d decay needs to be at least 1 sample long 2019-12-14 12:33:49 -05:00
Yotam Mann
267f1befc0 Simplifying Freeverb dispose 2019-12-14 11:53:12 -05:00
Yotam Mann
dedfe18ac2 open returns this
closes #589
2019-12-13 11:25:28 -05:00
Yotam Mann
f20fdce3a6 making paths relative 2019-12-11 10:35:01 -05:00
Yotam Mann
8eed7bd6ce adding range guards to reverb 2019-12-11 10:13:52 -05:00
Yotam Mann
fce95bea6e feat: clamp the values to the defined min/maxValue 2019-12-11 10:11:40 -05:00
Yotam Mann
61cfd3ab8c make sure that maxDelay is readonly 2019-12-10 23:34:12 -05:00
Yotam Mann
cf8965f921 fixing case where buffer is not set
previously would prefix "/"
2019-12-09 17:43:58 -05:00
Yotam Mann
409fb929af skipping isSilent test 2019-12-06 18:00:26 -05:00
Yotam Mann
d4f47b7cd8 removing unused vars 2019-12-06 17:29:06 -05:00
Yotam Mann
2295ce674e whoops: made it so it only funs one test 2019-12-06 17:23:02 -05:00
Yotam Mann
9f51cb5293 exporting BaseContext 2019-12-06 17:13:22 -05:00
Yotam Mann
c66f2d5e89 feat: ramps must be at least 1 sample long
otherwise just uses a setValueAtTime
2019-12-06 16:38:35 -05:00
Yotam Mann
8a508f2405 feat: Reverb generate is automatically called when decay or preDelay values are changed
`ready` promise resoves when reverb values have been updated.
2019-12-06 16:37:40 -05:00
Yotam Mann
8540c44459 needs to set detune outside of signal being overridden 2019-12-06 14:10:33 -05:00
Yotam Mann
660915680a feat: when the signal is overridden it should not schedule any change in values
fixes #585
2019-12-06 12:55:30 -05:00
Yotam Mann
e955846bb2 moving docs from #584 to typescript 2019-12-04 10:52:40 -05:00
Yotam Mann
b1c5a3c8c7 docs: fixing example 2019-11-22 15:46:46 -05:00
Yotam Mann
ba311dbe7b putting settings into constructor object
slight optimization over setting them all individually
2019-11-22 13:26:16 -05:00
Yotam Mann
0f8a282dfa fixing stereo widener 2019-11-22 13:25:50 -05:00
Yotam Mann
fef7bde5a5 rounding up the number of voices it keeps 2019-11-22 11:19:03 -05:00
Yotam Mann
c80f8a89f9 optimization: also storing the wave
turns out that the call to `createPeriodicWave` is the most expensive part.
2019-11-22 11:18:49 -05:00
Yotam Mann
94de75c1b4 no need to guard against the part being undefined now 2019-11-21 13:19:44 -05:00
Yotam Mann
15d5580cb3 schedule all the events at the end of the constructor 2019-11-21 13:19:03 -05:00
Yotam Mann
11f7c2207a test the initial state 2019-11-21 11:08:22 -05:00
Yotam Mann
16d71718dd removing case that can't happen
there is an event added in the constructor at time 0 and the time can't be less than 0
2019-11-21 11:04:38 -05:00
Yotam Mann
8bb53b3eb1 state time can't be less than 0 2019-11-21 11:04:00 -05:00
Yotam Mann
4d90c9cba8 test: adding coverage tests
should return undefined when not open
2019-11-21 10:58:04 -05:00
Yotam Mann
754e853cc2 make sure the playbackRate is never 0 2019-11-21 10:56:53 -05:00
Yotam Mann
505ee32780 removing skipped test 2019-11-21 10:49:34 -05:00
Yotam Mann
ea9b1bf6c7 testing range only if the buffer is loaded 2019-11-19 15:53:54 -05:00
Yotam Mann
28349e1868 test the range of the loopStart and loopEnd values 2019-11-19 15:44:44 -05:00
Yotam Mann
548c814a9a make sure the panner stays in the specific range 2019-11-19 15:44:34 -05:00
Yotam Mann
cfdb5a42c8 throw an error if the time is not increasing 2019-11-18 15:18:02 -05:00
Yotam Mann
e0248afb1c using floating point comparisons 2019-11-18 15:16:04 -05:00
Yotam Mann
abee380fc2 reverse works at different sampling rates 2019-11-18 15:11:57 -05:00
Yotam Mann
b00853dc58 make sure time scheduling is always increasing in time 2019-11-18 14:52:53 -05:00
Yotam Mann
e055abf172 fixing test to work at different sample rates 2019-11-18 14:52:00 -05:00
Yotam Mann
091fe6bf01 Make sure events are scheduling in increasing time order
addresses #581
2019-11-18 14:51:43 -05:00
Yotam Mann
25004d2b2f fixing typo, and cancelling events before next one is added 2019-11-18 14:48:24 -05:00
Yotam Mann
09dc29191b linting 2019-11-17 13:09:19 -05:00
Yotam Mann
8ec69d42de make sure there is a slash between the baseurl and the url 2019-11-17 11:33:45 -05:00
Yotam Mann
482a9a8d6e docs: correcting description 2019-11-17 11:09:42 -05:00
Yotam Mann
429b0898f1 fixing options 2019-11-16 19:07:47 -05:00
Yotam Mann
5220c373e4 simplifying the example slightly 2019-11-16 17:13:26 -05:00
Yotam Mann
67f483fc72 removing EqualPowerGain and Modulo
BREAKING CHANGE: Removing EqualPowerGain and Modulo. Neither of those classes are used internally anymore.
2019-11-16 16:44:16 -05:00
Yotam Mann
e745259222 exporting loaded promise from ToneAudioBuffer 2019-11-16 16:42:19 -05:00
Yotam Mann
519b7ca6a8 updating TransportTimelineSignal name 2019-11-16 16:36:51 -05:00
Yotam Mann
86853fbd10 feat: Renaming TransportTimelineSignal to SyncedSignal
BREAKING CHANGE: TransportTimelineSignal is now called SyncedSignal
2019-11-14 17:04:07 -05:00
Yotam Mann
0997823e24 converting TransportTimelineSignal to typescript 2019-11-14 16:55:25 -05:00
Yotam Mann
fdca6ef57d removing comment 2019-11-14 16:26:47 -05:00
Yotam Mann
b1b85206f4 updating name string 2019-11-14 13:21:41 -05:00
Yotam Mann
4b0827bf43 removing old js file 2019-11-14 12:34:15 -05:00
Yotam Mann
76b8e84ae4 testing that toString() returns the class name 2019-11-14 12:30:17 -05:00
Yotam Mann
3fb5ca8727 toMaster() -> toDestination() 2019-11-14 12:29:53 -05:00
Yotam Mann
5fd8009c87 correcting ToneAudioNode's name 2019-11-14 12:21:58 -05:00
Yotam Mann
3c97ecebe9 removing unused imports 2019-11-14 12:15:47 -05:00
Yotam Mann
6ed67a5d0a exporting dynamics components 2019-11-14 12:13:30 -05:00
Yotam Mann
19ff72ab5c converting MultibandCompressor to typescript 2019-11-14 12:13:09 -05:00
Yotam Mann
fd86348124 exporting options 2019-11-14 12:12:52 -05:00
Yotam Mann
c82254169d converting MideSideCompressor to typescript 2019-11-14 11:38:43 -05:00
Yotam Mann
dedf7daef1 making paths relative 2019-11-14 11:23:22 -05:00
Yotam Mann
8a42d7b4d6 updating reduction return type 2019-11-14 11:23:07 -05:00
Yotam Mann
b4544acd1e converting Limiter to typescript 2019-11-14 11:23:00 -05:00
Yotam Mann
c2b25875e8 making paths relative 2019-11-14 11:14:54 -05:00
Yotam Mann
aa8d4b7237 fixing comment error 2019-11-14 11:07:33 -05:00
Yotam Mann
072e29f72f Delete ScaleExp.js 2019-11-14 11:06:51 -05:00
Yotam Mann
f6f8a3a034 converting Gate to typescript 2019-11-14 11:04:36 -05:00
Yotam Mann
3246f90454 exporting GreaterThan and GreaterThanZero 2019-11-13 19:35:05 -05:00
Yotam Mann
84df049ebd exporting options from SignalOperator 2019-11-13 19:34:55 -05:00
Yotam Mann
269cffa35c converting GreaterThan to typescript 2019-11-13 19:34:38 -05:00
Yotam Mann
0a48640a95 converting GreaterThanZero to typescript 2019-11-13 19:01:47 -05:00
Yotam Mann
cc7f428a84 adding latencyHint to BaseContext 2019-11-13 14:16:20 -05:00
Yotam Mann
d3951ce16c don't restart unless state === 'started'
fixes #480
2019-11-13 14:09:13 -05:00
Yotam Mann
340fb77561 wait for next tick before setting the ticks
fixes #573
2019-11-13 13:19:47 -05:00
Yotam Mann
60e4f7231b removing unused import 2019-11-13 13:16:35 -05:00
Yotam Mann
e768191a9b adding note on flanging 2019-11-13 13:05:04 -05:00
Yotam Mann
fa2b7431e3 alphabetizing output 2019-11-13 13:01:00 -05:00
Yotam Mann
a28f1af610 feat: Chorus extends StereoFeedbackEffect
This makes it possible to do flanger-type effects.

fixes #575
2019-11-13 12:58:37 -05:00
Yotam Mann
94ab93935c annotating type 2019-11-12 23:59:41 -05:00
Yotam Mann
c4153edc30 assert the context is running 2019-11-12 16:55:30 -05:00
Yotam Mann
48c3a98749 more consistent whitespacing 2019-11-12 16:54:09 -05:00
Yotam Mann
eb1427a17e updating whitespace 2019-11-12 16:33:54 -05:00
Yotam Mann
589ab74b11 don't need to check if state is null any longer 2019-11-12 15:10:22 -05:00
Yotam Mann
6623b5b4ea simplifying math a little 2019-11-12 14:12:22 -05:00
Yotam Mann
b6cbd31a78 updating test to pass in context 2019-11-11 16:04:38 -05:00
Yotam Mann
b68808ca6b using GrainPlayer to test 2019-11-11 15:41:01 -05:00
Yotam Mann
522e3a0670 only test if it's in fact suspended 2019-11-11 15:17:48 -05:00
Yotam Mann
95030de548 always return true 2019-11-11 13:55:16 -05:00
Yotam Mann
76cb4fa7f9 optimizing feedback comb filter processing
addresses #571
2019-11-11 13:52:19 -05:00
Yotam Mann
60b13c9976 using global currentFrame instead of maintaining local variable 2019-11-11 12:33:08 -05:00
Yotam Mann
34d55d12ae warning if start is invoked before AudioContext is running
addresses #572
2019-11-11 11:44:16 -05:00
Yotam Mann
9136836da0 assertContextRunning
help with autoplay issues by warning when AudioContext is not running
2019-11-11 11:43:43 -05:00
Yotam Mann
41d4b4a0df More explanation on immediate vs now
addresses #570
2019-11-10 23:20:23 -05:00
Yotam Mann
ce07d2a081 looping sync example 2019-11-08 14:40:39 -05:00
Yotam Mann
50a9e0dc4d updating example 2019-11-08 13:14:21 -05:00
Yotam Mann
933f019cb3 updating example 2019-11-08 13:08:38 -05:00
Yotam Mann
7910957312 reverb uses OfflineContext instead of Offline
fixes #569
2019-11-08 12:34:22 -05:00
Yotam Mann
2ae5d69f4e adding onprocessorerror property to notify when errors have occured in processing 2019-11-07 16:56:56 -05:00
Yotam Mann
e820ae76ed testing the dummy context interface
tests just for coverage
2019-11-07 16:04:43 -05:00
Yotam Mann
6842d48ce7 don't export BaseContext
since probably not necessary in the final output
2019-11-07 16:04:32 -05:00
Yotam Mann
a08ee7e4d7 don't need to export tone 2019-11-07 15:44:33 -05:00
Yotam Mann
0ca7055687 exporting the version 2019-11-07 15:43:46 -05:00
Yotam Mann
a3a2da9da5 Merge branch 'pr/567' into typescript 2019-11-07 14:50:54 -05:00
Yotam Mann
59d8c37d49 fixing doctype
issue with rendering javascript comments
2019-11-07 14:47:15 -05:00
Yotam Mann
eef8d0f620 exporting pattern 2019-11-07 14:39:44 -05:00
Yotam Mann
93eab5e6a3 converting Pattern to typescript 2019-11-07 14:39:28 -05:00
Yotam Mann
e24f12c4a9 updating typing 2019-11-07 12:04:10 -05:00
Jack Anderson
3354b24527 Create BaseContext + better DummyContext
- this creates a new abstract BaseContext that DummyContext and Context
inherit from
- All methods available to Context are now stubbed by DummyContext
- BaseContext is now used as the type where Context was originally used
2019-11-06 14:32:19 -08:00
Yotam Mann
974ee57353 exporting new effects 2019-11-04 22:29:21 -05:00
Yotam Mann
c9f7ac47b1 adding categories 2019-11-04 22:29:14 -05:00
Yotam Mann
c05aee48a6 converting PitchShift to typescript 2019-11-04 22:28:51 -05:00
Yotam Mann
e4d0fae5a6 removing old js files 2019-11-04 19:09:23 -05:00
Yotam Mann
715165cba5 StereoXFeedbackEffect extends StereoFeedbackEffect 2019-11-04 19:09:13 -05:00
Yotam Mann
6eea18b1b8 updating docs 2019-11-04 18:59:46 -05:00
Yotam Mann
caf7b4bd19 converting PingPongDelay to typescript 2019-11-04 18:59:32 -05:00
Yotam Mann
fd3a52a54b removing duplicate example 2019-11-04 17:49:59 -05:00
Yotam Mann
8ec41dd200 updating example 2019-11-04 17:49:50 -05:00
Yotam Mann
1d334f9a80 converting vibrato to typescript 2019-11-03 22:44:49 -05:00
Yotam Mann
1738307e8a using .wav instead of .mp3 2019-11-03 22:43:19 -05:00
Yotam Mann
ae2ec70d23 updating example 2019-11-03 22:23:56 -05:00
Yotam Mann
14883653b6 making paths relative 2019-11-03 22:23:50 -05:00
Yotam Mann
d17607786d adjusting threshold 2019-11-03 22:20:07 -05:00
Yotam Mann
28bf547959 updating example 2019-11-03 22:19:42 -05:00
Yotam Mann
2e8e52ac2e adding compare to file test 2019-11-03 22:19:33 -05:00