Commit graph

1809 commits

Author SHA1 Message Date
Yotam Mann
9428e6c1b8 relaxing optimization slightly. only when connected to an AudioParam or Param 2018-02-05 00:15:49 -05:00
Yotam Mann
f086f58c75 OscillatorNode is a fire-and-forget Oscillator 2018-02-04 22:55:19 -05:00
Yotam Mann
4914fbe771 optimizing signal connections for basic use case 2018-02-04 17:01:30 -05:00
Yotam Mann
68a0f1ae8c don't convert if value is overridden 2018-02-04 13:03:03 -05:00
Yotam Mann
6076be97af calling connect from this instead of this.output 2018-02-04 11:41:19 -05:00
Yotam Mann
ea5d3880c0 using SignalBase.connect instead of Signal.connect 2018-02-04 11:40:47 -05:00
Yotam Mann
c7728ba738 private onConnect method called on node receiving connection 2018-02-04 11:40:11 -05:00
Yotam Mann
c004145dc0 optimizing basic waveform case 2018-02-04 11:33:54 -05:00
Yotam Mann
169ee8e7db updating jsdocs private unit field 2018-01-30 13:00:50 -05:00
Alexander Leon
7a6f976b68 fix typo (#296) 2018-01-29 12:58:48 -05:00
Yotam Mann
62f38bb021 linting 2018-01-22 16:34:47 -05:00
Yotam Mann
6a0c21a77c using 'includes' instead of 'indexOf' 2018-01-22 16:21:50 -05:00
Yotam Mann
6c087908e3 Allow for multiple tries to render audio on iOS
addresses #237
2018-01-22 16:19:26 -05:00
Yotam Mann
177130ec36 BufferSourceNode shim for OfflineAudioContext on iOS
addresses #237
2018-01-21 22:33:02 -05:00
Yotam Mann
5d85e15f2f check that a param is defined 2018-01-21 22:30:19 -05:00
Yotam Mann
87217d1ab4 does not invoke stop from start in case playbackRate changes
fixes #292
2018-01-17 13:18:51 -05:00
Yotam Mann
9dbb54ff6a AudioNode.connect returns the connected to node
fixes #291
2018-01-11 09:36:08 -08:00
Yotam Mann
fd84c251f7 eslinting 2018-01-03 12:07:06 -05:00
Yotam Mann
ea41ebb599 simple convolution-based reverb 2018-01-03 12:04:27 -05:00
Yotam Mann
3f72fec6f9 returning a promise defers the rendering till the promise has resolved 2018-01-03 12:02:10 -05:00
Yotam Mann
92454266f7 sync/unsync triggerAttack/Release to the Transport 2018-01-02 16:49:41 -05:00
Yotam Mann
d3b2444203 lowering default resonance 2018-01-02 16:48:38 -05:00
Yotam Mann
ec3a2d24e2 using getTicksAtTime to get the most accurate BarsBeatsSixteenths 2018-01-02 12:25:13 -05:00
Yotam Mann
dded291a25 linting 2018-01-02 10:37:27 -05:00
Yotam Mann
077ae6d69a Source sync and start after Transport is already running 2018-01-02 10:35:39 -05:00
Yotam Mann
56aa333ea8 close always returns a Promise 2017-12-30 01:06:23 -05:00
Yotam Mann
08607ad9af linting 2017-12-30 00:21:08 -05:00
Yotam Mann
b0f729c9f1 static fromUrl method. 2017-12-30 00:06:53 -05:00
Yotam Mann
4e26a039bc handling error case when url is passed into constructor 2017-12-30 00:06:27 -05:00
Yotam Mann
7bbba9d453 removing AudioParam shim
moved all functionality to Tone.Param
2017-12-29 23:16:28 -05:00
Yotam Mann
f1cd128e95 documenting cancelAndHoldAtTime 2017-12-29 21:20:29 -05:00
Yotam Mann
b4feef6776 linting 2017-12-29 21:19:57 -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
8ed7a87b45 correcting spelling 2017-12-29 20:44:16 -05:00
Yotam Mann
dc8111665f Envelope uses Signal not TimelineSignal 2017-12-29 20:42:01 -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
985ce80a71 updated Transport.syncSignal to new Param values 2017-12-29 20:07:24 -05:00
Yotam Mann
0b09c674b4 TickSignal extends Signal instead of TimelineSignal 2017-12-29 20:06:47 -05:00
Yotam Mann
1104f3cfc0 moving automation logic to Param instead of AudioParam shim 2017-12-29 20:05:57 -05:00
Yotam Mann
b4c81f7115 misspelled Approach in exponentialApproachValueAtTime 2017-12-29 20:04:46 -05:00
Yotam Mann
56fba436c0 reverting "wrapping object configuration in try/catch" 2017-12-29 17:53:17 -05:00
Yotam Mann
ab40b18954 linting 2017-12-29 17:38:31 -05:00
Yotam Mann
dc0f21f4a8 wrapping object configuration in try/catch 2017-12-29 17:32:24 -05:00
Yotam Mann
6b19803d5f syncing tremolo frequency to Transport 2017-12-29 13:48:01 -05:00
Yotam Mann
b7424b5e4f using the bpm at the current time 2017-12-29 13:47:36 -05:00
Yotam Mann
1879f59d7a updating regex 2017-12-29 13:13:46 -05:00
Yotam Mann
150e0bf83a linting 2017-12-29 12:26:51 -05:00
Yotam Mann
10727105f8 linting 2017-12-29 12:20:51 -05:00
Yotam Mann
0f7ee4344f WaveShaperNode shim 2017-12-29 12:02:40 -05:00
Yotam Mann
3e04de993b no sampleRate logging 2017-12-29 11:25:33 -05:00
Yotam Mann
10af6b1f7b fixing linting error 2017-12-29 11:09:55 -05:00
Yotam Mann
d0c7add2ae print context sample rate for debugging osx failures 2017-12-29 11:03:06 -05:00
Yotam Mann
ef25147c2a re-adding Safari shim 2017-12-28 18:49:47 -05:00
Yotam Mann
5ba49351d9 additional safety flag for if the internal BufferSourceNode is actually started
checking if the offset < duration keeps safari from going into invalid
state
2017-12-28 18:43:53 -05:00
Yotam Mann
3f996c2bc0 requiring BufferSource 2017-12-28 18:43:05 -05:00
Yotam Mann
83ec5d3288 transpose and harmonize Midi notes 2017-12-27 17:29:26 -05:00
Yotam Mann
4d8812ee02 transpose and harmonize a Tone.Frequency
fixes #219
2017-12-27 17:29:10 -05:00
Yotam Mann
7bd133ca02 using getTicksAtTime for better accuracy when getting progress 2017-12-27 16:29:15 -05:00
Yotam Mann
d72fba9bf7 using setTicksAtTime for more accuracy when setting/looping 2017-12-27 16:28:41 -05:00
Yotam Mann
40891fb865 using clock seconds
they are accurate even during bpm automation curves
2017-12-27 16:24:27 -05:00
Yotam Mann
32d5451293 ability to get/set ticks at a given time. more accurate seconds counter using elapsed ticks. 2017-12-27 16:23:39 -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
be8027549a use 'this.now()' instead of Tone.now() 2017-12-27 11:51:50 -05:00
Yotam Mann
8dbaf71d89 forEachBetween iterator 2017-12-27 11:46:27 -05:00
Yotam Mann
e3d9cd136a use 'this.now()' instead of Tone.now() 2017-12-27 11:45:37 -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
7bf39fc7c5 using Math.log2 instead of dividing by Math.LN2 2017-12-18 10:45:25 -05:00
Yotam Mann
3ea44d3af6 linting 2017-12-17 14:49:26 -05:00
Yotam Mann
d4afe1e6ee Tone.Midi is primitive type for Midi notes 2017-12-17 14:48:25 -05:00
Yotam Mann
2138d2c26f adding toMidi() 2017-12-17 14:48:08 -05:00
Yotam Mann
456dd7ceb3 making midi<->freq conversions static 2017-12-17 14:47:51 -05:00
Yotam Mann
77d352450f moving basic conversions to TimeBase 2017-12-17 14:44:36 -05:00
Yotam Mann
1bb0a95a8e clone array so that events can be added/removed during iteration 2017-12-17 14:18:47 -05:00
Yotam Mann
0bb2391a43 clean up time value on dispose 2017-12-17 13:33:09 -05:00
Yotam Mann
e55b1e9dc1 toNotation() returns closest notation representation 2017-12-17 13:26:21 -05:00
Yotam Mann
38d493fc68 using Tone.Ticks to represent times 2017-12-17 13:26:04 -05:00
Yotam Mann
cee2d3da3a TransportTime returns seconds instead of Ticks
introducing Ticks for tick representation
2017-12-17 13:24:34 -05:00
Yotam Mann
32374fe27a constructor can take another type and convert it to target type 2017-12-17 13:23:31 -05:00
Yotam Mann
ade2778082 Tone.Ticks extends TransportTime 2017-12-17 13:17:46 -05:00
Yotam Mann
92c7638786 evaluate time with .valueOf 2017-12-17 12:53:34 -05:00
Yotam Mann
ac6af1cf56 simplifying TimeBase classes. No longer evaluate expressions 2017-12-16 14:31:09 -05:00
Yotam Mann
933fa95b45 define loopStart/End, subdivision and interval in terms of seconds 2017-12-16 14:23:08 -05:00
Yotam Mann
8f3f480baa loopStart/End times in Time instead of TransportTime 2017-12-16 14:08:22 -05:00
Yotam Mann
41eeb9884f adding min/maxValue to Param 2017-12-16 13:09:52 -05:00
Idicious
43c2e9b449 Increased general accurary of dbToGain method + updated test cases. (#279)
* Increased general accurary of dbToGain method + updated test cases.

* Increased test accuracy
2017-12-16 00:04:50 -05:00
Yotam Mann
b929b26ca4 can pass in an unloaded Tone.Buffer into Convolver constructor
fixes #277
2017-12-15 23:36:39 -05:00
Yotam Mann
e4380a048b player can be constructed with unloaded Tone.Buffer
onload callback is invoked when the Buffer parameter is loaded

fixes #273
2017-12-15 23:06:06 -05:00
Yotam Mann
4c783c9b09 buffer can be constructed with an unloaded Buffer
load callback is invoked when parameter Buffer is loaded
2017-12-15 23:04:22 -05:00
Yotam Mann
bc2be646dc fixing linting errors 2017-12-15 12:50:30 -05:00
Yotam Mann
0d22648aef adding 'once' to mixin methods 2017-12-15 12:49:53 -05:00
Yotam Mann
e184f9f149 using native connect instead of 'chain' 2017-12-15 12:49:41 -05:00
Yotam Mann
7d1b06f1bb promise-based decodeAudioData 2017-12-15 12:48:58 -05:00
Yotam Mann
167af325b5 decodeAudioData promise shim 2017-12-15 12:48:46 -05:00
Yotam Mann
a6ebaeeb9f Emitter.once invokes a callback only once 2017-12-15 11:11:14 -05:00
Yotam Mann
db4e5fab0d if the constructor delayTime is greater than the maxDelay, use the delayTime as the maxDelay
fixes #280
2017-12-06 13:16:22 -05:00