Commit graph

2631 commits

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