Commit graph

430 commits

Author SHA1 Message Date
Yotam Mann
b9619d8c68 removing unused variables 2019-10-31 15:43:16 -04:00
Filipe Herculano
779b4d68c5 update DuoSynth interface options to match class type and adjust object parameters 2019-10-30 19:22:24 -04:00
Yotam Mann
c5c8082d4e removing unused method 2019-10-30 18:59:38 -04:00
Filipe Herculano
79dad22648 start converting DuoSynth to Typescript 2019-10-30 18:54:30 -04:00
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