Commit graph

452 commits

Author SHA1 Message Date
Yotam Mann
7388548e9d also set signal value for AudioParamsq
accidentally removed this
2019-07-11 17:32:57 -04:00
Yotam Mann
e328619fb4 converting Abs to ts 2019-07-11 17:20:11 -04:00
Yotam Mann
95bc7bed7e linting 2019-07-11 17:15:00 -04:00
Yotam Mann
71729c0827 Signal doesn't overwrite the output if not set to 'override' 2019-07-11 17:14:23 -04:00
Yotam Mann
d6143a0e60 adding new base class for some signals
replaces SignalBase
2019-07-11 17:13:58 -04:00
Yotam Mann
182d1040db converting WaveShaper to ts 2019-07-11 17:13:43 -04:00
Yotam Mann
117b4667d4 fixing test 2019-07-11 17:13:11 -04:00
Yotam Mann
d5014d36a8 convert to ts 2019-07-11 17:11:29 -04:00
Yotam Mann
8e551ff755 convert to ts 2019-07-11 17:11:17 -04:00
Yotam Mann
8a9c8f2edf convert to ts 2019-07-11 17:11:07 -04:00
tambien
f14add5519 adding a short timeout bc Canary is running out of contexts 2019-06-19 17:33:00 -04:00
tambien
5f99bdbdf0 value can be any 2019-06-19 15:52:24 -04:00
tambien
730a818bcb organizing into sub folders 2019-05-23 14:00:49 -04:00
tambien
df08425a70 started retooling with typescript 2019-04-12 10:37:47 -04:00
tambien
184102ab4c removing shims
will replace with standardized-audio-context
2019-03-25 22:58:36 -07:00
tambien
d694612ef8 fixing docs and deps imports 2019-03-08 13:01:41 -05:00
tambien
933136abdf removing unnecessary proxy parameter 2019-02-02 14:05:07 -05:00
tambien
9ab460f0b0 tick signal does a setValueAtTime initially
no need for this test
2019-02-01 11:36:25 -05:00
tambien
2780cac504 using Tone.connect for connections with native nodes
addresses #421
2019-01-28 11:02:15 -05:00
tambien
ed71d8141b amd to es6 import/export
no longer using AMD (require.js) style imports, and beginning to move to es6 "import/export" statements everywhere.
2019-01-27 13:05:20 -05:00
tambien
3d1202043a all modules are relative paths
simplifies deep references to individual files
2018-08-26 22:29:17 -04:00
Yotam Mann
6dbb025c2a removing signal proxies
added too much difficulty with garbage collection, too many edge cases
2018-06-09 12:55:29 -04:00
tambien
43130a5800 reverting TickSignal 2018-06-05 22:56:28 -04:00
tambien
8cb4fc32d9 signals extend Tone.Signal again
but are set proxy = false initially
2018-06-05 22:42:17 -04:00
tambien
5a3b905aec revert: TransportTimelineSignal extends Signal 2018-06-05 22:02:42 -04:00
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