Commit graph

2649 commits

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