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
fe6aea9641
polysynth always has at least one voice
2019-10-13 22:40:57 -04:00
Yotam Mann
2935f6567d
exporting NoiseSynth
2019-10-07 17:02:41 -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
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
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
04405afd84
feat: Adding triggerRelease to PluckSynth
...
works by ramping the resonance down over the 'release' duration
2019-09-29 17:25:31 -04:00
Jacob Clarke
420a3cd0e7
Added FMSynth and test
2019-09-27 23:36:26 +10:00
Yotam Mann
ce93214e43
using OnePoleFilter in LowpassCombFilter and PluckSynth
...
means an API change since dampening is no longer a signal rate parameter
2019-09-24 22:41:58 -04:00
Yotam Mann
ed367e0f9b
adding nominal range to properties
2019-09-24 17:21:59 -04:00
Yotam Mann
fdcda13e32
adding pluck synth to export
2019-09-21 13:10:25 -04:00
Yotam Mann
be634eb093
running all logging and warning through Logger object
...
makes it possible to implement a Logger interface to visualize logging.
2019-09-20 00:31:43 -04:00
Yotam Mann
df35666759
simplifying time math
...
since the time is already computed into seconds
2019-09-20 00:17:28 -04:00
Yotam Mann
abc6ef0e2b
removing old classes
2019-09-17 14:46:35 -04:00
Yotam Mann
c5d1920d93
adding category to docs
2019-09-17 13:55:51 -04:00
Yotam Mann
9ea47a6905
removing unused imports
2019-09-17 13:54:30 -04:00
Yotam Mann
0bb0f3c591
linting
2019-09-17 13:54:24 -04:00
Yotam Mann
6edc34af0b
Merge branch 'pr/537' into typescript
2019-09-17 13:53:08 -04:00
Yotam Mann
e52c588386
updating typing
2019-09-17 13:52:57 -04:00
Yotam Mann
d435dcae96
linting
2019-09-17 13:40:07 -04:00
Yotam Mann
7c20589ea0
Merge branch 'pr/538' into typescript
2019-09-17 13:37:58 -04:00
Yotam Mann
536dbb7406
updating comments and typing
2019-09-17 13:37:43 -04:00
Yotam Mann
5ed8c19f7c
testing returns some keys, but not ones that are omitted
2019-09-17 12:21:27 -04:00
Yotam Mann
401d278063
Adding categories to all the nodes
2019-09-16 10:15:23 -04:00
Yotam Mann
852c78df79
updating internal links
...
to [[style]]
2019-09-14 19:55:50 -04:00
Yotam Mann
2d93d7ae23
updating docs
2019-09-14 18:44:37 -04:00
Yotam Mann
1bde88a19b
linting
2019-09-14 18:12:44 -04:00
Yotam Mann
61c9f191b6
removing calls to tslint
...
getting rid of tslint from project and using eslint instead
2019-09-14 18:06:46 -04:00
Yotam Mann
261a5f4c3b
normalizing whitespace in comments
2019-09-14 16:39:18 -04:00
Yotam Mann
65b98d9923
updating docs
2019-09-12 15:52:57 -04:00
Yotam Mann
daf340ba69
invoke the onloaded promise deferred when the samples are already loaded
2019-09-10 00:16:58 -04:00
Yotam Mann
92cb3b1542
invoke onload if the buffers object is already fully loaded
2019-09-10 00:07:10 -04:00
Yotam Mann
bf84a38c19
add function to test if method returns warning
2019-09-09 19:27:14 -04:00
Yotam Mann
336d1b71db
PolySynth uses new context.setInterval
2019-09-06 14:55:20 -04:00
Yotam Mann
736106de5f
accidentally put extra tab before name
2019-09-04 19:18:44 -04:00
Yotam Mann
51291538a8
renaming file to match class name
2019-09-04 18:39:28 -04:00
Yotam Mann
75a35108af
name is a readonly string
2019-09-04 18:38:04 -04:00
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
f128fae51e
Converted PluckSynth to TS + filter deps: FeedbackCombFilter, LowpassCombFilter (could not make tests for filters yet due to other issues with ToneWithContext
2019-09-01 21:17:32 +10:00
Jacob Clarke
e49cb07607
Tidied up MetalSynth and restored original comments
2019-09-01 19:19:19 +10:00
Jacob Clarke
d4b0604eb0
Restored some comments
2019-09-01 18:58:56 +10:00
Jacob Clarke
9d95738497
Converted NoiseSynth and test file to ts
2019-09-01 16:27:50 +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
Yotam Mann
bfc3d7ed15
toMaster() -> toDestination()
...
more consistent with the Web Audio API
2019-07-25 11:32:56 -04:00
Yotam Mann
9a49c873df
exporting modules from main entry
2019-07-25 11:29:36 -04:00
Yotam Mann
ffad8c1475
confirm that an instance was disposed
...
implement Tone.prototype.dispose which flips a boolean wasDisposed.
2019-07-23 12:11:57 -04:00