Commit graph

430 commits

Author SHA1 Message Date
Yotam Mann
b5ba9e072c ramping position values
this gets rid of a lot of clicking
2016-10-05 00:18:41 -04:00
Yotam Mann
bab37aea07 SpatialPanner and Listener wrappers 2016-10-01 21:45:22 -04:00
Yotam Mann
ac0e3db386 updated docs
[skip ci]
2016-09-25 19:00:10 -04:00
Yotam Mann
b1765f71b0 moving the minimum timing to the Instrument classes 2016-09-24 10:38:57 -04:00
Yotam Mann
1c3e06c2e5 schedule immediate envelopes one block in the future
this avoids some pops
2016-09-23 20:07:41 -04:00
Yotam Mann
3d36324b8d updating Q value so it doesn't feedback
Fixes #166

thanks @mmckegg
2016-09-23 10:16:10 -04:00
Yotam Mann
372053a029 using Tone.Delay everywhere instead of DelayNode 2016-09-20 00:01:27 -04:00
Yotam Mann
a60328345e using Tone.Gain everywhere instead of GainNode 2016-09-19 23:53:07 -04:00
Yotam Mann
76ad44360d updating to new API 2016-09-19 23:02:42 -04:00
Yotam Mann
c135392f55 changing sync to match new Source sync API 2016-09-18 19:37:31 -04:00
Yotam Mann
0824582274 update the octaves when updating the baseFrequency
otherwise it remains at the previous value
2016-07-20 15:37:51 -04:00
Yotam Mann
a40aa6bd12 Fixing case where partial envelope is retriggered using one of the predefined envelopes 2016-06-17 13:13:20 -04:00
Yotam Mann
eea938094c renaming cosine->sine and ease->sine
Fixes #69
2016-06-12 09:56:18 -04:00
Yotam Mann
4628f8c47a prefixing errors with class name. 2016-05-25 20:50:46 -04:00
Yotam Mann
db6b901003 attack/release curves can be arrays
also introducing a bunch of new curve types
2016-05-23 19:20:20 -04:00
Yotam Mann
9528238873 computing rms from the analyser waveform data 2016-05-17 21:26:57 -04:00
Yotam Mann
58a1223a9a meter uses the analyser node
no more ScriptProcessorNodes
2016-05-14 19:13:50 -04:00
Yotam Mann
a25767cfbe can mute the output 2016-05-14 18:07:53 -04:00
Yotam Mann
24692aa343 can be muted in the constructor options 2016-05-14 17:46:21 -04:00
Yotam Mann
3ecd99ecb6 moving mute code to Volume 2016-05-14 17:34:23 -04:00
Yotam Mann
98e58d0576 switching argument position of type and size
type is more important a parameter.
2016-05-14 16:34:50 -04:00
Yotam Mann
5d6f1806c1 Making the Analyser a passthrough node. 2016-04-25 18:05:15 -04:00
Yotam Mann
d374790175 using new Type 2016-04-18 02:19:17 -04:00
Yotam Mann
059bbf20b2 converting units using new API 2016-04-18 02:19:01 -04:00
Yotam Mann
733b49bcd5 using new types 2016-04-18 00:36:08 -04:00
Yotam Mann
2530182b2e updating analyser docs
[skip ci]
2016-04-17 13:41:54 -04:00
Yotam Mann
85cfedb03c adding polyfill for getFloatTimeDomain
Fixes #129
2016-03-20 19:01:39 -04:00
Yotam Mann
aa1b5123aa fixing panner for browsers that don't support stereo panner 2016-03-04 18:59:31 -05:00
Yotam Mann
ad9ae4dbe9 fitting fft size to conform with old spec range
this allows it to pass on older systems which haven’t increased the
range to 32k
2016-03-04 18:30:15 -05:00
Yotam Mann
2728e02555 ability to cancel an envelope 2016-03-04 15:54:24 -05:00
Yotam Mann
18b2136148 .value returns the scheduled value at time=now 2016-03-03 13:04:02 -05:00
Yotam Mann
7a23c08703 LFO outputs 0 value when stopped
gets around 0 gain optimization
2016-03-03 01:35:29 -05:00
Yotam Mann
115b9376ab Panner is now between -1 and 1
Same as the Web Audio API.
2016-02-27 11:31:15 -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
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
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
0349216473 Envelope is completely silenced while not being triggered
Fixes #109
2016-01-16 15:39:29 -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
2626b19469 setValueAtTime makes the attack less prone to clicks
not sure why.
2015-12-06 21:39:59 -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
c8cfe33864 doc'ing 2015-11-17 22:52:22 -05:00
Yotam Mann
0c3cd6a305 Set a ramp point before the release curve 2015-11-11 23:41:17 -05:00
Yotam Mann
8e5dd56906 removing unused dependencies 2015-11-03 18:33:52 -05:00
Yotam Mann
93993846ee updating to new Gain / Volume API 2015-11-01 17:49:53 -05:00
Yotam Mann
99769ca927 volume doens't extend Gain 2015-11-01 17:49:33 -05:00
Yotam Mann
92a418af1e converts to destination units when connected 2015-10-21 12:12:35 -04:00
Yotam Mann
61fb1df660 adding strict mode 2015-10-21 12:11:19 -04:00
Yotam Mann
666d2f230a EQ3 using new Gain 2015-10-21 10:54:33 -04:00
Yotam Mann
b73a8cb71f updating to new Param class 2015-10-21 10:34:37 -04:00
Yotam Mann
1c00c650db updating to new Volume API 2015-10-21 10:33:13 -04:00
Yotam Mann
257b480535 Volume extends Gain 2015-10-21 10:30:21 -04:00
Yotam Mann
b061b81983 can get state of LFO 2015-10-20 17:30:20 -04:00
Yotam Mann
2f27321dda fixing doc description of analyser 2015-09-11 17:05:27 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
9987af7a1d volume uses Tone.Gain 2015-08-31 16:59:36 -04:00
Yotam Mann
a2611941ea accepts options object 2015-08-28 18:32:32 -04:00
Yotam Mann
54c14e1f96 default values and per channel clipping indication 2015-08-28 18:32:20 -04:00
Yotam Mann
48b38d0de9 can be constructed through an options object 2015-08-27 23:08:58 -04:00
Yotam Mann
61d0e1bbda lfo outputs signal while stopped 2015-08-27 23:03:42 -04:00
Yotam Mann
80abf87292 reflecting rename 2015-08-18 16:29:39 -04:00
Yotam Mann
66a9991ede Envelope uses new SchedulableSignal 2015-08-16 15:17:35 -04:00
Yotam Mann
47dd0e2f45 amplitude envelope uses new Gain 2015-08-16 15:15:10 -04:00
Yotam Mann
d36af98c46 filter rolloff goes up to -96 now
because why not? Also accepts a string as the type. fixes #84.
2015-08-12 13:13:04 -04:00
Yotam Mann
5773944f88 fft and waveform analyser 2015-08-10 14:40:20 -04:00
Yotam Mann
17f5e8bb8e delays are offset only 1 block now. 2015-07-21 11:22:36 -04:00
Yotam Mann
24f1ddf4b9 Offset 'now' one block (128 samples) when triggering attack/release
Fixes #79
2015-07-21 10:31:37 -04:00
Yotam Mann
7eead0913b ramp to a smaller value
addresses #79
2015-07-20 10:47:52 -04:00
Yotam Mann
01060f13db removing old API test 2015-07-18 14:59:18 -04:00
Yotam Mann
3ccc0683bf changing doc links to markdown style 2015-07-04 15:25:37 -04:00
Yotam Mann
00e0ba7273 read envelope value 2015-07-04 13:36:38 -04:00
Yotam Mann
64212d90f3 doc'ing components
merging seth's doc changes
2015-07-04 12:32:18 -04:00
Seth Kranzler
d599761f2e more doc'ing 2015-07-02 15:45:40 -04:00
Seth Kranzler
12c56011b6 doc'ing components 2015-07-01 20:19:58 -04:00
Seth Kranzler
faf289bdd6 Effects, mic, Noise, Omniosc, and AmplitudeEnvelope docs updated 2015-07-01 17:44:30 -04:00
Yotam Mann
5ea8eaa35d doc'ing components 2015-06-20 19:25:49 -04:00
Yotam Mann
4e9cb3ce1e doc'ing 2015-06-20 15:50:57 -04:00
Yotam Mann
bd7e4fd76a doc'ing components 2015-06-14 01:09:06 -04:00
Yotam Mann
b2fa7a065e jsdocing 2015-06-13 23:56:32 -04:00
Yotam Mann
23cc2408b2 changing link tag 2015-06-13 21:54:20 -04:00
Yotam Mann
20ad29dc61 removing types from array notation 2015-06-13 20:56:41 -04:00
Yotam Mann
a81ba071f3 changing the styling of this in return statements 2015-06-13 20:54:29 -04:00
Yotam Mann
571183bf27 removing Tone.Type prefix in docs 2015-06-13 20:20:36 -04:00
Yotam Mann
f2f838b630 using signal jsdoc 2015-06-13 19:50:39 -04:00
Yotam Mann
07264eb05b signal jsdocing 2015-06-13 19:29:25 -04:00
Yotam Mann
37286c3d23 better rolloff validation. 2015-06-07 12:57:50 -04:00
Yotam Mann
3bf65cddb3 type annotation 2015-06-07 12:09:08 -04:00
Yotam Mann
b3f7babcca respelling the enum types 2015-05-24 09:53:53 -04:00
Yotam Mann
68a47a9d58 Normal->NormalRange & Number->Default 2015-05-24 09:45:15 -04:00
Yotam Mann
1f69151c5f renamed Tone.Frequency -> Tone.Type.Frequency 2015-05-23 19:07:28 -04:00
Yotam Mann
6ef3dd2f51 renamed Tone.Time -> Tone.Type.Time 2015-05-23 19:01:05 -04:00
Yotam Mann
f0bcd68812 renamed Tone.Signal.Units to Tone.Type
also renamed Tone.Source.State to Tone.State
2015-05-23 18:57:05 -04:00
Yotam Mann
fdf8da421c gain gets the default value 2015-05-23 18:16:14 -04:00
Yotam Mann
dbf992d195 LFO takes on unit values
it also starts at min value instead of jumping to the middle value on
start
2015-05-23 18:15:19 -04:00
Yotam Mann
0667feae49 removing unneeded connections 2015-05-22 10:13:05 -04:00
Yotam Mann
dfc04af754 adding Q control to Multiband split 2015-05-22 10:12:50 -04:00
Yotam Mann
e2ed3b4350 volume is first parameter of constructor 2015-05-21 13:52:06 -04:00
Yotam Mann
b7864d1c4d correctly sets resonance and dampening
it was set at 0 before, making it silent.
2015-05-13 12:13:25 -04:00
Yotam Mann
2e36740b9b fixing deps 2015-05-05 16:40:58 -04:00
Yotam Mann
a2f4a3595b jsdoc'ing 2015-05-05 16:40:52 -04:00
Yotam Mann
274bab6336 removing Tone.Stereo
changing the `channelCountMode` is much simpler.
2015-04-28 14:42:40 -04:00
Yotam Mann
1be27628c4 simplifying comb filters
128 samples is defined in the spec as the block size and minimum delay
time for cyclic delayNodes. this makes it unnecessary to string
together multiple delays for small delay times.
2015-04-24 17:44:10 -04:00
Yotam Mann
f7c6c1cd95 slimming down compressor code 2015-04-24 13:13:20 -04:00
Yotam Mann
0ff1962d51 MidSideCompressor 2015-04-20 15:41:49 -04:00
Yotam Mann
8ad222d94f MidSide Split and Merge components 2015-04-20 15:41:30 -04:00
Yotam Mann
bbdeffb7f7 attackType -> attackCurve 2015-04-20 10:42:27 -04:00
Yotam Mann
e79c9a33e4 optimizing Tone.Stereo 2015-04-20 10:42:09 -04:00
Yotam Mann
1b72e91b32 renamed EQ to EQ3 2015-04-20 10:41:55 -04:00
Yotam Mann
0b3528c2fe setting min output 2015-04-18 20:23:14 -04:00
Yotam Mann
2f9a304acf Envelope has exponential or linear attack 2015-04-18 14:54:51 -04:00
Yotam Mann
9e98e9078a stricter interface for components 2015-04-05 15:13:15 -04:00
Yotam Mann
bcb7dad795 panner uses GainToAudio 2015-04-05 12:13:19 -04:00
Yotam Mann
f60a0ea947 implementing PanVol with Volume 2015-03-26 10:51:08 -04:00
Yotam Mann
b093dd4d73 deleting deprecated classes 2015-03-26 10:50:48 -04:00
Yotam Mann
de7a22aecd Simple Volume control in decibels 2015-03-24 16:30:04 -04:00
Yotam Mann
e0d7ac212b uses StereoPannerNode when available 2015-03-24 16:29:48 -04:00
Yotam Mann
788c703aa3 Tone.Stereo coerces mono signal into stereo 2015-03-24 16:29:36 -04:00
Yotam Mann
52b113a611 optimizing Split components 2015-03-24 16:29:11 -04:00
Yotam Mann
a61860c826 fixed panning bug 2015-03-09 22:52:08 -04:00
Luke Phillips
237202c049 updated typescript definitions and fixed a few type errors 2015-03-07 19:17:16 +00:00
Luke Phillips
f4fc005a57 new typescript definitions 2015-03-07 18:45:11 +00:00
Luke Phillips
17df3dc4bb es5 getters and setters used in multiband eq 2015-03-07 18:26:08 +00:00
Luke Phillips
d2755e10de Merge Tone r4 2015-03-05 16:06:27 +00:00
Yotam Mann
edbcffc505 simplified components 2015-03-03 10:26:46 -05:00
Yotam Mann
e6718e4781 jsdoc'ing effects and components 2015-02-27 16:53:10 -05:00
Yotam Mann
4ca5d26848 updating docs 2015-02-26 11:47:44 -05:00
Yotam Mann
76973cda7d changed internal tag to private tag
JSDoc stuff
2015-02-25 16:19:43 -05:00
Yotam Mann
c5b2cdae3e low/mid/high uses Signals 2015-02-23 19:46:28 -05:00
Yotam Mann
4a3d443936 throws error when not valid filter type 2015-02-17 00:58:17 -05:00
Yotam Mann
c0f87b1202 volume control in decibels 2015-02-11 23:10:14 -05:00
Yotam Mann
89495c8635 fixing follower error 2015-02-11 23:09:20 -05:00
Yotam Mann
54bc36cb98 clean up. 2015-02-11 23:08:53 -05:00
Yotam Mann
cbcbdf11b1 fixing attack/release time values 2015-02-11 16:44:50 -05:00
Yotam Mann
baf00519fa crossfade is now equalPower 2015-02-11 15:28:33 -05:00
Yotam Mann
e74cfdf41e added amplitude to LFO 2015-02-11 14:37:48 -05:00
Yotam Mann
9be7113fff added setDelayTimeAtTime to allow for note timing
the note timing is used in Tone.PluckSynth
2015-02-10 12:04:57 -05:00
Yotam Mann
110afb7531 deprecated Tone.Recorder
using it just for testing
2015-02-10 12:02:48 -05:00
Yotam Mann
b1ba37d8d6 migrating components to ES5 getter/setter 2015-02-06 17:49:04 -05:00
Yotam Mann
0fa6b6cdaf components' methods return this 2015-02-02 12:49:13 -05:00
Yotam Mann
11ef065861 renamed DryWet to CrossFade 2015-02-02 12:48:04 -05:00
Yotam Mann
b6875955e4 add type getter/setter 2015-02-01 13:32:39 -05:00
Luke Phillips
1f52e24c95 MultibandEQ setters and getters 2015-01-22 13:24:10 +00:00
Luke Phillips
7dad7adfa7 getGain() for Filter class 2015-01-21 09:15:39 +00:00
Luke Phillips
ea5febc95a DryWet getDry and getWet 2015-01-21 09:07:14 +00:00
Luke Phillips
a99325b01a DryWet getter function description added 2015-01-20 21:08:26 +00:00
Luke Phillips
4c93abb315 DryWet getter functions added 2015-01-20 21:06:38 +00:00
Luke Phillips
c0ba518f30 MultibandEQ getter functions 2015-01-20 14:03:58 +00:00
Luke Phillips
4cdd3a30da Filter getter functions 2015-01-20 13:45:12 +00:00
Luke Phillips
a48c7a759d Envelope getter functions 2015-01-20 13:41:48 +00:00
Luke Phillips
bc7c76998b LFO getter functions 2015-01-20 12:31:28 +00:00
Yotam Mann
2e15f03490 Revert Tone.Volume representation 2015-01-05 23:33:05 -05:00
Yotam Mann
a60ec836db migrating to Tone.Volume representation 2015-01-05 22:46:19 -05:00
Yotam Mann
3a0845f009 sync/unsync the LFO 2014-12-19 16:40:06 -05:00
Yotam Mann
6ddf1b372f single 'setVolume' definition in Master 2014-12-19 16:27:50 -05:00
Luke Phillips
9b4e69eaed added MultibandEQ 2014-12-17 14:22:58 +00:00
Yotam Mann
63876cafe2 LFO, changing 'rate'->'frequency' 2014-12-08 11:02:47 -05:00
Yotam Mann
daf428b23b fixed velocity bug 2014-12-08 11:02:22 -05:00
Yotam Mann
ba90b842a1 Envelope no longer has an exponent 2014-12-06 16:48:57 -05:00
Yotam Mann
f7a14f2b37 all frequency values accept a note name as well 2014-12-06 16:48:36 -05:00
Yotam Mann
1b9cc1483b jsdoc'ing 2014-12-03 17:20:23 -05:00
Yotam Mann
902f1fa24d updating Envelope ADR types 2014-12-02 10:39:19 -05:00
Yotam Mann
2d0bcffc9f adding defaults to jsdocs 2014-12-02 01:42:08 -05:00
Yotam Mann
25496dea77 switched to updated chain method 2014-11-30 21:32:09 -05:00
Yotam Mann
152f0cdda5 using updated fan method 2014-11-30 21:20:12 -05:00
Yotam Mann
cf2cb263b2 chain -> connectSeries, fan -> connectParallel 2014-11-30 17:37:29 -05:00
Yotam Mann
310231dbd1 using Tone.WaveShaper instead of native node 2014-11-30 13:20:35 -05:00
Yotam Mann
ffd5ac875a LFO has a defaults object 2014-11-29 21:54:29 -05:00
Yotam Mann
574c75f7c6 Tone.Limiter is a compressor with limiter settings 2014-11-29 21:47:28 -05:00
Yotam Mann
5fdc2cfd38 updated to new Tone.Scale API 2014-11-29 21:36:32 -05:00
Yotam Mann
f1593c1a29 new class PanVol. combined Pan and Vol
useful for making stereo mixer-type things
2014-11-04 01:27:36 -05:00
Yotam Mann
adcf3a0c74 small object count optimization 2014-11-04 01:23:59 -05:00
Yotam Mann
f7a0590ec5 optimizing comb filters
also trying to get them to crash less often. (i think it worked)
2014-11-04 00:46:31 -05:00
Yotam Mann
4272e051ee created ScaledEnvelope as its own class
factors out the scaling from the amplitude env and normal envelope
2014-11-04 00:44:16 -05:00
Yotam Mann
043172df7c keeping reference to Float32Array
potentially causing crashes (trying to debug)
2014-11-03 19:22:17 -05:00
Yotam Mann
d0bcc2f931 max delay time on feedback comb filter 2014-11-03 11:34:02 -05:00
Yotam Mann
d3866bcf51 using new Envelope internals 2014-11-01 21:55:19 -04:00
Yotam Mann
a830f4b711 handles exponential scaling 2014-11-01 21:54:40 -04:00
Yotam Mann
264c56a343 small dry/wet optimization 2014-11-01 16:17:27 -04:00
Yotam Mann
7f4b873aa8 Follower uses subtract 2014-10-30 19:44:05 -04:00
Yotam Mann
167d989828 using bufferTime in Follower 2014-10-19 22:07:18 -04:00
Yotam Mann
68dea5880a 3 band compressor 2014-10-19 21:55:55 -04:00
Yotam Mann
fdae3c0b5b thin DynamicsCompressorNode wrapper 2014-10-19 21:55:18 -04:00
Yotam Mann
baf1f0162a enforce min time on Tone.Follower 2014-10-13 19:21:34 -04:00
Yotam Mann
d1cf785350 some jsdoc notes on Meter and Recorder 2014-10-13 17:31:07 -04:00
Yotam Mann
05b2415fa6 wrote EQ in terms of MutibandSplit 2014-10-13 15:58:06 -04:00
Yotam Mann
757c114ede new class MultibandSplit
splits incoming signal into low/mid/high frequency bands
2014-10-13 15:57:53 -04:00
Yotam Mann
d1d155f58d envelope stays tempo relative until triggered 2014-10-02 13:23:04 -04:00
Yotam Mann
2cabd2bd3e new class FeedbackCombFilter 2014-09-21 13:37:45 -04:00
Yotam Mann
f8ae02b5f9 made Mono into it's own component 2014-09-21 13:37:08 -04:00
Yotam Mann
018498b22a start out with the min delay time 2014-09-20 21:18:37 -04:00
Yotam Mann
f076dec1e1 fixed dispose method 2014-09-20 19:22:35 -04:00
Yotam Mann
760c397bfd new class LowpassCombFilter 2014-09-20 18:06:41 -04:00
Yotam Mann
efd2def64b triggerAttackRelease on Envelope 2014-09-20 15:18:36 -04:00
Yotam Mann
d612dd8705 AmplitudeEnvelope
new class
2014-09-20 15:18:08 -04:00
Yotam Mann
ad703e51d1 eq in db now 2014-09-11 20:31:37 -04:00
Yotam Mann
cc95ee6caf instrument tests
fixed dispose methods bc of tests.
2014-09-09 15:30:36 -04:00
Yotam Mann
6637833ed4 added detune parameter 2014-09-09 12:36:14 -04:00
Yotam Mann
71af6ca206 testing dispose methods for all classes.
a few classes were not being disposed correctly and leaving some
garbage attached.
2014-09-06 18:55:11 -04:00