Commit graph

4192 commits

Author SHA1 Message Date
Yotam Mann
afb9d1726e converting PhaseShiftAllpass to typescript 2019-08-20 11:19:23 -07:00
Yotam Mann
1439c988e8 Merge branch 'pr/521' into typescript 2019-08-19 19:02:07 -07:00
Yotam Mann
9982db3d1b adding fadein/out to noise 2019-08-19 18:50:11 -07:00
Maximilian Wagenbach
bb8296d890 Mention antialiasing of the FrequencyShifter in the documentation. 2019-08-19 17:18:27 -07:00
Yotam Mann
ce88eb9b88 using createAudioContext and createOfflineAudioContext
easier to eventually move those to standardized-audio-context
2019-08-19 11:15:53 -07:00
Yotam Mann
c2e7c3af04 linting 2019-08-19 10:11:48 -07:00
Yotam Mann
c353df6d5a skip this test
for now
2019-08-19 10:04:28 -07:00
Yotam Mann
94a9f78704 don't merge object when the type is AudioParam, AudioNode or AudioBuffer
addresses standardized-audio-context/#642
2019-08-19 10:04:21 -07:00
Yotam Mann
560ac489af moving tests to AdvancedTypeCheck 2019-08-19 10:01:37 -07:00
Yotam Mann
05586661b3 adding types 2019-08-19 09:59:31 -07:00
Yotam Mann
972b88a36c using overloaded offline constructor 2019-08-19 09:59:22 -07:00
Yotam Mann
fd1bbb708b overloaded offline constructor 2019-08-19 09:59:07 -07:00
Yotam Mann
cf6a4a8e69 export reverb 2019-08-16 16:17:27 -04:00
Yotam Mann
f9b433c4cf swapping order so that options are used 2019-08-16 15:35:52 -04:00
Yotam Mann
fb38cd4034 adding MembraneSynthOptions to PolySynth 2019-08-16 15:21:09 -04:00
Yotam Mann
68d650862d MembraneSynth extends Synth
addresses #486

Saves some code and enables use in PolySynth
2019-08-16 15:15:14 -04:00
Yotam Mann
c56bef48c4 converting MembraneSynth to ts 2019-08-16 13:57:38 -04:00
Yotam Mann
74ae46a7d4 adding interface to deepMerge which reflects the merging interfaces 2019-08-16 13:57:17 -04:00
Yotam Mann
d1c281c810 using isAudioParam and isAudioNode to test instanceof
will make migrating to standardized-audio-context easier
2019-08-16 12:49:04 -04:00
Yotam Mann
0f20c2d2b4 no decorators 2019-08-15 23:41:22 -04:00
Yotam Mann
4a811bb5aa updating docs 2019-08-15 19:22:49 -04:00
Yotam Mann
6ae86b1c46 converting compressor to ts 2019-08-15 19:18:09 -04:00
Yotam Mann
77806402b6 omiting synth options on each individual options object
instead of on the entire object which caused some issues
2019-08-14 13:16:23 -04:00
Yotam Mann
ed88e6bf10 adding typing to 'connect' method 2019-08-14 13:01:16 -04:00
Yotam Mann
949a123b47 can add a subsequence to a part 2019-08-14 12:03:32 -04:00
Yotam Mann
d4d7c8a78b testing 'stop' method
plays the correct number of iterations
2019-08-14 12:03:21 -04:00
Yotam Mann
9494b570b4 clamping time to current time when not synced
correctly this time
2019-08-14 11:52:20 -04:00
Yotam Mann
8dc8c652fa velocity and time should already be computed by parent class 2019-08-14 10:53:48 -04:00
Yotam Mann
e8cc284b0f Using an active voices array instead of map
enables multiple notes on the same midi note to be scheduled without one deleting the other on _makeVoiceAvailable
2019-08-14 10:50:01 -04:00
Yotam Mann
68dac541dd using computed values in protected calls to _start and _stop 2019-08-14 10:44:27 -04:00
Yotam Mann
15291b54ec removing old test 2019-08-14 10:43:49 -04:00
Yotam Mann
85847df8d2 removing clearing onended callback
introduces bugs when multiple oscillators are scheduled to start/stop in the future, the onended callback is not invoked
2019-08-14 10:43:16 -04:00
Yotam Mann
177e903589 logging the computed time 2019-08-14 10:02:22 -04:00
Yotam Mann
ce4fde8e43 releaseAll does not take a release time
will release all envelopes immediately. having it be immediate saves the issues that come with tracking active voices
2019-08-13 19:54:11 -04:00
Yotam Mann
6e77fe2e35 clearing onended callback on old oscillators when restarting 2019-08-13 19:36:10 -04:00
Yotam Mann
4594855dc3 adding logging to Source 2019-08-13 19:35:40 -04:00
Yotam Mann
b58812b36a adding stop and cancelStop logging 2019-08-13 19:34:39 -04:00
Yotam Mann
4d00150b66 computing time 2019-08-13 18:35:07 -04:00
Yotam Mann
0ad8d40c79 making overridden abstract
implemented by extending classes
2019-08-12 14:18:34 -04:00
Yotam Mann
e1652b8c20 releaseAll uses multiple triggerRelease instead of directly scheduling the voice
seems to cause fewer issues with held notes
2019-08-12 14:15:10 -04:00
Yotam Mann
150e8be0d3 cleaning up 2019-08-12 13:33:18 -04:00
Yotam Mann
3fbe0038cd convert flag needs to be done before value is set 2019-08-12 13:23:11 -04:00
Yotam Mann
5b3df95487 warning when max polyphony is exceeded 2019-08-12 13:21:55 -04:00
Yotam Mann
4f3e8e233f removing voice-stealing
adds too much complixity for now in terms of scheduling into the future. Using setTimeout for scheduling notes into the future. keeps track of active notes better with this type of scheduling.
2019-08-12 13:18:18 -04:00
Yotam Mann
0b1a6bee58 updating typing 2019-08-12 13:17:37 -04:00
Yotam Mann
8f6c82d6a4 testing setting 'convert' explicitly 2019-08-12 10:20:24 -04:00
Yotam Mann
e4feb30455 using 'file' and 'dir' for filtering tests instead of 'grep' 2019-08-12 10:16:34 -04:00
Yotam Mann
78d546ea73 testing getting an array curve 2019-08-12 10:16:07 -04:00
Yotam Mann
ef66b85209 using assert instead of conditionals 2019-08-12 10:15:55 -04:00
Yotam Mann
9bd9feb7fb removing unused import 2019-08-12 10:14:55 -04:00