Commit graph

2955 commits

Author SHA1 Message Date
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