Commit graph

1114 commits

Author SHA1 Message Date
Yotam Mann
0441bc5008 pruning away unused signal classes 2016-02-27 11:18:59 -05:00
Yotam Mann
c4f85780f2 using sampleTime variable 2016-02-27 11:16:51 -05:00
Yotam Mann
a427070904 Outputs 0 at audio-rate
This is to get around an optimization in most browsers which stops
processing when the gain is equal 0 in the Signal.
2016-02-27 11:16:25 -05:00
Yotam Mann
ecd15808c2 simplified Abs
now only accepts signals in the range [-1,1]
2016-02-06 15:06:03 -05:00
Yotam Mann
abc62d3962 Merge pull request #115 from hiddedejong/PartOffset
fixed start offset in Tone.Part, now behaves like Tone.Player
2016-02-01 22:28:59 -05:00
Yotam Mann
af6babf8d8 shortens attack time if the envelope is already active
this retains the attack slope.
2016-01-31 23:40:50 -05:00
Yotam Mann
c72a5f25c9 makes sure that exponential ramping is never from or to 0
when trying to ramp from 0, it does a setValueAtTime to a near zero
value, then ramps exponentially. And the reverse when ramping to 0.
2016-01-31 23:33:36 -05:00
Yotam Mann
79ab31603a cache the time in seconds of 1 sample 2016-01-31 23:13:00 -05:00
Yotam Mann
de37b6798d adding Master as a dependency
Addresses #112
2016-01-31 12:20:55 -05:00
Hidde de Jong
75628b53e8 fixed start offset in Tone.Part, now behaves like Tone.Player 2016-01-31 14:45:34 +01:00
Yotam Mann
9e7dd15e46 removed unused enum 2016-01-30 20:24:53 -05:00
Yotam Mann
995a12d765 Making sure the envelope is active before triggering the release
This keeps FF from throwing an error when trying to exponentially ramp
from 0.
2016-01-30 15:56:56 -05:00
Yotam Mann
46919e7c86 Simplifying the API of FMSynth and AMSynth
uses SimpleSynth instead of MonoSynth. API more flat.
2016-01-30 15:53:40 -05:00
Yotam Mann
2f4d6d07cd DrumSynth->MembraneSynth & CymbalSynth->MetalSynth 2016-01-30 15:48:32 -05:00
Yotam Mann
3d67297166 updated copyright year 2016-01-23 12:30:34 -05:00
Yotam Mann
d5499f64f8 CymbalSynth synthesizes spectrally complex, metallic sounds 2016-01-19 10:02:46 -05:00
Yotam Mann
e53c864948 making sure the envelope is silent after the decay if the sustain is 0 2016-01-18 22:46:36 -05:00
Yotam Mann
9f785b371e removing deprecated methods 2016-01-18 22:45:46 -05:00
Yotam Mann
61caca5054 volume change proportional to the number of oscillators 2016-01-18 00:27:46 -05:00
Yotam Mann
5a772466ae 3 new oscillator types
and combined them into the OmniOscillator
2016-01-17 22:43:44 -05:00
Yotam Mann
0349216473 Envelope is completely silenced while not being triggered
Fixes #109
2016-01-16 15:39:29 -05:00
Yotam Mann
68daf2aab9 fixing docs 2016-01-03 12:36:49 -05:00
Yotam Mann
e371c69a79 incrementing version 2015-12-13 13:09:53 -05:00
Yotam Mann
6c81d59df2 r6 version 2015-12-08 00:26:03 -05:00
Yotam Mann
cfc33cf39c doc'ing 2015-12-08 00:07:16 -05:00
Yotam Mann
b3e08a4c02 removed instrument presets 2015-12-07 21:32:28 -05:00
Yotam Mann
7fd1ad026e removing effect presets
Presets have been moved to their own repo
2015-12-07 19:14:12 -05:00
Yotam Mann
eda4553169 using baseFrequency and octaves for AutoFilter 2015-12-07 11:46:34 -05:00
Yotam Mann
d29995a42a phaser uses octaves instead of depth.
more consistent with rest of API.
2015-12-07 01:04:09 -05:00
Yotam Mann
2664140ab0 implementing filterEnvelope with Tone.FrequencyEnvelope 2015-12-07 00:39:39 -05:00
Yotam Mann
acd3722add exposing exponent value 2015-12-07 00:38:48 -05:00
Yotam Mann
307dd6632c FrequencyEnvelope is like ScaledEnvelope but with baseFrequency and octaves instead of min and max 2015-12-07 00:23:21 -05:00
Yotam Mann
3bbd66c5d2 constrain TimelineSignal's memory 2015-12-07 00:19:38 -05:00
Yotam Mann
f7547217c8 Timeline has an optional memory length 2015-12-06 23:48:53 -05:00
Yotam Mann
2626b19469 setValueAtTime makes the attack less prone to clicks
not sure why.
2015-12-06 21:39:59 -05:00
Yotam Mann
298799dee9 added 'spread' to Chorus 2015-12-06 20:53:36 -05:00
Yotam Mann
1d7385d819 spread is initialized with the constructor. 2015-12-06 17:37:37 -05:00
Yotam Mann
972e7f1d00 set the state to "stopped" after a number of loops. 2015-12-06 17:23:30 -05:00
Yotam Mann
8984365883 resolves case where items are removed during iteration 2015-12-06 17:23:30 -05:00
Yotam Mann
dbc33d0a1c fixes case of canceling events when there's only one event in the timeline 2015-12-06 17:23:30 -05:00
Yotam Mann
441f964206 Merge pull request #103 from lukephills/upstream-dev
Tremolo stereo spread control
2015-12-06 17:22:54 -05:00
Yotam Mann
9d3b5947fd Reverting to non-signal playbackRate
because Safari isn’t there yet with signal-rate playbackRate
2015-12-06 13:14:36 -05:00
Yotam Mann
74110715f5 Revert "playbackRate is now a signal"
This reverts commit f889a77f0f.
2015-12-06 13:14:36 -05:00
Yotam Mann
ae669e7fa6 making sure the ramp time constant is above 0 2015-12-06 13:14:36 -05:00
Yotam Mann
1cf6910796 Using exponentialRamp for decay and release
This normalizes things across browsers because it seems that FF
setTargetAtTime always starts from 0

addresses #91
2015-12-06 13:14:36 -05:00
Yotam Mann
f4200aa2a7 left and right inputs of merger are explicitly mono
this fixes issue of not splitting correctly in FF and Safari.
2015-12-06 13:14:36 -05:00
Yotam Mann
12d7cd0e1f eventsToRemove is no longer necessary 2015-12-06 13:14:36 -05:00
Yotam Mann
2bf8039b4e iterator with guarding in case items are deleted
makes it safer to delete an item during a forEach loop
2015-12-06 13:14:36 -05:00
Yotam Mann
f0857f2e08 canceling next events on stop 2015-12-06 13:14:36 -05:00
Luke Phillips
1cbe390d8d Give tremolo a stereo spread option 2015-12-06 13:29:08 +13:00