Commit graph

1510 commits

Author SHA1 Message Date
Yotam Mann
741073c17b transitioning defaults->optionsObject
slightly different API. defaults includes the default constructor API
without it needing to be passed in.
2017-04-24 22:08:59 -04:00
Yotam Mann
0befd293c9 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2017-04-20 15:14:44 -04:00
Yotam Mann
b82f2bd6d7 surfaced returnType in docs
[skip ci]
2017-04-20 15:13:30 -04:00
Yotam Mann
88c0ea4fb6 fixed example to new UserMedia API
[skip ci]
2017-04-20 15:12:16 -04:00
Yotam Mann
2073ccdf8c fixing panning in example
[skip ci]
2017-03-28 21:14:48 -04:00
Yotam Mann
12e1fcc272 increment version
[skip ci]
2017-03-28 20:57:04 -04:00
Yotam Mann
5569f7b26f latencyHint has moved to Tone.Context 2017-03-27 11:34:47 -04:00
Yotam Mann
38cc955b66 updating version 2017-03-26 19:26:00 -04:00
Yotam Mann
4499e80b2e uses passed in volume for _unmutedVolume 2017-03-26 16:40:00 -04:00
Yotam Mann
0df359a92f fixed formatting issue in docs
[skip ci]
2017-03-26 12:32:41 -04:00
Yotam Mann
4cec0fb7a3 mute is true when volume === -Infinity and false otherwise
fixes #221
2017-03-24 17:27:40 -04:00
Yotam Mann
bef5457c01 using Math.SQRT1_2
I didn’t know this existed
2017-03-22 15:21:21 -04:00
Yotam Mann
af58fd34de updating to new getConstant API 2017-03-22 11:43:36 -04:00
Yotam Mann
f3cb7e577c only creating constant sources when required
optimization
2017-03-22 11:43:35 -04:00
Yotam Mann
97c152d989 documenting Offline
[skip ci]
2017-03-22 11:15:50 -04:00
Yotam Mann
b5d6647c12 optimizing noise array creation
only created on initialization

addresses #216
2017-03-18 14:03:04 -04:00
Yotam Mann
971cfc1b93 variable name change 2017-03-18 14:01:23 -04:00
Yotam Mann
f859074254 catch block removes event listeners and throws error 2017-03-14 16:49:04 -04:00
Yotam Mann
1a1cb621e8 wrapping native getChannelData 2017-03-13 22:08:59 -04:00
Yotam Mann
10431589d2 moving shims to their respective files
hopefully simplifies maintenance
2017-03-13 01:12:20 -04:00
Yotam Mann
d81ad3e8c7 polyfilling getFloatTimeDomainData 2017-03-13 00:56:04 -04:00
Yotam Mann
3089f09083 also polyfilling copyFromChannel 2017-03-13 00:50:00 -04:00
Yotam Mann
5ab8f82d3e copyToChannel polyfill 2017-03-13 00:40:30 -04:00
Yotam Mann
84bbdb5c04 optimizing slice call
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functi
ons/arguments
2017-03-13 00:38:40 -04:00
Yotam Mann
d037c28d6f eval -> valueOf
thanks for the suggestion @JackCA
fixes #205
2017-03-12 21:31:23 -04:00
Yotam Mann
ea1b92e75a only set the clock ticks when the value has changed
optimization
2017-03-12 21:09:57 -04:00
Yotam Mann
a48b58eb95 removing old initAudioContext
replaced by Context.on(‘init’)
2017-03-12 21:03:17 -04:00
Yotam Mann
752a0a6bc4 Duration argument must be greater than 0
fixes #203
[skip ci]
2017-03-05 13:19:55 -05:00
Yotam Mann
dba464fcca safety checks for drift
fixes #199
2017-03-05 12:39:43 -05:00
Yotam Mann
39e923480f decibels also ramps exponentially 2017-03-01 15:46:21 -05:00
Yotam Mann
83a019c987 moving context dependency from Transport to Type 2017-02-28 19:01:09 -05:00
Yotam Mann
9919667467 shouldn't zero out next tick time 2017-02-28 18:09:53 -05:00
Yotam Mann
8e5d5e9872 fixing typo in comments
[skip ci]
2017-02-28 17:43:04 -05:00
Yotam Mann
9858dbe563 start method takes an optional duration
also includes start method docs

fixes #195
2017-02-20 14:03:36 -05:00
Yotam Mann
662951cff9 uses constant from context 2017-02-19 23:56:04 -05:00
Yotam Mann
4652203066 stopDownloads -> cancelDownloads 2017-02-19 12:01:15 -05:00
Yotam Mann
d82918a6ce referring to listener on the Context
instead of creating a local copy which can become out of sync with the
current AudioContext
2017-02-19 11:55:08 -05:00
Yotam Mann
b32f2606e7 convert the buffer to mono
replaces the existing buffer
2017-02-19 11:52:04 -05:00
Yotam Mann
4e5ff9d41d _initAudioContext -> "init" 2017-02-19 11:50:53 -05:00
Yotam Mann
91bdd210cd render offline audio 2017-02-19 11:50:34 -05:00
Yotam Mann
7549bdaa1a renaming _initAudioContext() -> on("init") 2017-02-19 11:50:15 -05:00
Yotam Mann
19a41080ba moving constants to Context 2017-02-19 11:48:23 -05:00
Yotam Mann
a74e84fa26 moving Clock worker to Context
offline clocks can be more easily rendered by the offline context
2017-02-19 11:45:43 -05:00
Yotam Mann
7aa336bee5 moving context creation to Tone.Context 2017-02-18 19:49:06 -05:00
Yotam Mann
5ceef2a227 OfflineContext extends Context 2017-02-18 19:48:15 -05:00
Yotam Mann
e08b7bc8fc AudioContext wrapping class 2017-02-18 19:47:28 -05:00
Yotam Mann
c3158bbcf7 fixing docs
fixes #202

[skip ci]
2017-02-16 12:04:12 -05:00
Yotam Mann
05765aae66 only create audio context when web audio is supported
otherwise logs a warning
2017-02-11 13:56:51 -05:00
Yotam Mann
29d6fdd3b3 only schedule animation frame when something is scheduled
fixes #194
2017-02-07 22:26:08 -05:00
Yotam Mann
7f06666729 only add a stop event if it's not synced to the Transport
fixes #192
2017-01-30 23:17:14 -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
0818f4f133 incrementing version 2017-01-30 22:12:53 -05:00
Yotam Mann
5d7c95b806 removing deprecated SimpleSynth
[skip ci]
2017-01-08 18:35:04 -05:00
Yotam Mann
3203b45d81 updating copyright year 2017-01-08 17:53:23 -05:00
Yotam Mann
9669e70d4f using a local instance instead of the class in example
[skip ci]
2017-01-08 17:20:55 -05:00
Yotam Mann
7f2608ab06 updated example to Promise api
[skip ci]
2017-01-08 17:20:07 -05:00
Yotam Mann
4f292a4897 updating version
[skip ci]
2017-01-08 17:19:03 -05:00
Yotam Mann
68ac2bb0da latencyHint example
[skip ci]
2017-01-08 17:18:41 -05:00
Yotam Mann
3c8d77d02b Merge branch 'master' into dev 2017-01-08 17:08:24 -05:00
Yotam Mann
11d6da77cc updating docs to UserMedia instead of Microphone
[skip ci]
2017-01-08 15:58:58 -05:00
Bobby Brennan
47d5299e9e Update FMSynth.js 2016-12-31 20:36:24 -05:00
Bobby Brennan
1b9d82b189 Update AMSynth.js 2016-12-31 20:35:57 -05:00
Yotam Mann
a416eafc97 documenting expiration and anticipation more clearly
[skip ci]
2016-12-28 15:39:24 -08:00
Yotam Mann
27739ca795 changing name of private lookAhead member and adding 'lag' member
‘lag’ is the amount that the clock is falling behind the desired update
interval
2016-12-25 19:38:19 -05:00
Yotam Mann
f70825fa17 start no longer starts one lookAhead in the future
made testing more difficult and inconsistent with other behavior of Time
2016-12-20 22:49:20 -05:00
Yotam Mann
5d15ee324f lookAhead -> latencyHint
more consistent with WAA spec
2016-12-20 22:47:37 -05:00
Yotam Mann
2c3fa527fd adding updateInterval
how often the web worker callback is invoked
2016-12-20 22:37:34 -05:00
Yotam Mann
095f40f529 reverting getStateAtTime method in Tone.Clock 2016-12-18 23:39:53 -05:00
Yotam Mann
31fe050475 getStateAtTime -> getValueAtTime 2016-12-18 22:14:14 -05:00
Yotam Mann
9c94b89eec renaming addEvent->add, removeEvent->remove, getEvent->get 2016-12-18 21:56:22 -05:00
Yotam Mann
1536420bc8 adding numberOfInputs/Outputs 2016-12-18 20:57:00 -05:00
Yotam Mann
23f220d62a updating jsdocs
[skip ci]
2016-12-18 20:26:44 -05:00
Yotam Mann
612b6c0b5e Tone.Draw for synchronizing animation frame and Tone.Clock 2016-12-18 20:26:11 -05:00
Yotam Mann
a0ea404745 Revert "deferred animation callback"
This reverts commit f685bcd5ae.
2016-12-18 13:43:23 -05:00
Yotam Mann
77640e7be3 delete pointer to scheduledOnce events after they are triggered 2016-12-18 13:41:23 -05:00
Yotam Mann
7f23302d01 linting 2016-12-17 16:35:50 -05:00
Yotam Mann
77953eede9 ExternalInput -> UserMedia
updated to latest MediaDevice API
2016-12-17 16:26:27 -05:00
Yotam Mann
0681181d67 speeding up the ramp time constant 2016-12-15 13:38:41 -05:00
Yotam Mann
cf69804322 uses buffer as string of actual buffer 2016-12-15 13:01:48 -05:00
Yotam Mann
423029d4b8 managing multiple starts of the same note 2016-12-15 12:48:49 -05:00
Yotam Mann
b19a2b5622 using setTimeout to trigger the onended callback 2016-12-15 12:48:06 -05:00
Yotam Mann
7a1380637e Previous playback is not stopped if retrigger=true
Fixes #186
2016-12-05 21:29:55 -05:00
Yotam Mann
8911dce68a Clock.start with undefined arg is scheduled into the future
if there is no argument passed into the first argument of Clock.start /
Transport.start, the currentTime + Clock’s lookAhead time will be used
as the start time.
2016-12-05 20:59:39 -05:00
Yotam Mann
f685bcd5ae deferred animation callback
This is useful for synchronizing animations with scheduled audio
events.
2016-12-03 12:15:37 -05:00
Yotam Mann
2b7789b3a9 peek and shift methods
this allows the timeline to be used as a priority queue.
2016-12-02 18:59:12 -05:00
Yotam Mann
267d78d4a4 ease renamed to cosine
[skip ci]
2016-11-22 22:38:58 -08:00
Yotam Mann
b721ee8ffd API to set Transport's lookAhead to customize the balance of latency and performance 2016-11-22 10:56:47 -08:00
Yotam Mann
d386ffed97 Convolver.load returns a Promise 2016-11-22 10:31:06 -08:00
Yotam Mann
84c1affe83 Clock uses static lookahead
lookAhead is more conservatively computed and adjusts to the largest
value.
2016-11-21 00:05:19 -08:00
Yotam Mann
5d469d44ba adding triggerAttackRelease jsdoc
Clarifies and Fixes #175

[skip ci]
2016-11-07 10:42:09 -05:00
Yotam Mann
8a88acd735 linting 2016-11-06 20:13:18 -05:00
Yotam Mann
823d6efc16 linting 2016-11-06 19:41:00 -05:00
Yotam Mann
3ca0eadafd .load method returns a Promise 2016-11-06 19:16:31 -05:00
Yotam Mann
45eba82840 updating to new Q values 2016-11-06 19:10:26 -05:00
Yotam Mann
e3d05840d9 'linear' attack removes pops in FF 2016-11-03 14:40:21 -04:00
Yotam Mann
99dd7717ec don't decrement on error
added method to abort all downloads in progress
2016-11-03 14:39:45 -04:00
Yotam Mann
0cd8e26bf6 Merge pull request #174 from gerardabello/dev
Call 'set' method instead of looking into Tone objects
2016-10-31 20:09:54 -04:00
Richard Kwan
f2cc562d23 Change docs to correct default swingSubdivision
The default swingSubdivison for the Transport is an 8th note, not a 16th note.
2016-10-31 08:17:17 -04:00
Yotam Mann
934e731f82 OmniOscillator in MembraneSynth 2016-10-20 11:45:28 -04:00
Yotam Mann
3f7c903302 sets event start/stop correctly when the loopEnd is changed to smaller than the initial value 2016-10-20 11:44:11 -04:00
Gerard Abelló
c9e5bd195a Call 'set' method instead of looking into Tone objects 2016-10-20 08:57:13 +02:00
Yotam Mann
6c222a4b03 looping transport emits 'loopStart' / 'loopEnd' instead of 'start' / 'stop'
Fixes #173
2016-10-19 14:50:55 -04:00
Yotam Mann
c1e5792497 passing in initial value 2016-10-19 01:01:40 -04:00
Yotam Mann
5efa85081c making all of Compressor's parameters Tone.Params 2016-10-19 01:01:31 -04:00
Yotam Mann
64a33b0c16 correcting offset when greater than loopEnd 2016-10-11 14:03:10 -04:00
Yotam Mann
6279582971 increment version 2016-10-11 14:01:03 -04:00
Yotam Mann
4a6fc4cc4b updating version 2016-10-05 10:36:41 -04:00
Yotam Mann
fb9d1617d8 updating docs
[skip ci]

private attribute was missing
2016-10-05 01:31:11 -04:00
Yotam Mann
b5ba9e072c ramping position values
this gets rid of a lot of clicking
2016-10-05 00:18:41 -04:00
Yotam Mann
b5ff5d365a Part accepts a objects that are not object literals in add/remove
it just needs to have a time property
2016-10-03 23:47:01 -04:00
Yotam Mann
bab37aea07 SpatialPanner and Listener wrappers 2016-10-01 21:45:22 -04:00
Yotam Mann
da59018fb3 convert the offset into seconds 2016-10-01 18:31:24 -04:00
Yotam Mann
b07577d53d using Tone.seconds instead of Tone.position in start/stop
so that it can be fed straight into getStateAtTime
2016-10-01 16:26:37 -04:00
Yotam Mann
0285b4d83f handle offset greater than the duration when set to loop 2016-09-29 09:57:31 -04:00
Yotam Mann
ecd5f9b5a3 only emit start/stop when setting ticks if transport is started 2016-09-29 00:52:00 -04:00
Yotam Mann
9ebd1dd7f4 min duration is 0 2016-09-26 21:13:20 -04:00
Yotam Mann
3d4bb4a9d1 removing rAF vestiges 2016-09-26 16:31:01 -04:00
Yotam Mann
753640bdeb seek to a position in the buffer 2016-09-25 22:32:54 -04:00
Yotam Mann
ac0e3db386 updated docs
[skip ci]
2016-09-25 19:00:10 -04:00
Yotam Mann
827fda3d00 more accurate handling of syncing to Transport start with an offset / duration 2016-09-25 12:35:57 -04:00
Yotam Mann
7565530987 start/stop/pause callbacks are invoked at the moment they occur
Previously they were invoked when the ‘start/stop/pause’ methods were
called.

Fixes #159
2016-09-24 11:48:28 -04:00
Yotam Mann
792f85bebd clock is an event emitter 2016-09-24 11:26:57 -04:00
Yotam Mann
d13d0179b3 testing undefined using typeof 2016-09-24 11:01:40 -04:00
Yotam Mann
545a0fe114 immediate scheduling when time <= now + this.blockTime 2016-09-24 10:39:44 -04:00
Yotam Mann
b1765f71b0 moving the minimum timing to the Instrument classes 2016-09-24 10:38:57 -04:00
Yotam Mann
10459f4281 set the .value of the AudioParam when the passed in time is less than one block away
addresses #163. thanks for the suggestion @stuartpb
2016-09-23 20:20:14 -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
8d59c63d18 toSeconds no longer takes a currentTime value as second parameter 2016-09-23 20:06:07 -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
e19e54b072 wrapping playbackRate in Tone.Param 2016-09-22 18:36:44 -04:00
Yotam Mann
c0cb8945a6 AutoPanner LFO goes between -1 and 1
Fixes #165
2016-09-20 19:39:12 -04:00
Yotam Mann
6f35e743a6 get the time before testing Timeline classes 2016-09-20 19:35:21 -04: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
4711d704da timeline classes require Number instead of Time
since they were used with different time scales, it makes sense not to
impose Time, but allow for any kind of number.
2016-09-20 19:12:43 -04:00
Yotam Mann
3c5d328b97 should have been using Tone.Transport.ticks instead of now 2016-09-20 18:56:40 -04:00
Yotam Mann
3b6c15ff5b clarifying code using toType() 2016-09-20 18:54:36 -04:00
Yotam Mann
26f7676ef5 frequency has a toFrequency
seems a little redundant, but it’s clearer.
2016-09-20 18:35:49 -04:00
Yotam Mann
75773eb0f2 binary expressions use the same constructor 2016-09-20 18:27:10 -04:00
Yotam Mann
3b32641d77 corrected toSeconds
didn’t take into account if it was now-relative
2016-09-20 18:25:39 -04:00
Yotam Mann
0856efe50f added toSeconds method
no longer relies on the inherited method
2016-09-20 18:25:06 -04:00
Yotam Mann
9379165928 starts out at 0 progress
fixes NaN issue. Also only goes to 95% bc of loading. the last 5% is
after the file is decoded.
2016-09-20 17:24:56 -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
cc232ce3c3 updated buses to use Gain. clearing send/recv on new AudioContext
testing that a gain can be passed in.
2016-09-19 23:30:43 -04:00
Yotam Mann
76ad44360d updating to new API 2016-09-19 23:02:42 -04:00
Yotam Mann
66911d4c72 internal method for making inputs/outputs 2016-09-19 23:01:21 -04:00
Yotam Mann
66c344de38 using Tone.Gain for Multiply 2016-09-19 21:44:41 -04:00
Yotam Mann
31ea7abbd5 styling the code a bit
[skip ci]
2016-09-19 20:21:42 -04:00
Yotam Mann
a6cc5fe845 Decibels ramp linearly
sounds better.
2016-09-19 19:13:59 -04:00
Yotam Mann
2f525e74b7 will emit 'progress' when there is .lengthComputable is false 2016-09-19 00:16:44 -04:00