Commit graph

325 commits

Author SHA1 Message Date
Yotam Mann
bed6181b70 no input node on TimelineSignal
that way nothing could be connected to it which would overwrite its
computed values
2017-05-26 17:17:32 -04:00
Yotam Mann
686a591219 linting 2017-05-26 16:55:03 -04:00
Yotam Mann
f86639fc8e Tone.TickSignal calculates elapsed ticks
sums area under scheduling curve. approximates exponential and target
curves using multiple linear ramps
2017-05-26 16:45:30 -04:00
Yotam Mann
c9203221aa making blockTime and sampleTime static vars 2017-05-07 19:15:35 -07:00
Yotam Mann
b927395825 making defaultArg static 2017-04-30 15:03:49 -04:00
Yotam Mann
4bda177b83 gainToDb, dbToGain, intervalToFrequencyRatio now static functions 2017-04-26 23:21:26 -04:00
Yotam Mann
edfa168713 moving to static type queries
i.e. this.isString -> Tone.isString
2017-04-26 00:24:19 -04:00
Yotam Mann
a48a980861 moving signals to static defaults
invoking super constructor in prep for es6 classes
2017-04-25 23:45:37 -04:00
Yotam Mann
af58fd34de updating to new getConstant API 2017-03-22 11:43:36 -04:00
Yotam Mann
662951cff9 uses constant from context 2017-02-19 23:56:04 -05:00
Yotam Mann
19a41080ba moving constants to Context 2017-02-19 11:48:23 -05:00
Yotam Mann
998444c528 removing silent node connection
seems like gain of 0 is optimized out in most cases anyways
2017-01-30 22:35:27 -05:00
Yotam Mann
9c94b89eec renaming addEvent->add, removeEvent->remove, getEvent->get 2016-12-18 21:56:22 -05:00
Yotam Mann
07ba833ded making sure it has the time before passing it into Timeline classes 2016-09-20 19:35:07 -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
66c344de38 using Tone.Gain for Multiply 2016-09-19 21:44:41 -04:00
Yotam Mann
810ee8530e uses the units value when ramping
previously there was an issue that it would start ramping from the
unconverted value.
2016-07-06 23:00:07 -04:00
Yotam Mann
4628f8c47a prefixing errors with class name. 2016-05-25 20:50:46 -04:00
Yotam Mann
29df1b2293 setValueCurveAtTime now implemented with a series of linearRampToValue
this is more cross-platform and easier to work with.
2016-05-23 19:19:06 -04:00
Yotam Mann
8e3d3264dd setting a value will cancel scheduled values
so that it gets set immediately.
2016-05-14 19:18:33 -04:00
Yotam Mann
733b49bcd5 using new types 2016-04-18 00:36:08 -04:00
Yotam Mann
d47cc0fa9d fixed precedence bug 2016-04-13 12:29:02 -04:00
Yotam Mann
52186f6d31 noting polyfill
[skip ci]
2016-03-20 18:58:08 -04:00
Yotam Mann
e18ed2e677 polyfill for browsers that don't support interpolate value curves
Required by [the
spec](http://webaudio.github.io/web-audio-api/#widl-AudioParam-setValueC
urveAtTime-AudioParam-Float32Array-values-double-startTime-double-durati
on), but not currently implemented by Safari and FF.
2016-03-20 18:36:59 -04:00
Yotam Mann
40d739fc4d More waveshaper points
works better on Safari
2016-03-16 13:09:46 -04:00
Yotam Mann
04614a2948 added setCurveAtTime to Timeline 2016-03-05 10:44:03 -05:00
Yotam Mann
18b2136148 .value returns the scheduled value at time=now 2016-03-03 13:04:02 -05:00
Yotam Mann
93d70a3a9e waveshaper goes between -1 and 1 inclusive 2016-02-27 17:08:53 -05:00
Yotam Mann
23c70cbc93 disposing fully 2016-02-27 11:22:26 -05:00
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
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
3bbd66c5d2 constrain TimelineSignal's memory 2015-12-07 00:19:38 -05:00
Yotam Mann
ae669e7fa6 making sure the ramp time constant is above 0 2015-12-06 13:14:36 -05:00
Yotam Mann
1b10f4e47b reverting. getValueAtTime should return unconverted units
Making a note of this in the docs
2015-11-26 01:24:34 -05:00
Yotam Mann
093d2e3a36 getValueAtTime returns converted values 2015-11-23 23:49:54 -05:00
Yotam Mann
2c215ce703 setting ramp point cancels next values so they don't interfere with the next ramp 2015-11-16 11:11:01 -05:00
Yotam Mann
858c815640 docing 2015-11-02 20:09:19 -05:00
Yotam Mann
2d6d733008 signal uses regular gain node 2015-11-01 17:49:14 -05:00
Yotam Mann
4bb7f2928a inherit connect SignalBase 2015-10-21 12:12:17 -04:00
Yotam Mann
7fc477b746 removing circular dependency 2015-10-21 12:11:41 -04:00
Yotam Mann
cd3ae4f860 Timeline signal using new Tone.Param 2015-10-21 10:53:43 -04:00
Yotam Mann
b73a8cb71f updating to new Param class 2015-10-21 10:34:37 -04:00
Yotam Mann
11b4995b25 moving overridden flag to Param 2015-10-21 10:27:44 -04:00
Yotam Mann
0f841ff709 Signal extends Param and uses new Gain node 2015-10-21 10:11:34 -04:00
Yotam Mann
386acdbb03 Param base class wraps native AudioParam 2015-10-21 10:01:40 -04:00
Yotam Mann
f844b6b021 updating docs 2015-10-11 16:02:10 -04:00
Yotam Mann
7c0318cbdf getNextEvent->getEventAfter 2015-09-05 16:27:42 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
66d8566c9e correctly converts from units
I was converting the values twice.
2015-08-31 15:14:34 -04:00
Yotam Mann
a42b8e74ee making the signal explicitly 1 channel 2015-08-28 18:33:31 -04:00
Yotam Mann
9659689fd8 constant signal generator is now AudioBufferSource 2015-08-24 17:30:49 -04:00
Yotam Mann
102262cea9 removing unnecessary safari inconsistency bug 2015-08-24 17:30:11 -04:00
Yotam Mann
499bb57ac6 updating doc 2015-08-24 17:29:52 -04:00
Yotam Mann
c0bf3556dc added AudioToGain method 2015-08-21 17:04:44 -04:00
Yotam Mann
7cb373635d renamed Signal methods
setCurrentValueNow -> setRampPoint, linearRampToValueNow ->
linearRampToValue
2015-08-21 15:02:33 -04:00
Yotam Mann
b5c94bbfee clarifying _toUnits and _fromUnits 2015-08-18 16:29:15 -04:00
Yotam Mann
72ee2dcc37 renamed Schedulable to Timeline 2015-08-18 16:28:55 -04:00
Yotam Mann
8ed60da67a updated to new Schedulable API 2015-08-17 01:01:04 -04:00
Yotam Mann
2fcb93f3ce don't cancel scheduled values when setting a value 2015-08-17 01:00:02 -04:00
Yotam Mann
b74b8a781d using minOutput throughout 2015-08-16 15:16:07 -04:00
Yotam Mann
d56f4c196e schedulable signal class
Allows state in the future to be queried
2015-08-16 15:15:54 -04:00
Yotam Mann
a5820e406e updated link 2015-08-10 14:40:03 -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
8ffd6e538f fixed doc bugs 2015-06-22 01:21:25 -04:00
Yotam Mann
4e9cb3ce1e doc'ing 2015-06-20 15:50:57 -04:00
Yotam Mann
b13beccba8 doc'ing signals 2015-06-19 00:52:04 -04:00
Yotam Mann
cf6fdefdab doc'ing signals 2015-06-14 01:17:09 -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
d29ecdad36 parameter can be passed in 2015-06-07 13:16:50 -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
eec1c3135d option not to convert units
that would make the .units attribute only for labelling and
non-functional.
2015-05-05 16:38:46 -04:00
Yotam Mann
90a3aeb151 removing setValueAtTime in exponential ramp 2015-04-18 20:24:07 -04:00
Yotam Mann
c0de630442 fixing dispose methods 2015-04-05 14:42:14 -04:00
Yotam Mann
7f984464bd properly disposing readonly objects
first making them writable
2015-04-05 14:35:32 -04:00
Yotam Mann
550ceb5038 stricter interface on signal attributes 2015-04-05 14:25:01 -04:00
Yotam Mann
6b1373e431 cosmetics 2015-04-05 14:01:05 -04:00
Yotam Mann
da1d03b616 inverse of AudioToGain
maps values in the gain range [0, 1] to the audio range [-1, 1]
2015-04-05 12:13:03 -04:00
Yotam Mann
7be93abc0a correctly maps values in Safari
Fixes #59
2015-04-05 12:12:32 -04:00
Yotam Mann
b093dd4d73 deleting deprecated classes 2015-03-26 10:50:48 -04:00
Andrew Petersen
a2aeffe2a2 prevent SyntaxError(s) in Firefox 2015-03-21 23:24:54 -04:00
Luke Phillips
237202c049 updated typescript definitions and fixed a few type errors 2015-03-07 19:17:16 +00:00
Luke Phillips
db5c6eb865 remove old get and set functions 2015-03-07 18:41:10 +00:00
Luke Phillips
d2755e10de Merge Tone r4 2015-03-05 16:06:27 +00:00
Yotam Mann
930728648b jsdoc'ing 2015-02-27 13:40:35 -05:00
Yotam Mann
0c4a67296a simplified modulo by constraining input range
only handles inputs between -1 and 1
2015-02-27 13:00:20 -05:00
Yotam Mann
a791d80ddf removing some vestigial methods 2015-02-26 11:26:49 -05:00
Yotam Mann
76973cda7d changed internal tag to private tag
JSDoc stuff
2015-02-25 16:19:43 -05:00
Yotam Mann
9722415a4c deprecated Inverse and Divide
They were more complicated than they were useful.
2015-02-23 19:39:46 -05:00