Commit graph

3115 commits

Author SHA1 Message Date
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
Yotam Mann
831cd2bca7 adjusting threshold 2019-11-03 22:17:59 -05:00
Yotam Mann
c035c4a73f remove old js files 2019-11-03 22:17:21 -05:00
Yotam Mann
61ab898c17 converting Phaser to typescript 2019-11-03 22:17:00 -05:00
Yotam Mann
357f41cd3d exporting new effects 2019-11-03 21:44:32 -05:00
Yotam Mann
84e3e70339 updating example 2019-11-03 21:44:25 -05:00
Yotam Mann
701caf4c50 converting StereoWidener to typescript 2019-11-03 21:43:53 -05:00
Yotam Mann
148e70032f adding name 2019-11-03 21:43:01 -05:00
Yotam Mann
530c0dac23 using more generic class rathen than the specific type of input 2019-11-03 21:35:26 -05:00
Yotam Mann
0805e507ac making the iterations more es5 2019-11-03 20:34:01 -05:00
Yotam Mann
53ba14cbd6 converting JCReverb to typescript 2019-11-03 20:33:46 -05:00
Yotam Mann
020db86c72 removing old file 2019-11-03 18:36:56 -05:00
Yotam Mann
660abd87b8 working on example 2019-11-03 18:36:51 -05:00
Yotam Mann
55504012ac converting Freeverb to typescript 2019-11-03 18:35:17 -05:00
Yotam Mann
5c4146e162 each effect side can take any number of values 2019-11-03 18:34:57 -05:00
Yotam Mann
f4e66ce5c2 removing unused import 2019-11-03 18:10:30 -05:00
Yotam Mann
e3910e7978 removing unused import 2019-11-03 18:09:57 -05:00
Yotam Mann
ea2c1a4111 using MonoSynthOptions in constructor 2019-11-03 18:09:39 -05:00
Yotam Mann
de1f433c29 removing unused import 2019-11-03 18:08:31 -05:00
Yotam Mann
9d7937bbab updating test threshold 2019-11-03 18:08:24 -05:00
Yotam Mann
5552c16a05 removing old js files 2019-11-03 18:07:21 -05:00
Yotam Mann
252ae7b3e4 linking to monosynth 2019-11-03 18:07:13 -05:00
Yotam Mann
3d8a8a4897 fixing example 2019-11-03 18:07:03 -05:00
Yotam Mann
e437ebd846 updating DuoSynth so it passes tests
thanks @this-fifo!
2019-11-03 17:45:50 -05:00
Yotam Mann
59b9f5f6a8 adding recursive omit method 2019-11-03 17:42:51 -05:00
Yotam Mann
b2ebd6876d removing envelope as required by Monophonic
making getLevelAtTime abstract
2019-11-03 17:41:47 -05:00
Yotam Mann
a3acecb776 Merge branch 'pr/565' into typescript 2019-11-03 15:46:36 -05:00
Yotam Mann
cfb19e8334 using deep imports 2019-11-03 15:44:51 -05:00
Yotam Mann
332adefd0d removing unnecessary if 2019-11-03 11:41:03 -05:00
Yotam Mann
b9619d8c68 removing unused variables 2019-10-31 15:43:16 -04:00
Yotam Mann
7549764c38 removing old js files 2019-10-31 15:30:32 -04:00
Yotam Mann
802ce474c7 converting Chorus to ts 2019-10-31 15:29:48 -04:00
Yotam Mann
98aa79125b bind now and immediate to simplify code 2019-10-31 14:54:49 -04:00
Yotam Mann
d647c8b9c8 checking that the listener exists 2019-10-31 14:54:37 -04:00
Yotam Mann
410193d136 testing disconnecting from AudioParam 2019-10-31 14:50:08 -04:00
Yotam Mann
87a86a9071 no need for casting 2019-10-31 14:49:56 -04:00
Yotam Mann
54cac42925 adding some basic conversion tests 2019-10-31 14:45:06 -04:00
Yotam Mann
7ede333128 testing setting ticks 2019-10-31 14:44:59 -04:00
Yotam Mann
757cd380c8 using getStateAtTime when getting state 2019-10-31 14:44:22 -04:00
Yotam Mann
7d93094427 testing event emitters when scheduled event time is in the past 2019-10-31 14:44:01 -04:00
Yotam Mann
89e171b4a3 setting non-cached osc type after starting 2019-10-31 14:22:19 -04:00
Yotam Mann
91ae308e66 making sure that draw/transport/destination are disposed when the context is closed 2019-10-31 11:41:21 -04:00
Yotam Mann
4aedaeea77 setting exponent in test
for additional coverage
2019-10-31 09:56:09 -04:00
Filipe Herculano
779b4d68c5 update DuoSynth interface options to match class type and adjust object parameters 2019-10-30 19:22:24 -04:00
Yotam Mann
7bc2dc1f96 testing setting different global contexts 2019-10-30 19:18:01 -04:00
Yotam Mann
8d775f7233 verifying that UserMedia doesn't work in offline context 2019-10-30 18:59:55 -04:00
Yotam Mann
c5c8082d4e removing unused method 2019-10-30 18:59:38 -04:00
Yotam Mann
6ac43559b1 testing that destination exists before closing
forces the context to initialize
2019-10-30 18:59:32 -04:00
Yotam Mann
d4d403bffb testing closing edge case 2019-10-30 18:59:15 -04:00
Filipe Herculano
79dad22648 start converting DuoSynth to Typescript 2019-10-30 18:54:30 -04:00
Yotam Mann
546ec43151 updating example
changing updateInterval to be lookAhead/2 instead of 3
2019-10-30 18:05:28 -04:00
Yotam Mann
816294b9c0 refactoring fromContext 2019-10-30 14:49:02 -04:00
Yotam Mann
54faf744fd exporting context 2019-10-30 14:48:41 -04:00
Yotam Mann
a9c8927a52 some sanity checks on the final interface 2019-10-30 14:48:29 -04:00
Yotam Mann
d845a435b1 ScaledEnvelope is redundant with the FrequencyEnvelope
currently no use for it though might reintroduce it if it feels necessary down the road.
2019-10-30 13:22:53 -04:00
Yotam Mann
fc80ec1f8e fixing import paths 2019-10-30 13:13:32 -04:00
Yotam Mann
d56572c94c converting Tremolo to typescript 2019-10-30 13:13:26 -04:00
Yotam Mann
79d2c3d41b convert Chebyshev to typescript 2019-10-29 23:35:27 -04:00
Yotam Mann
8ce429e7ba removing js files 2019-10-29 23:14:38 -04:00
Yotam Mann
f5ea6be5d4 exporting AutoWah 2019-10-29 23:14:17 -04:00
Yotam Mann
3a40d841e3 adding category 2019-10-29 23:14:11 -04:00
Yotam Mann
f27df3a215 converting AutoWah to typescript 2019-10-29 23:14:03 -04:00
Yotam Mann
889cc8446b fixing docs 2019-10-29 23:13:28 -04:00
Yotam Mann
9d03004ec7 exponential scale class 2019-10-29 23:13:22 -04:00
Yotam Mann
affe2e75de adding categories 2019-10-29 23:12:51 -04:00
Yotam Mann
97cdc5bf07 adding comparison files 2019-10-29 18:18:04 -04:00
Yotam Mann
ad2c2ff651 less peaky settings 2019-10-29 18:09:20 -04:00
Yotam Mann
444b90ff92 alphabetizing 2019-10-29 18:09:10 -04:00
Yotam Mann
5dd6a2623b Merge branch 'pr/563' into typescript 2019-10-29 17:49:52 -04:00
Yotam Mann
95142f7e64 reducing the need to function twice in constructor 2019-10-29 17:49:40 -04:00
Yotam Mann
e67c9e1724 simplifying FreqEnvelope API slightly 2019-10-29 17:49:22 -04:00
Yotam Mann
73d3e59506 merging MonoSynth 2019-10-29 17:48:59 -04:00
Yotam Mann
bc08a1aea9 docs: adding more elaborate examples and explainations 2019-10-29 14:51:29 -04:00
Yotam Mann
1f298914fc removing old js files 2019-10-29 14:31:01 -04:00
Yotam Mann
aa56dc1727 more complex harmonicity example 2019-10-29 14:30:25 -04:00
Yotam Mann
a47a160d8e export immediate 2019-10-29 14:30:12 -04:00
Yotam Mann
559cdae1fb added immediate method 2019-10-29 14:29:52 -04:00
Yotam Mann
5baeddf451 updating examples 2019-10-28 21:28:53 -04:00
Yotam Mann
41897320a0 exporting FrequencyEnvelope 2019-10-28 21:28:41 -04:00
Yotam Mann
0767a52770 adding category 2019-10-28 21:28:33 -04:00
Yotam Mann
703f27a5ab feat: adding send/receive to Channel
Removing it from all ToneAudioNode's. Now it's just on the Channel Interface
2019-10-28 21:23:23 -04:00
Yotam Mann
28c078dcad converting Channel to ts 2019-10-28 20:59:54 -04:00
Yotam Mann
68a7bb03ec doc tweaks 2019-10-28 20:59:01 -04:00
Yotam Mann
d1fab1c089 converting MidSideMerge/Split to Typescript 2019-10-28 20:42:43 -04:00
Yotam Mann
6ea1ca0a18 converting BitCrusher to typescript
uses the AudioWorklet
2019-10-28 19:11:46 -04:00
Yotam Mann
3efba33604 removing old js file 2019-10-28 19:11:20 -04:00
Filipe Herculano
fdf6433e64 fix MonoSynth test using incorrect Offline helper 2019-10-28 18:24:56 -04:00
Filipe Herculano
22d5fb0ab9 convert MonoSynth to Typescript 2019-10-28 18:12:20 -04:00
Yotam Mann
c1dbb84f7d using relative paths 2019-10-28 17:53:51 -04:00
Yotam Mann
b66bc77910 removing old JS files 2019-10-28 17:50:38 -04:00
Yotam Mann
24a300756d converting AutoPanner to typescript 2019-10-28 17:50:31 -04:00
Yotam Mann
66f285bdf2 base class for LFO-based effects 2019-10-28 17:50:05 -04:00
Yotam Mann
b9bf3e2892 exporting AutoFilter 2019-10-28 17:32:27 -04:00
Yotam Mann
5eba7af64d interlinking docs 2019-10-28 17:31:39 -04:00
Yotam Mann
a0fd3f1cec updating example 2019-10-28 17:31:32 -04:00
Yotam Mann
a54bde11f3 adding category 2019-10-28 17:31:25 -04:00
Yotam Mann
ba7b9ec0e2 converting AutoFilter to typescript 2019-10-28 17:31:17 -04:00
Yotam Mann
304802d515 using different cancel methods depending on what is scheduled 2019-10-28 16:41:01 -04:00
Yotam Mann
fbd1e3c450 using floating point comparisons 2019-10-28 16:40:30 -04:00
Yotam Mann
51af0138fc adding AMSynth to polysynth options 2019-10-28 15:12:02 -04:00
Yotam Mann
cd37884156 removing unused deps 2019-10-28 15:11:42 -04:00
Yotam Mann
5424c05eb2 AM and FM Synth inherit from ModulationSynth base class 2019-10-28 15:11:36 -04:00
Yotam Mann
c217ef5a2c removing old files 2019-10-28 14:22:28 -04:00
Yotam Mann
1134ce4c69 making sure that the attack is not canceled if the release is scheduled once it ends
fixes #560
2019-10-28 14:22:10 -04:00
Yotam Mann
179ef7d730 converting AMSynth to typescript 2019-10-28 12:43:24 -04:00
Yotam Mann
125c5af464 removing unnecessary detune option 2019-10-28 12:43:11 -04:00
Yotam Mann
24f5cd0c95 Merge branch 'pr/559' into typescript 2019-10-28 12:20:17 -04:00
Yotam Mann
6c9d3d8294 baseFrequency is Hertz instead of Frequency
then casting to number (and potential errors that could cause) is avoided
2019-10-28 12:20:04 -04:00
Yotam Mann
d7194d05eb using const over let 2019-10-28 12:19:33 -04:00
Yotam Mann
9591fdedf8 passing in arguments as labelled 2019-10-28 12:19:22 -04:00
Yotam Mann
f4dcc08ed2 create a global Draw object (linked to the Context) 2019-10-28 12:12:27 -04:00
Yotam Mann
b1351af339 fixing example 2019-10-28 11:50:32 -04:00
Yotam Mann
49dfe371a3 exporting all core classes
also exporting ftom and mtof
2019-10-28 11:50:13 -04:00
Yotam Mann
7d23ae7bad removing unused types 2019-10-28 11:40:09 -04:00
Yotam Mann
87ae677a59 linting 2019-10-28 11:38:17 -04:00
Yotam Mann
3a63154b7c using the unit name instead of the unit type as the Param generic 2019-10-28 11:37:53 -04:00
Filipe Herculano
4d93b6c1b0 remove redundant accessors 2019-10-27 17:45:21 -04:00
Filipe Herculano
efd114d2db convert FrequencyEnvelope to Typescript 2019-10-26 11:43:00 -04:00
Yotam Mann
f7464e2a5f Merge branch 'pr/557' into typescript 2019-10-25 17:03:03 -04:00
Yotam Mann
49e3a8d869 exporting ScaledEnvelope 2019-10-25 17:02:52 -04:00
Yotam Mann
4bcde39fdc linting / updating paths 2019-10-25 17:02:44 -04:00
Yotam Mann
08a61386ad exporting missing Signal classes 2019-10-25 16:54:44 -04:00
Yotam Mann
d2b064f41e docs: working on code examples 2019-10-25 16:54:33 -04:00
Yotam Mann
4266d2b93c updating examples 2019-10-24 18:01:27 -04:00
Yotam Mann
b73e127310 docs: updating example 2019-10-23 16:43:12 -04:00
Yotam Mann
b2a9c9a303 working on examples 2019-10-23 16:30:07 -04:00
Yotam Mann
cc7727a85c updating docs 2019-10-22 23:39:35 -04:00
Yotam Mann
7c026cc16b only release one voice at a time 2019-10-22 23:08:42 -04:00
Yotam Mann
42cfbcd456 linting docs and examples 2019-10-22 23:04:52 -04:00
Filipe Herculano
9209bdfe07 convert ScaledEnvelope to Typescript 2019-10-19 18:26:37 -04:00
Yotam Mann
4c5e05d7ca making time optional 2019-10-16 14:59:03 -04:00
Yotam Mann
bc0d83d4cf make sure the right voice is released by flagging a voice as released 2019-10-16 14:31:40 -04:00
Yotam Mann
d1e259238f don't reuse voices
just create a new one. hopefully causes fewer problems
2019-10-15 23:15:41 -04:00
Yotam Mann
981431f0d5 exporting loop 2019-10-15 22:42:45 -04:00
Yotam Mann
ba2af1fb03 creates a new AudioContext when Context is created
used to reuse same context.
2019-10-13 23:20:42 -04:00
Yotam Mann
fe6aea9641 polysynth always has at least one voice 2019-10-13 22:40:57 -04:00
Yotam Mann
e1a1552bcf exporting analysis classes 2019-10-13 21:11:44 -04:00
Yotam Mann
032808dd2a ensure that partialsCount is never below 0 2019-10-13 15:05:41 -04:00
Yotam Mann
3a89459916 more sensible default 2019-10-11 18:59:43 -04:00
Yotam Mann
3f53201906 noting range 2019-10-11 18:58:56 -04:00
Yotam Mann
2dab77c7a8 updating partialCount when partials is set 2019-10-09 17:32:37 -04:00
Yotam Mann
2753d3756b the partials length is controllable by the partialCount 2019-10-09 17:06:57 -04:00
Yotam Mann
54059825ae set the partials from the cache as well 2019-10-09 15:21:02 -04:00
Yotam Mann
47642ba51d using floating point comparison 2019-10-09 13:00:16 -04:00
Yotam Mann
0f9bac5101 making it possible to have a release of time 0 2019-10-09 12:54:14 -04:00
Yotam Mann
b3875697b6 fixing path 2019-10-09 12:46:00 -04:00
Yotam Mann
682d263819 Wrapping properties to be able to test range before assignment
throw errors at time of assignment
2019-10-09 12:41:51 -04:00
Yotam Mann
f753aef015 Adding range test 2019-10-09 12:38:10 -04:00
Yotam Mann
3323a7574e using the sig output instead of the destination
since some envelopes are silent
2019-10-09 10:06:17 -04:00
Yotam Mann
fc5b6f7c46 feat: Render a segment of the envelope as an array 2019-10-08 19:23:21 -04:00
Yotam Mann
9ad519ea10 feat: Get an oscillator wave as an array 2019-10-08 19:22:59 -04:00
Yotam Mann
2935f6567d exporting NoiseSynth 2019-10-07 17:02:41 -04:00
Yotam Mann
1668decf70 feat: Convolver is just a wrapper around the ConvolverNode, no longer an effect
a more basic wrapper around the ConvolverNode which unlike the Convolver effect, does not have a dry/wet knob
2019-10-07 15:37:07 -04:00
Yotam Mann
34f731bf7b testing being constructed with different voices 2019-10-07 15:01:22 -04:00
Yotam Mann
6ba7fb7fb3 including FMSynth in PolySynth 2019-10-07 13:57:09 -04:00
Yotam Mann
10469ba924 only dispose when things are in the only AudioContext
otherwise it leads to silence

addresses #551
2019-10-04 12:04:53 -04:00
Yotam Mann
467cc48c8c adding isOffline flag
helpful for some behaviors which only occur in the online AudioContext
2019-10-04 11:51:52 -04:00
Yotam Mann
889dafa45e feat: OfflineContext returns a ToneAudioBuffer
instead of an AudioBuffer
2019-10-03 18:03:21 -04:00
Yotam Mann
e98545a852 removing js file 2019-10-03 17:34:18 -04:00
Yotam Mann
70d11f4b1a Don't dispose the synth in the offline context 2019-10-03 17:34:06 -04:00
Yotam Mann
81887b91a3 refactor: initialize Context when getting destination or transport 2019-10-03 17:33:39 -04:00
Yotam Mann
11544708fc feat: OfflineContext yields thread every second of audio rendered
so that it doesn't block the thread.

fixes #436
2019-10-03 17:29:30 -04:00
Yotam Mann
92816c3bc2 increasing test threshold 2019-09-30 16:54:40 -04:00
Yotam Mann
7f090a3c4d Merge branch 'pr/546' into typescript 2019-09-30 16:48:55 -04:00
Yotam Mann
13f2a6af68 getting all tests to pass 2019-09-30 16:48:39 -04:00
Yotam Mann
f6a17b878f removing unnecessary assignment 2019-09-29 17:26:11 -04:00
Yotam Mann
a2153571c2 types: correcting typing 2019-09-29 17:25:55 -04:00
Yotam Mann
04405afd84 feat: Adding triggerRelease to PluckSynth
works by ramping the resonance down over the 'release' duration
2019-09-29 17:25:31 -04:00
Yotam Mann
18b90a00a2 changing var name and using 'swappable' property 2019-09-29 13:05:51 -04:00
Yotam Mann
c155d716ac removing logging 2019-09-29 13:05:25 -04:00
Yotam Mann
1a2d82f33b only mark certain Params as swappable 2019-09-29 12:20:54 -04:00
Yotam Mann
5f41b0bc76 assert that there is a device 2019-09-29 10:35:46 -04:00
Yotam Mann
b379a20b6d Using GainNode instead of gain
fixes #299
2019-09-29 10:30:57 -04:00
Yotam Mann
410098c075 removing old js file 2019-09-29 10:25:47 -04:00
Yotam Mann
13f08f8dc7 clarifying docs 2019-09-29 10:19:56 -04:00
Yotam Mann
f86f940987 adding categories 2019-09-29 10:19:35 -04:00
Yotam Mann
eb7b14fdc8 fixing docs 2019-09-29 10:19:08 -04:00
Yotam Mann
d88de11cfe converting Follower to typescript 2019-09-27 18:22:11 -04:00
Yotam Mann
7c3582bea3 refactor: implementing FeedbackCombFilter with AudioWorkletNode
handles sub 128 sample feedback
2019-09-27 17:58:04 -04:00
Yotam Mann
4eb05a1ec0 using promise response instead of done() 2019-09-27 17:57:19 -04:00
Yotam Mann
726fb26f80 exporting comb filters 2019-09-27 17:55:31 -04:00
Yotam Mann
2ee8cb1a52 feat: Wrapper around the AudioWorkletNode 2019-09-27 17:55:09 -04:00
Yotam Mann
23ca0f9688 feat: Can set the parameter after constructing Param
used in the new ToneAudioWorklet node
2019-09-27 17:53:42 -04:00
Yotam Mann
f7bdd7528f feat: adding AudioWorkletNode constructors to Context 2019-09-27 17:52:37 -04:00
Yotam Mann
9eb395509c style: using javascript string template interpreter for vscode 2019-09-27 17:50:49 -04:00
Jacob Clarke
420a3cd0e7 Added FMSynth and test 2019-09-27 23:36:26 +10:00
Yotam Mann
ce93214e43 using OnePoleFilter in LowpassCombFilter and PluckSynth
means an API change since dampening is no longer a signal rate parameter
2019-09-24 22:41:58 -04:00
Yotam Mann
52c0b7d56f adding OnePoleFilter
does a single pole highpass and lowpass

addresses #531
2019-09-24 22:08:50 -04:00
Yotam Mann
ed367e0f9b adding nominal range to properties 2019-09-24 17:21:59 -04:00
Yotam Mann
df24096376 filter rolloff enum 2019-09-24 17:18:52 -04:00
Yotam Mann
f2285a12b6 setting min and max range for properties 2019-09-24 17:12:46 -04:00
Yotam Mann
732efd563f can pass in min and max values into constructor 2019-09-24 17:12:12 -04:00
Yotam Mann
a08af1a39c createIIR takes either number[] of float32array 2019-09-23 10:00:43 -04:00
Yotam Mann
fdcda13e32 adding pluck synth to export 2019-09-21 13:10:25 -04:00
Yotam Mann
03aa301c75 adding filter rolloff type 2019-09-21 13:10:19 -04:00
Yotam Mann
70df9df641 fixing type for ratio 2019-09-21 13:09:06 -04:00
Yotam Mann
ec3c1381c5 removing unused stuff 2019-09-20 20:04:45 -04:00
Yotam Mann
0ffc5d65da deleting old js files 2019-09-20 18:51:51 -04:00
Yotam Mann
4d5b63d97e adding categories for docs 2019-09-20 18:51:45 -04:00
Yotam Mann
1dd208c1ea converting UserMedia to ts 2019-09-20 18:51:17 -04:00
Yotam Mann
a68dea0a02 adding createMediaStreamSource
should create BaseContext class to better handle this case
2019-09-20 18:50:22 -04:00
Yotam Mann
d612d9a793 using const instead of var 2019-09-20 17:56:21 -04:00
Yotam Mann
2365894608 Merge branch 'pr/543' into typescript 2019-09-20 17:55:50 -04:00
Yotam Mann
2b86adafb2 small linting and docing 2019-09-20 17:55:36 -04:00
Yotam Mann
f8e7a81490 linting 2019-09-20 17:50:14 -04:00
Yotam Mann
dd22e298e5 exporting debug 2019-09-20 17:49:54 -04:00
Yotam Mann
26855a9398 using the clocks ticks instead of tracking offset
addresses #544
2019-09-20 17:46:30 -04:00
Yotam Mann
72b9604d8e using epsilon floating point comparisons 2019-09-20 17:45:22 -04:00
Yotam Mann
c35666c6fa moving epsilon comparisons to it's own file 2019-09-20 17:44:55 -04:00
Yotam Mann
9625492b2f including GrainPlayer in export 2019-09-20 11:06:40 -04:00
Yotam Mann
82ae4930af adding some additional coverage tests 2019-09-20 10:11:03 -04:00
Yotam Mann
be634eb093 running all logging and warning through Logger object
makes it possible to implement a Logger interface to visualize logging.
2019-09-20 00:31:43 -04:00
Yotam Mann
4be7043bea testing matching within small epsilon 2019-09-20 00:19:38 -04:00
Yotam Mann
f1a0990ee9 comparisons all done within some small epsilon
fixes floating point errors
fixes #422
2019-09-20 00:19:19 -04:00
Yotam Mann
315070afca implemented the TODO feature
removing comment
2019-09-20 00:18:02 -04:00
Yotam Mann
df35666759 simplifying time math
since the time is already computed into seconds
2019-09-20 00:17:28 -04:00
Yotam Mann
0e0073b75b adding logging for restart 2019-09-20 00:16:45 -04:00
Yotam Mann
3f6bcd9438 undoing additional lookAhead
turns out to not be necessary
2019-09-20 00:16:03 -04:00
Filipe Herculano
090177efdd update Pow to extend SignalOperator instead 2019-09-19 20:49:02 -04:00
Yotam Mann
70efec4637 add an additional lookAhead to the onended callback
this fixes an issue where the source was scheduled to stop in the time between the current time and the lookAhead time.

fixes #422
2019-09-19 18:22:44 -04:00
Yotam Mann
1426da90c4 adding restart method
with test
2019-09-19 17:09:30 -04:00
Yotam Mann
be4bf84369 inforce increase in time 2019-09-19 16:56:48 -04:00
Yotam Mann
3ab260de90 import transport for the side effects 2019-09-19 16:55:57 -04:00
Yotam Mann
5d128470c5 convert GrainPlayer to typescript 2019-09-19 16:55:46 -04:00
Yotam Mann
ace049a9a2 render just the clock portion without the audio 2019-09-19 16:55:09 -04:00
Yotam Mann
7a85c4b68a some debugging 2019-09-19 16:53:53 -04:00
Yotam Mann
38ef65fcb2 TimelineValue holds a single schedulable value
get/set based on time.
2019-09-18 11:15:10 -04:00
Yotam Mann
cf957ff37e Looping is a schedulable parameter
fixes #448
2019-09-17 19:33:41 -04:00
Yotam Mann
4c9e6cbd4e testing the interval 2019-09-17 15:34:40 -04:00
Yotam Mann
abc6ef0e2b removing old classes 2019-09-17 14:46:35 -04:00
Yotam Mann
e44005138d quote props only when needed 2019-09-17 14:46:26 -04:00
Yotam Mann
64189a8685 converting Loop to typescript 2019-09-17 14:45:58 -04:00
Yotam Mann
1709f46d83 testing progress when not looping 2019-09-17 14:18:05 -04:00
Yotam Mann
d119f67356 testing signal syncing 2019-09-17 14:13:42 -04:00
Yotam Mann
142e169e74 initialize the context before closing it 2019-09-17 14:07:34 -04:00
Yotam Mann
d82d715c64 testing out the max cache-size for the oscillator periodic wave 2019-09-17 14:04:32 -04:00
Yotam Mann
c5d1920d93 adding category to docs 2019-09-17 13:55:51 -04:00
Yotam Mann
9ea47a6905 removing unused imports 2019-09-17 13:54:30 -04:00
Yotam Mann
0bb0f3c591 linting 2019-09-17 13:54:24 -04:00
Yotam Mann
6edc34af0b Merge branch 'pr/537' into typescript 2019-09-17 13:53:08 -04:00
Yotam Mann
e52c588386 updating typing 2019-09-17 13:52:57 -04:00
Yotam Mann
d435dcae96 linting 2019-09-17 13:40:07 -04:00
Yotam Mann
7c20589ea0 Merge branch 'pr/538' into typescript 2019-09-17 13:37:58 -04:00
Yotam Mann
536dbb7406 updating comments and typing 2019-09-17 13:37:43 -04:00
Yotam Mann
5ed8c19f7c testing returns some keys, but not ones that are omitted 2019-09-17 12:21:27 -04:00
Yotam Mann
470e906d15 doesn't require a custom get function
testing that it gets all of the attributes
2019-09-17 12:21:00 -04:00
Yotam Mann
44cbe181df removing props which are not in the default obj 2019-09-17 12:20:37 -04:00
Filipe Herculano
c5dc4fa2ca fix set to use exponent instead of value 2019-09-17 10:02:43 -04:00
Filipe Herculano
c59a12ced6 Merge branch 'typescript' of https://github.com/Tonejs/Tone.js into typescript 2019-09-16 18:18:32 -04:00
Filipe Herculano
00a936de0f convert Pow to typescript 2019-09-16 18:18:03 -04:00
Yotam Mann
069a114a31 fixing indentation 2019-09-16 11:09:44 -04:00
Yotam Mann
82b2376959 updating categories 2019-09-16 11:05:24 -04:00
Yotam Mann
36db2c3cdc updating example 2019-09-16 10:49:35 -04:00
Yotam Mann
dfcbfae824 adding Event category 2019-09-16 10:49:30 -04:00
Yotam Mann
401d278063 Adding categories to all the nodes 2019-09-16 10:15:23 -04:00
Yotam Mann
e8e785ffdd linting 2019-09-15 23:32:40 -04:00
Yotam Mann
be9fba41b7 updating docs 2019-09-15 14:39:55 -04:00
Yotam Mann
852c78df79 updating internal links
to [[style]]
2019-09-14 19:55:50 -04:00
Yotam Mann
e63cbf8a82 linting 2019-09-14 19:55:39 -04:00
Yotam Mann
2d93d7ae23 updating docs 2019-09-14 18:44:37 -04:00
Yotam Mann
1bde88a19b linting 2019-09-14 18:12:44 -04:00
Yotam Mann
61c9f191b6 removing calls to tslint
getting rid of tslint from project and using eslint instead
2019-09-14 18:06:46 -04:00
Yotam Mann
286692e67b updating block comment style 2019-09-14 17:47:07 -04:00
Yotam Mann
261a5f4c3b normalizing whitespace in comments 2019-09-14 16:39:18 -04:00
Yotam Mann
829a7ebd2c fixing compressor test 2019-09-12 16:05:47 -04:00
Yotam Mann
39f3f42b64 Revert "Merge branch 'pr/542' into typescript"
This reverts commit b94d590a0b, reversing
changes made to 9be3ffeb05.
2019-09-12 16:03:35 -04:00
Yotam Mann
b94d590a0b Merge branch 'pr/542' into typescript 2019-09-12 15:56:05 -04:00
Yotam Mann
9be3ffeb05 removing js files 2019-09-12 15:54:28 -04:00
Yotam Mann
a15042d290 exporting options 2019-09-12 15:53:30 -04:00
Yotam Mann
dd105d4622 hiding unused variables 2019-09-12 15:53:21 -04:00
Yotam Mann
f6749c043f updating types 2019-09-12 15:53:05 -04:00
Yotam Mann
65b98d9923 updating docs 2019-09-12 15:52:57 -04:00
Yotam Mann
6c67ebd9ec fixing example 2019-09-12 15:52:47 -04:00
Yotam Mann
7aa426e973 Updating docs 2019-09-12 15:52:38 -04:00
Jack Anderson
7e6ea23f49 optimize Tone.isObject
- this should be about 25% faster
- taken from https://github.com/jonschlinkert/isobject
- custom perf test: https://jsbench.me/24k0gdoxa6/1
2019-09-12 09:45:41 -07:00
Yotam Mann
55733930cd fixing typo
testing that it works
2019-09-10 22:42:04 -04:00
Yotam Mann
89fcc3d7af converting Mono to typescript 2019-09-10 22:38:48 -04:00
Yotam Mann
fd75074ab0 testing 'off' without an 'on' 2019-09-10 10:45:41 -04:00
Yotam Mann
e85b59755e converting PanVol to ts 2019-09-10 10:34:47 -04:00
Yotam Mann
7f2dbbcb25 removing js file 2019-09-10 10:08:09 -04:00
Yotam Mann
8205db5485 removing unused var 2019-09-10 10:08:01 -04:00
Yotam Mann
3d26c3adba converting Solo to ts 2019-09-10 10:07:50 -04:00
Yotam Mann
daf340ba69 invoke the onloaded promise deferred when the samples are already loaded 2019-09-10 00:16:58 -04:00
Yotam Mann
7f1d529918 removing unused dep 2019-09-10 00:16:23 -04:00
Yotam Mann
92cb3b1542 invoke onload if the buffers object is already fully loaded 2019-09-10 00:07:10 -04:00
Yotam Mann
77c6a18cd8 changing name of unused var 2019-09-10 00:06:52 -04:00
Yotam Mann
05f83239d2 removing old js file 2019-09-09 23:51:44 -04:00
Yotam Mann
009d92909e simplifying the add method
doesn't need to test at both if statements assuming that the API is followed
2019-09-09 23:51:31 -04:00
Yotam Mann
4ae119eb77 testing that the underlying buffer is the same
not necessarily the same ToneAudioBuffer obj
2019-09-09 23:51:09 -04:00
Yotam Mann
2fb44774c7 removing unused import 2019-09-09 23:50:53 -04:00
Yotam Mann
4453025efc testing that it can be constructed with an AudioBuffer 2019-09-09 23:42:04 -04:00
Yotam Mann
1152ee1ad6 converting Players to typescript 2019-09-09 23:39:32 -04:00
Yotam Mann
481fde2757 allows ToneAudioBuffers to add a buffer which is not loaded
also simplifies code a little
2019-09-09 23:39:00 -04:00
Yotam Mann
7be307926f test that a warning is fired 2019-09-09 23:38:34 -04:00
Yotam Mann
2aa03e5805 removing old classes 2019-09-09 23:20:54 -04:00
Yotam Mann
e970d59c98 adding DCMeter which tests a signal output instead of returning a decibel or waveform value
replaces getValue method of Meter
2019-09-09 19:28:39 -04:00
Yotam Mann
f2f1530ad1 Adding MeterBase class to reuse some code 2019-09-09 19:27:45 -04:00
Yotam Mann
bf84a38c19 add function to test if method returns warning 2019-09-09 19:27:14 -04:00