Yotam Mann
8ce429e7ba
removing js files
2019-10-29 23:14:38 -04:00
Yotam Mann
ad2c2ff651
less peaky settings
2019-10-29 18:09:20 -04:00
Yotam Mann
444b90ff92
alphabetizing
2019-10-29 18:09:10 -04:00
Yotam Mann
5dd6a2623b
Merge branch 'pr/563' into typescript
2019-10-29 17:49:52 -04:00
Yotam Mann
73d3e59506
merging MonoSynth
2019-10-29 17:48:59 -04:00
Yotam Mann
1f298914fc
removing old js files
2019-10-29 14:31:01 -04:00
Yotam Mann
5baeddf451
updating examples
2019-10-28 21:28:53 -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
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
51af0138fc
adding AMSynth to polysynth options
2019-10-28 15:12:02 -04:00
Yotam Mann
5424c05eb2
AM and FM Synth inherit from ModulationSynth base class
2019-10-28 15:11:36 -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
b1351af339
fixing example
2019-10-28 11:50:32 -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
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
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
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