Commit graph

328 commits

Author SHA1 Message Date
Yotam Mann
fd25ee83e0 fixing linting errors 2017-05-01 19:00:31 -04:00
Yotam Mann
b760821234 BufferSource.buffer is a Tone.Buffer 2017-05-01 18:52:53 -04:00
Yotam Mann
a5a673f6ed scheduling the stop time at buffer.duration - offset 2017-05-01 18:00:31 -04:00
Yotam Mann
61cad0f1fc BufferSource uses context's setTimeout method for onended
removed source.stop method. stopping now relies entirely on the gain
node.

fixes #230
fixes #233
2017-05-01 17:46:51 -04:00
Yotam Mann
b927395825 making defaultArg static 2017-04-30 15:03:49 -04:00
Yotam Mann
f7b7600ac9 fixing jsdoc errors
[skip ci]
2017-04-30 11:16:35 -04:00
Yotam Mann
4bda177b83 gainToDb, dbToGain, intervalToFrequencyRatio now static functions 2017-04-26 23:21:26 -04:00
Yotam Mann
4bd1044cb4 using only static type queries 2017-04-26 00:27:28 -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
c544255953 using defaults in last remaining classes 2017-04-26 00:07:10 -04:00
Yotam Mann
2030034494 sources to new defaults api
and es6 classes prep
2017-04-26 00:00:01 -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
10431589d2 moving shims to their respective files
hopefully simplifies maintenance
2017-03-13 01:12:20 -04:00
Yotam Mann
dba464fcca safety checks for drift
fixes #199
2017-03-05 12:39:43 -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
7549bdaa1a renaming _initAudioContext() -> on("init") 2017-02-19 11:50:15 -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
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
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
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
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
3ca0eadafd .load method returns a Promise 2016-11-06 19:16:31 -05: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
64a33b0c16 correcting offset when greater than loopEnd 2016-10-11 14:03:10 -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
9ebd1dd7f4 min duration is 0 2016-09-26 21:13:20 -04:00
Yotam Mann
753640bdeb seek to a position in the buffer 2016-09-25 22:32:54 -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
e19e54b072 wrapping playbackRate in Tone.Param 2016-09-22 18:36:44 -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
d8d69ae662 changing old docs which used Buffer.onload
[skip ci]
2016-09-18 20:05:01 -04:00
Yotam Mann
f5b7924bf2 make sure the duration is always positive
otherwise it throws an error
2016-08-15 23:13:09 -04:00
Yotam Mann
12392eba34 new Transport syncing API
now all calls after sync will be placed along the Transport’s timeline
instead of the AudioContext

Fixes #154
2016-08-15 23:13:09 -04:00
Yotam Mann
6d0565387e only schedule the stop in a valid state
the playbackState API has been deprecated, but the bug still is
implemented in Safari.
2016-08-11 23:58:48 -04:00
Yotam Mann
9a74728858 no longer throws error when no buffer is set
just doesn’t play instead
2016-08-09 01:14:52 -04:00
Yotam Mann
e029ead2bc small update to the docs
[skip ci]
2016-07-20 13:12:31 -04:00
Yotam Mann
f5f75718e1 buffers can be more easily passed into the options object 2016-07-06 22:36:40 -04:00
Yotam Mann
b0f11dfa5b granular synthesis player 2016-07-05 20:32:53 -04:00
Yotam Mann
20f8adebba adjust PWM scaling so it doesn't go silent 2016-06-17 14:02:24 -04:00
Yotam Mann
49c401e6d8 calling stop when duration is given.
making sure to assign _startTime using it.
2016-06-17 11:32:34 -04:00
Yotam Mann
3dece40ac6 disposing of volume 2016-06-17 10:54:35 -04:00
Yotam Mann
a2000bf42b adding volume and mute controls 2016-06-17 10:43:30 -04:00
Yotam Mann
89636d40ef ramping from current gain value 2016-06-17 10:43:06 -04:00
Yotam Mann
c70ab5d07a using fadeOut when duration is set 2016-06-16 17:30:46 -04:00
Yotam Mann
74ebee4bfe MultiPlayer keeps track of all the BufferSources it's played 2016-06-15 00:48:55 -04:00
Yotam Mann
f1e6c154e0 using linear ramping instead (sounds pretty much the same)
also compensating for the fade time when there is a passed in
duration.
2016-06-14 23:48:25 -04:00
Yotam Mann
ac0851b4c8 ensure onended callback is not invoked after disposing 2016-06-14 21:08:30 -04:00
Yotam Mann
1efc061ebd explicitly stop the AudioBufferSource when duration is given 2016-06-14 20:43:26 -04:00
Yotam Mann
e0edb67a75 Wrapper around the basic AudioBufferSourceNode 2016-06-14 19:57:46 -04:00
Yotam Mann
238cf0caa4 randomizing the noise offset
this should make two noises played starting at the same time slightly
different.
2016-06-14 19:56:18 -04:00
Yotam Mann
4628f8c47a prefixing errors with class name. 2016-05-25 20:50:46 -04:00
Yotam Mann
24692aa343 can be muted in the constructor options 2016-05-14 17:46:21 -04:00
Yotam Mann
3ecd99ecb6 moving mute code to Volume 2016-05-14 17:34:23 -04:00
Yotam Mann
c83c70d11c cancels scheduling when setting a value with .value
this makes the behavior consistent between Webkit and FF
2016-05-14 16:52:58 -04:00
Yotam Mann
733b49bcd5 using new types 2016-04-18 00:36:08 -04:00
Yotam Mann
cd29397a15 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2016-04-10 16:49:51 -04:00
Yotam Mann
48c7ca5cc4 Updating documentation to show start offset time and duration arguments
Fixes #136
[skip ci]
2016-04-10 16:00:10 -04:00
Yotam Mann
90c0b5febe MultiPlayer needs Buffer as dependency 2016-03-22 16:01:32 -04:00
Yotam Mann
0a4b997bde updating start method documentation
[skip ci]
2016-03-18 11:00:07 -04:00
Yotam Mann
366e61562f canceling future states on stop
also not checking if it’s already started.

Fixes #121
2016-03-03 13:02:38 -05:00
Yotam Mann
faf434400b pull in Master like the rest of the sources 2016-02-18 14:12:30 -05:00
Yotam Mann
35e065ca80 adding error callback on open 2016-02-18 14:11:47 -05:00
Yotam Mann
9049857b80 fire-and-forget buffer player 2016-02-08 13:44:49 -05:00
Yotam Mann
de37b6798d adding Master as a dependency
Addresses #112
2016-01-31 12:20:55 -05:00
Yotam Mann
61caca5054 volume change proportional to the number of oscillators 2016-01-18 00:27:46 -05:00
Yotam Mann
5a772466ae 3 new oscillator types
and combined them into the OmniOscillator
2016-01-17 22:43:44 -05:00
Yotam Mann
9d3b5947fd Reverting to non-signal playbackRate
because Safari isn’t there yet with signal-rate playbackRate
2015-12-06 13:14:36 -05:00
Yotam Mann
74110715f5 Revert "playbackRate is now a signal"
This reverts commit f889a77f0f.
2015-12-06 13:14:36 -05:00
Yotam Mann
f6a95f2f49 default partials value 2015-11-25 21:46:54 -05:00
Yotam Mann
33dbdeff41 can set partials in constructor 2015-11-25 21:46:47 -05:00
Yotam Mann
fe5d6ac94e getting partials (correctly) for other Oscillator types 2015-11-23 23:51:36 -05:00
Yotam Mann
ac693eac4b doc'ing 2015-11-17 23:21:55 -05:00
Yotam Mann
4c3cf0d8fc handling partials member for other oscillator types 2015-11-17 22:51:10 -05:00
Yotam Mann
22ab61fb09 noise has playbackRate which adjusts the "frequency" 2015-11-10 23:47:10 -05:00
Yotam Mann
f889a77f0f playbackRate is now a signal 2015-11-10 23:46:47 -05:00
Yotam Mann
f1be71c0c2 updating to new Volume API 2015-11-02 20:08:53 -05:00
Yotam Mann
1c00c650db updating to new Volume API 2015-10-21 10:33:13 -04:00
Yotam Mann
8a7195e962 canGetUserMedia -> supported
also handling MediaStream.stop deprecation
2015-09-30 13:47:42 -04:00
Yotam Mann
971c6ddfe1 updated mic docs 2015-09-18 17:19:09 -07:00
Yotam Mann
14a780c1ca bug fixes and compatibility tests 2015-09-18 17:18:44 -07:00
Yotam Mann
2d5d4d1dfe Merge pull request #89 from polyrhythmatic/externalinput
updated Microphone, added ExternalInput
2015-09-18 15:43:11 -07:00
Yotam Mann
813a665ac8 looped player passes no duration to start method 2015-09-11 17:06:57 -04:00
Yotam Mann
95f1f15a12 giving example of repeated start and stop methods 2015-09-05 15:15:47 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
09a151ea2b light styling. 2015-09-03 10:32:00 -04:00
Yotam Mann
a68b1aecd6 cleaning up syncing. 2015-09-03 10:24:20 -04:00
Yotam Mann
7ff330cb96 schedules a stopped state if the source is not looped 2015-09-03 10:24:10 -04:00
Seth Kranzler
1f667411fe removes double checking, changes sourceList to sources 2015-09-02 11:11:42 -04:00
Yotam Mann
5e8c2c3777 source uses Tone.Volume as the output. 2015-08-31 16:55:47 -04:00
Yotam Mann
45b6988090 set custom partials array for Oscillator 2015-08-31 16:42:27 -04:00
Yotam Mann
b2283d640f syncing to the Transport through events 2015-08-31 15:13:43 -04:00