Commit graph

308 commits

Author SHA1 Message Date
Yotam Mann
1285fb19ed exporting options and class 2019-09-04 18:29:24 -04:00
Yotam Mann
0f31c77923 ability to use MetalSynth in PolySynth 2019-09-04 18:29:11 -04:00
Yotam Mann
10710d8f4c Test against the old polysynth API
notifies people of the update
2019-09-04 11:59:30 -04:00
Yotam Mann
cca7d10566 adding sync test and test long enough to test out the GC process 2019-09-03 23:07:44 -04:00
Yotam Mann
8e76c0517b adding MetalSynth export 2019-09-03 21:52:23 -04:00
Yotam Mann
f85adf5dda resonance is a Frequency 2019-09-03 20:32:44 -04:00
Yotam Mann
e414ce891a convert MetalSynth to ts and extend Monophonic instead of instrument
fixes #486

thank you for the typescripting @jacobclarke92!
2019-09-03 20:20:08 -04:00
Yotam Mann
c167f1a0e1 detune can be passed into the options object 2019-09-03 20:09:46 -04:00
Yotam Mann
6c54f7b3ad pass in the detune value 2019-09-03 20:09:19 -04:00
Yotam Mann
8ec8ba4a13 Merge branch 'pr/535' into typescript 2019-09-03 19:36:26 -04:00
Yotam Mann
26f931b3ed PolySynth automatically disposes unused voices
expands to the maxPolyphony and will reduce back to 0 allocated voices if unused.
2019-09-03 19:29:59 -04:00
Jacob Clarke
e49cb07607 Tidied up MetalSynth and restored original comments 2019-09-01 19:19:19 +10:00
Jacob Clarke
d7578f62b0 MetalSynth done, extends Monophonic now 2019-09-01 16:10:32 +10:00
Jacob Clarke
a6fdd24c92 MetalSynth almost done, incomplete triggerAttack function 2019-09-01 14:20:20 +10:00
Yotam Mann
c9d757aaa6 removing references to "@private"
old jsdoc comments
2019-08-30 09:08:29 -07:00
Yotam Mann
3e2de8f259 fixing spacing
typedoc wants one space before the "@"
2019-08-30 09:06:38 -07:00
Yotam Mann
1dba46a822 removing converting files 2019-08-27 10:06:34 -07:00
Yotam Mann
539a5c45d8 updating docs 2019-08-27 08:57:00 -07:00
Yotam Mann
3fc30c4884 Merge branch 'dev' into typescript 2019-08-26 11:05:12 -07: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
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
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
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
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
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
e7c429f4ec adding back envelope
getLevelAtTime was used for the portamento
2019-08-12 00:21:34 -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
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
b94be3cdc4 moving object creation to constructor body
more consistent style
2019-08-09 23:06:30 -04:00
Yotam Mann
38d6f9d242 optimization by moving child objects into constructor
means that in many cases the param won't be assigned twice
2019-08-08 14:15:56 -04:00
Yotam Mann
507f095992 compute time string values for envelope attack/release
fixes #501
2019-08-07 11:46:04 -04:00
Yotam Mann
0f1218b69e updating docs 2019-08-04 13:12:23 -04:00
Yotam Mann
56db8b3a7a simplifying _internalChannels
channelCount/Mode/Interpretation check the input/output nodes, which removes the need for many classes to have _internalChannels
2019-08-03 12:00:14 -04:00
Yotam Mann
b81310f107 doesn't need to set numberOfOutputs 2019-08-02 21:50:04 -04:00
Yotam Mann
52bcac2599 setting name to readonly 2019-08-02 21:09:35 -04:00
Yotam Mann
1792ff1d05 merging functionality from 'dev'
changes were made to .js files which are no longer there. moving functionality to .ts files
2019-08-02 13:56:51 -04:00
Yotam Mann
22396a8942 Merge branch 'dev' into typescript 2019-08-02 13:52:11 -04:00
Yotam Mann
d20f6e8fe9 Releases all held notes
thanks @lidiovargas! i ended up going with something more similar to your first solution. just removing the arrow function to fix the linting error
2019-08-02 10:43:31 -04:00
Lidio Vargas
82a9b54de1 Fixing sustained notes on Tone.Sampler (travis checked) 2019-08-01 21:00:05 -03:00
Lidio Vargas
f0febbdade Fixing sustained notes on Tone.Sampler (passing test) 2019-08-01 20:32:24 -03:00
Yotam Mann
e97ea7d5df better type checking for sampler url parameters 2019-07-30 15:53:10 -04:00
Yotam Mann
6e5e8b3399 using specific types
importing them so there are not multiple import type errors
2019-07-30 15:35:27 -04:00
Lidio Vargas
65098a0229 Fixing released-sustained notes on Tone.Sampler 2019-07-28 14:01:50 -03:00