Yotam Mann
|
cf138c03b4
|
TickSource tracks elapsed ticks can start/stop
no pause yet
|
2018-02-25 17:25:32 -05:00 |
|
Yotam Mann
|
65f166570b
|
Sources call 'restart' method if already started when 'start' is invoked
|
2018-02-08 11:10:53 -05:00 |
|
Yotam Mann
|
5eec68f9d0
|
compare rendered output to previously rendered audio files
|
2018-02-05 13:55:37 -05:00 |
|
Yotam Mann
|
a99e582c3c
|
correctly handles changing playbackRate after source is started
|
2018-02-05 13:54:16 -05:00 |
|
Yotam Mann
|
457c7b221c
|
optimizing instrument by only turning on oscillators when active
|
2018-02-05 13:50:14 -05:00 |
|
Yotam Mann
|
2fe32576ed
|
using OscillatorNode in Oscillator
|
2018-02-05 00:40:53 -05:00 |
|
Yotam Mann
|
0ee67d8445
|
proper disposal of timeout
|
2018-02-05 00:40:42 -05:00 |
|
Yotam Mann
|
f086f58c75
|
OscillatorNode is a fire-and-forget Oscillator
|
2018-02-04 22:55:19 -05:00 |
|
Yotam Mann
|
c004145dc0
|
optimizing basic waveform case
|
2018-02-04 11:33:54 -05:00 |
|
Yotam Mann
|
177130ec36
|
BufferSourceNode shim for OfflineAudioContext on iOS
addresses #237
|
2018-01-21 22:33:02 -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
|
fd84c251f7
|
eslinting
|
2018-01-03 12:07:06 -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
|
8ed7a87b45
|
correcting spelling
|
2017-12-29 20:44:16 -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
|
e3d9cd136a
|
use 'this.now()' instead of Tone.now()
|
2017-12-27 11:45:37 -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
|
528882be53
|
does not require device and deviceId in gUM
|
2017-11-29 15:38:25 -05:00 |
|
Yotam Mann
|
3e7e351e4a
|
fixing typo in else statement
|
2017-11-29 15:27:01 -05:00 |
|
Yotam Mann
|
f5e6d973c9
|
only throw 'no matching device error' when a specific device is requested
|
2017-11-29 15:22:58 -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
|
7a870296bc
|
linting
|
2017-10-26 01:07:53 -04:00 |
|
Yotam Mann
|
903c87ff72
|
user media does not look for 'default'
instead takes the first device if nothing is specified
|
2017-10-26 00:50:22 -04:00 |
|
Yotam Mann
|
9400091609
|
modulus the offset by the duration in case the offset > duration
|
2017-10-25 23:05:30 -04:00 |
|
Yotam Mann
|
305fdc02da
|
moving shim to another file
|
2017-10-25 23:00:37 -04:00 |
|
Yotam Mann
|
0d85d90f5c
|
reducing volume further
|
2017-10-25 23:00:20 -04:00 |
|
Yotam Mann
|
a82ab45132
|
linting
|
2017-10-25 17:57:52 -04:00 |
|
Yotam Mann
|
cb2a982c39
|
linting
|
2017-10-21 19:02:46 -04:00 |
|
Yotam Mann
|
d61a22e7f4
|
linting
|
2017-10-21 13:52:06 -04:00 |
|
Yotam Mann
|
da26a1c94c
|
keeps track of BufferSources on the state timeline
addresses #258
|
2017-10-21 13:49:48 -04:00 |
|
Yotam Mann
|
916430ac2e
|
increasing the memory of the state timeline
|
2017-10-21 13:44:54 -04:00 |
|
Tim Pulver
|
202f6fd03f
|
Fix doc: singular -> plural (#264)
|
2017-09-29 10:26:50 -04:00 |
|
Yotam Mann
|
6d38440379
|
using exponentialApproachValueAtTime
|
2017-09-20 19:04:49 -04:00 |
|
Yotam Mann
|
4abe8a78cf
|
stop the source to allow for garbage collection
|
2017-09-19 22:45:40 -04:00 |
|
Yotam Mann
|
b8648cc8ac
|
removing deprecated MultiPlayer class
|
2017-09-17 12:31:25 -04:00 |
|
Yotam Mann
|
39389e810c
|
warning if scheduling time is in the past
addresses #260
|
2017-09-15 17:50:12 -04:00 |
|
Yotam Mann
|
33e7bd0c13
|
adding "curve" to BufferSource fades
|
2017-09-13 18:30:43 -04:00 |
|
Yotam Mann
|
e6faa39dba
|
classes which generate or process sound extend Tone.AudioNode
|
2017-08-27 17:50:31 -04:00 |
|
Yotam Mann
|
ffa4cbd0f0
|
updating comment to reflect that it extends Tone.Source
|
2017-08-27 16:25:43 -04:00 |
|
Yotam Mann
|
5fe3e9106c
|
using async callback for getting context
for classes that need it on init
|
2017-08-13 21:37:32 -04:00 |
|
Yotam Mann
|
faee7175e1
|
added link in deprecation notice
|
2017-08-08 20:50:55 -04:00 |
|
Yotam Mann
|
62e05f6d57
|
styling
[skip ci]
|
2017-06-26 18:19:30 -04:00 |
|
Yotam Mann
|
d69770eea3
|
don't remove all of the Transport synced events with Source.unsync
|
2017-06-21 17:28:50 -04:00 |
|
Yotam Mann
|
e105387072
|
Players can fadeIn/Out
|
2017-06-19 15:18:50 -04:00 |
|
Yotam Mann
|
83866e6492
|
adding fadeIn/Out to Player
|
2017-06-19 15:11:15 -04:00 |
|
Yotam Mann
|
2de449b74c
|
fadeOut is subtracted from end of the sample
instead of the stop time being the beginning of the fade out.
|
2017-06-19 15:03:10 -04:00 |
|
Yotam Mann
|
59a276d8fe
|
including lookAhead in now() removes need for adding blockTime to reduce clicks
|
2017-05-28 21:52:28 -04:00 |
|
Yotam Mann
|
81df4a9a0e
|
deprecating multiplayer
use Tone.Players instead
|
2017-05-28 21:38:31 -04:00 |
|
Yotam Mann
|
edf14cffe4
|
GrainPlayer no longer uses MultiPlayer
uses BufferSource instead
|
2017-05-28 21:27:59 -04:00 |
|
Yotam Mann
|
2328413a8f
|
stops playing if invoked with 'stop' at an earlier time
does not stop playing if `stop` is invoked with a later time
|
2017-05-28 21:20:17 -04:00 |
|
Yotam Mann
|
54b11df1dd
|
simplifying BufferSource playback offset > loopEnd logic
|
2017-05-23 09:30:17 -04:00 |
|
Yotam Mann
|
ea4078348f
|
don't nullify source when stopped
fixes #241
|
2017-05-22 16:11:50 -04:00 |
|
Yotam Mann
|
c8c436cbf2
|
Tone.Players wraps up multiple Tone.Player objects
fixes #215
fixes #217
|
2017-05-21 20:40:20 -07:00 |
|
Yotam Mann
|
a6bb882758
|
readonly loaded boolean if the buffer is loaded
|
2017-05-21 20:25:35 -07:00 |
|
Yotam Mann
|
cb1937062c
|
throwing error when passed in device is not found
|
2017-05-02 20:58:14 -04:00 |
|
Yotam Mann
|
488299a822
|
Player uses BufferSource
|
2017-05-02 12:15:00 -04:00 |
|
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 |
|