Commit graph

427 commits

Author SHA1 Message Date
tambien
f7633a5c73 testing signal proxies 2018-06-05 21:58:00 -04:00
tambien
e7b9045160 components extend Param instead of Signal 2018-06-05 21:53:28 -04:00
tambien
57070d987b only disconnecting when signal is started
fixes #338
2018-05-25 18:24:45 -04:00
Yotam Mann
319ae28fa8 using setValueAtTime instead of .value
fixes #288
2018-05-19 17:32:32 -04:00
Yotam Mann
a5503e02d2 linting 2018-03-05 12:25:33 -05:00
Yotam Mann
3d0a8005b7 removing isPast warning
clutters up tests, rarely helpful for debugging
2018-03-01 14:38:40 -05:00
Yotam Mann
5a04a72d34 TickSignal is slightly more accurate
removes sampleTime subtraction where possible
2018-02-27 17:04:01 -05:00
Yotam Mann
cf138c03b4 TickSource tracks elapsed ticks can start/stop
no pause yet
2018-02-25 17:25:32 -05:00
Yotam Mann
8f0b5d2279 making onConnect private 2018-02-08 11:02:30 -05:00
Yotam Mann
9428e6c1b8 relaxing optimization slightly. only when connected to an AudioParam or Param 2018-02-05 00:15:49 -05:00
Yotam Mann
4914fbe771 optimizing signal connections for basic use case 2018-02-04 17:01:30 -05:00
Yotam Mann
dded291a25 linting 2018-01-02 10:37:27 -05:00
Yotam Mann
f1cd128e95 documenting cancelAndHoldAtTime 2017-12-29 21:20:29 -05:00
Yotam Mann
e201ca1958 ignore isPast warning for certain classes 2017-12-29 21:15:47 -05:00
Yotam Mann
5b80d1014a get the _param's value if available 2017-12-29 21:15:30 -05:00
Yotam Mann
6687fbbd77 set the value directly instead of setting _param.value 2017-12-29 21:15:10 -05:00
Yotam Mann
46df5578d9 removing TimelineSignal 2017-12-29 20:41:49 -05:00
Yotam Mann
3554eebc46 TransportTimelineSignal extends Signal instead of TimelineSignal 2017-12-29 20:41:34 -05:00
Yotam Mann
0b09c674b4 TickSignal extends Signal instead of TimelineSignal 2017-12-29 20:06:47 -05:00
Yotam Mann
0f7ee4344f WaveShaperNode shim 2017-12-29 12:02:40 -05:00
Yotam Mann
ef25147c2a re-adding Safari shim 2017-12-28 18:49:47 -05:00
Yotam Mann
60cdeaa5f3 converting between ticks and seconds during automation curves
fixes #169
2017-12-27 16:21:45 -05:00
Yotam Mann
a10ea86882 use setValueAtTime for .value setting 2017-12-27 16:18:14 -05:00
Yotam Mann
f6bd45036e increasing number of segments in exponential and approach ramps 2017-12-25 14:43:59 -05:00
Yotam Mann
e61a4c5fe2 renaming to getTicksAtTime 2017-12-21 15:13:43 -05:00
Yotam Mann
27b1513ddf removing Tone.Expr
no more use for this class
2017-11-29 16:28:47 -05:00
Yotam Mann
4316530b16 linting 2017-10-26 16:03:00 -04:00
Yotam Mann
c58fad41f0 linting 2017-10-26 15:26:04 -04:00
Yotam Mann
9ddb392b7c flagging line to ignore 2017-10-26 13:27:07 -04:00
Yotam Mann
5feb1976f7 linting 2017-10-26 13:25:37 -04:00
Yotam Mann
255b20cebb signal uses ConstantSourceNode (shimmed when not available) 2017-10-26 11:33:42 -04:00
Yotam Mann
4628ff3c64 increasing the number of values in the abs array 2017-10-25 18:17:00 -04:00
Yotam Mann
89743bc91a reverting while loop 2017-10-25 17:59:35 -04:00
Yotam Mann
cb2a982c39 linting 2017-10-21 19:02:46 -04:00
Yotam Mann
8340b4856c correctly setting ramp point for all curve types 2017-09-13 11:02:17 -04:00
Yotam Mann
994d932f2c fixing typo in variable name 2017-09-13 10:02:01 -04:00
Yotam Mann
3fa2c1a69d correcting internal link 2017-08-31 18:24:18 -04:00
Yotam Mann
6662ca8670 adding cancelAndHold to signal classes
with fallback for unsupported browsers
2017-08-31 12:41:15 -04:00
Yotam Mann
29100b8152 setting method to private 2017-08-27 20:00:28 -04:00
Yotam Mann
e4044bf39e TransportTimelineSignal is a TimelineSignal which can be scheduled to the Transport 2017-08-27 19:42:10 -04:00
Yotam Mann
e6faa39dba classes which generate or process sound extend Tone.AudioNode 2017-08-27 17:50:31 -04:00
Yotam Mann
d1af3f71ca connect instead of chain 2017-08-08 13:30:38 -04:00
Yotam Mann
486344bb87 replacing set curve internals with a series of linear ramps
simplifies code
2017-08-08 13:30:38 -04:00
Yotam Mann
9f31807cf4 sampleTime and blockTime should be instance variables not static 2017-07-27 17:54:57 -04:00
Yotam Mann
effd317acd Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2017-07-27 17:46:15 -04:00
Yotam Mann
b9170401b0 using unit conversion 2017-05-28 20:47:27 -04:00
Yotam Mann
06a3413824 removing start/stop/pause events from TickSignal
adding `getDurationOfTicks`
2017-05-28 16:55:25 -04:00
Yotam Mann
7afa2c578c cancel->cancedScheduledValues 2017-05-28 14:14:22 -04:00
Yotam Mann
5a8550690f start/stop/pause events to TickSignal 2017-05-28 14:02:15 -04:00
Yotam Mann
aa5b81f8d1 linting 2017-05-26 22:25:12 -04:00
Yotam Mann
323eb3000a using inverse integral technique described in WAC paper 2017-05-26 22:16:09 -04:00
Yotam Mann
8727ca4383 linting 2017-05-26 17:39:45 -04:00
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