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
Yotam Mann
511d98564b
adding some tests for full coverage
2019-08-12 09:37:48 -04:00
Yotam Mann
ef940b778a
adding tests for full coverage
2019-08-12 09:23:01 -04:00
Yotam Mann
e7c429f4ec
adding back envelope
...
getLevelAtTime was used for the portamento
2019-08-12 00:21:34 -04:00
Yotam Mann
0f45fc9efd
removing unused import
2019-08-12 00:20:16 -04:00
Yotam Mann
c81364610c
converting polysynth to typescript
...
slightly updated API includes voice stealing
2019-08-12 00:16:03 -04:00
Yotam Mann
48c410cfc4
added floating point midi conversion
2019-08-12 00:15:30 -04:00
Yotam Mann
4e9fca3df3
marking toMaster as deprecated
2019-08-12 00:15:11 -04:00
Yotam Mann
3c81958cec
Adding monophonic tests
...
checks for onsilence
2019-08-12 00:14:59 -04:00
Yotam Mann
303986825e
removing unused imports
2019-08-12 00:14:38 -04:00
Yotam Mann
311525c410
incrementing minor version
...
PolySynth functionality and updated Monophonic API
2019-08-12 00:14:28 -04:00
Yotam Mann
72e877ff67
hooking up onsilence
2019-08-12 00:13:52 -04:00
Yotam Mann
8b295c32de
removing getLevelAtTime
...
replaced by onsilence which is used to find when the instrument is making sound
2019-08-12 00:13:13 -04:00
Yotam Mann
4d52317fd3
takes an array of partials
2019-08-12 00:09:40 -04:00
Yotam Mann
f79cce25ca
updating docs
2019-08-12 00:09:22 -04:00
Yotam Mann
07cdf6840e
adding onstop to noise
2019-08-11 11:42:17 -04:00
Yotam Mann
18facc5576
safety checks before trying connection
2019-08-10 18:07:10 -04:00
Yotam Mann
edddd9e3ba
moving assert and log to their own file
2019-08-10 18:07:02 -04:00
Yotam Mann
0dff2423e7
checking if connecting to a source with no inputs throws an error
2019-08-10 18:06:41 -04:00
Yotam Mann
d4bacbf4e8
removing commented out test
2019-08-10 18:06:22 -04:00
Yotam Mann
f6843947d8
adding onstop to all the sources
2019-08-10 11:51:35 -04:00
Yotam Mann
0719a8ba9d
cancel stop when the ending is implicit
2019-08-09 23:35:08 -04:00
Yotam Mann
fdbf9d64bf
removing 'only' from tests
2019-08-09 23:11:51 -04:00
Yotam Mann
d507188149
Player.onstop is invoked when the buffer has stopped
...
fixes #519
2019-08-09 23:07:09 -04:00
Yotam Mann
b94be3cdc4
moving object creation to constructor body
...
more consistent style
2019-08-09 23:06:30 -04:00
Yotam Mann
63d68f3446
onended callback passes in the file in the parameter
2019-08-09 23:02:28 -04:00
Yotam Mann
73dbca2e1b
removing unused import
2019-08-09 23:00:51 -04:00