Yotam Mann
ebbb1ef8bb
log and assert help in debugging classes
2018-06-12 23:47:30 -04:00
tambien
534b97bea4
removing unnecessary type from TickSignal
2018-06-05 22:56:47 -04:00
Yotam Mann
bbf2929b6f
rotating the phase of the oscillator group
...
addresses #354
2018-05-29 10:35:12 -04:00
Yotam Mann
4cb60ca111
Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev
2018-05-28 18:06:44 -04:00
Yotam Mann
5b20f572a3
removing unused lines
2018-05-28 18:01:19 -04:00
tambien
b8c5353638
Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev
2018-05-24 16:58:21 -04:00
Yotam Mann
54276555f2
correctly restarting PulseOscillator
2018-05-20 17:36:07 -04:00
Yotam Mann
ee18f87106
assign basic oscillator type
...
typo!
2018-05-20 17:25:39 -04:00
Yotam Mann
a7b783b0a5
updating docs
...
[skip ci]
2018-05-19 15:07:58 -04:00
tambien
9b78520038
noting that Oscillator is better for most cases
2018-05-17 18:38:53 -04:00
Charles Holbrow
51ac1a2100
Sampler Instrument can play entire sample, even when pitch shifting down. ( #335 )
...
* Sampler instrument does not truncate playback when pitch shifting down
* `BufferSource.start` defaults to playing the entire buffer, respects `this.playbackRate`
Previously, the Buffer would truncate the sample when `playbackRage` is less than 1.
Within the `start` method, this commit also tightens the scope of `var computedDur`, so
that it is accessible only where it is used.
2018-04-25 14:27:50 -04:00
Yotam Mann
18fa10086d
making the inner forEachBetween exclusive of the end time
2018-03-30 17:57:35 -04:00
Yotam Mann
433cd78689
fixing infinite loop when stop and start are scheduled at the same time
...
validating change with test
2018-03-30 13:15:53 -04:00
Yotam Mann
65f15a1ef2
restart method to all the oscillators
2018-03-06 00:02:49 -05:00
Yotam Mann
7a5b872f76
using more accurate seconds counter for syncedStop
2018-03-05 22:29:00 -05:00
Yotam Mann
8c2acd03d5
removing retrigger, maintaining array of activeSources
2018-03-05 22:26:37 -05:00
Yotam Mann
5ded029206
getSecondsAtTime returns elapsed seconds
...
also invoking event immediately if the window has already passed
2018-03-05 22:25:57 -05:00
Yotam Mann
103f01bdc7
getState at time, does not throw error if already stopped
2018-03-05 22:25:12 -05:00
Yotam Mann
dcd5a0d0e9
documenting getStateAtTime
2018-03-05 13:00:45 -05:00
Yotam Mann
a5503e02d2
linting
2018-03-05 12:25:33 -05:00
Yotam Mann
a80ae0656b
Tone.isDefined replaces !Tone.isUndef
2018-03-05 11:32:08 -05:00
Yotam Mann
701092d6e2
Fixing documentation error
...
fixes #316
2018-03-05 10:31:32 -05:00
Yotam Mann
efa06f43f1
testing that the stop event is not the first event
2018-03-01 14:44:20 -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
4dd5c0a464
get the playback position of the playing buffer
...
integrates TickSource to track position even with playbackRate changes
Fixes #292 and Fixes #307
2018-03-01 14:15:37 -05:00
Yotam Mann
d98b10d6f8
documenting oscillator node
2018-03-01 14:08:35 -05:00
Yotam Mann
23932cbfa6
can cancel scheduled stop and setTick events
2018-03-01 14:06:03 -05:00
Yotam Mann
40530e3c16
'stop' is invoked on the last scheduled stop value
2018-03-01 14:02:11 -05:00
Yotam Mann
f06516d76d
TickSource handles pause events
...
more flexible and accurate timing calculations
2018-02-27 17:02:17 -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
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
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
Yotam Mann
9f0935967b
can compute the first value of the oscillator
2015-08-27 21:32:09 -04:00
Seth Kranzler
68a0dcf943
adds open/close methods with callback, removes onLoad
2015-08-26 15:40:14 -04:00
Yotam Mann
054662e033
accept phase in constructor
2015-08-21 17:04:29 -04:00
Yotam Mann
0eeaa402de
player accepts a Tone.Buffer in the constructor
2015-08-21 17:04:15 -04:00
Yotam Mann
ec400401c7
Sources don't extend TimelineState
2015-08-21 15:01:22 -04:00
Yotam Mann
af5609ce2e
Player takes AudioBuffer in constructor
2015-08-21 15:01:09 -04:00
Yotam Mann
d714e05bb3
more precise regexp
2015-08-21 15:00:52 -04:00
Yotam Mann
80c416e398
throws error with invalid noise type
2015-08-21 15:00:40 -04:00
Seth Kranzler
c7b04bae47
remove unused callback, name change, remove error
2015-08-20 15:04:48 -04:00
Seth Kranzler
8fc5de8677
updated Microphone, added ExternalInput
2015-08-19 21:28:47 -04:00
Yotam Mann
80abf87292
reflecting rename
2015-08-18 16:29:39 -04:00
Yotam Mann
79e0383ad6
connectSeries -> chain
2015-08-16 15:18:48 -04:00
Yotam Mann
21391f2a9d
Source is schedulable state
2015-08-16 15:16:36 -04:00
Yotam Mann
50d34c0ade
using Error instead of TypeError
2015-08-16 15:16:26 -04:00
Yotam Mann
d36af98c46
filter rolloff goes up to -96 now
...
because why not? Also accepts a string as the type. fixes #84 .
2015-08-12 13:13:04 -04:00
Yotam Mann
17f5e8bb8e
delays are offset only 1 block now.
2015-07-21 11:22:36 -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
caddec650f
doc'ing sources
...
mergine @polyrhythmatic changes
2015-07-04 12:43:21 -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
6306841779
doc'ing
2015-06-15 11:27:13 -04:00
Yotam Mann
80a28f8554
using noOp function for defaults
2015-06-14 01:54:36 -04:00
Yotam Mann
800ac13332
jsdoc'ing the sources
2015-06-13 22:30:33 -04:00
Yotam Mann
0877a4862c
jsdoc'ing sources
2015-06-13 22:03:06 -04:00
Yotam Mann
23cc2408b2
changing link tag
2015-06-13 21:54:20 -04:00
Yotam Mann
a81ba071f3
changing the styling of this
in return statements
2015-06-13 20:54:29 -04:00
Yotam Mann
571183bf27
removing Tone.Type prefix in docs
2015-06-13 20:20:36 -04:00
Yotam Mann
f2f838b630
using signal jsdoc
2015-06-13 19:50:39 -04:00
Yotam Mann
5cb915a332
removing notes on default
2015-06-13 19:29:35 -04:00
Yotam Mann
99c7067f54
sets initial volume of source
2015-06-07 14:05:59 -04:00
Yotam Mann
3bf65cddb3
type annotation
2015-06-07 12:09:08 -04:00
Yotam Mann
68a47a9d58
Normal->NormalRange & Number->Default
2015-05-24 09:45:15 -04:00
Yotam Mann
1f69151c5f
renamed Tone.Frequency -> Tone.Type.Frequency
2015-05-23 19:07:28 -04:00
Yotam Mann
6ef3dd2f51
renamed Tone.Time -> Tone.Type.Time
2015-05-23 19:01:05 -04:00
Yotam Mann
f0bcd68812
renamed Tone.Signal.Units to Tone.Type
...
also renamed Tone.Source.State to Tone.State
2015-05-23 18:57:05 -04:00
Yotam Mann
3f3cbe5f04
detune value in cents
2015-05-21 13:51:40 -04:00
Yotam Mann
02ec3215df
new oscillator types
...
sine[partialsCount] i.e. sine6, triangle2, square3, etc.
2015-05-12 23:49:03 -04:00
Yotam Mann
a2f4a3595b
jsdoc'ing
2015-05-05 16:40:52 -04:00
Yotam Mann
4818c14faa
fixes AudioSourceNode looping bug in Chrome 42
...
This should be addressed in Chrome 43.
Fixes #64
2015-04-28 22:12:59 -04:00
Yotam Mann
15ebac4c37
Player autostart
...
Plays as soon as the buffer is loaded.
2015-04-28 16:17:54 -04:00
Yotam Mann
c7ff31caf9
sources are explicitly stereo
...
makes it easier to go through stereo effects.
2015-04-28 14:33:59 -04:00
Yotam Mann
a85b72727f
setting read/write as an array
2015-04-05 14:53:27 -04:00
Yotam Mann
81670122d3
completely disposing readOnly properties
...
need to set them writable first
2015-04-05 14:41:43 -04:00
Yotam Mann
3a93d52ee1
making source's signal attributes readOnly
...
this helps avoid a common error which is overwriting a signal property
instead of setting the .value attribute
2015-04-05 14:00:52 -04:00
Yotam Mann
e6602d561d
fixing bug when updating phase
...
previously wouldn’t update because the type was still the same. thanks
@mindofmatthew
2015-04-05 10:38:17 -04:00
Yotam Mann
33bedd3fbe
applying @mindofmatthew patch
2015-03-27 09:42:20 -04:00
Yotam Mann
a572df7a88
Merge pull request #61 from mindofmatthew/phase-patch
...
Phase patch
2015-03-27 09:32:59 -04:00
Matthew Kaney
5576c3db22
Fix phase bug for complex waveforms
...
Fix bug where phase is applied to partials relative to the partial,
rather than the fundamental, frequency
2015-03-26 13:18:41 -04:00
Yotam Mann
ec2bd15ee1
can reverse buffer playback
2015-03-26 10:51:44 -04:00
Yotam Mann
470e8063e3
fix unused playback rate in Noise
2015-03-24 16:28:48 -04:00
Luke Phillips
237202c049
updated typescript definitions and fixed a few type errors
2015-03-07 19:17:16 +00:00
Luke Phillips
e706e0ad5e
remove getOversample
2015-03-07 19:04:40 +00:00
Luke Phillips
f4fc005a57
new typescript definitions
2015-03-07 18:45:11 +00:00
Luke Phillips
db5c6eb865
remove old get and set functions
2015-03-07 18:41:10 +00:00
Luke Phillips
17df3dc4bb
es5 getters and setters used in multiband eq
2015-03-07 18:26:08 +00:00
Luke Phillips
d2755e10de
Merge Tone r4
2015-03-05 16:06:27 +00:00
Yotam Mann
d8a13d6dea
setting initial oscillator type
2015-02-28 19:35:27 -05:00
Yotam Mann
3211347fef
test if setting "type" is necessary before doing it
2015-02-28 18:06:25 -05:00
Yotam Mann
4e77c61638
JSDoc'ing sources
2015-02-27 11:19:45 -05:00
Yotam Mann
8f0fbe2de8
changing _onended callback
2015-02-23 00:29:49 -05:00
Yotam Mann
219eeaa537
source uses scheduled values to determine state
2015-02-23 00:29:07 -05:00
Yotam Mann
3e358536dd
methods return this
2015-02-21 14:06:58 -05:00
Yotam Mann
f8b2261b3a
new signal syncing API
2015-02-21 14:06:27 -05:00
Yotam Mann
26d0bcd10e
pulseoscillator width gate
2015-02-20 00:53:03 -05:00
Luke Phillips
b545692c09
Noise can setPlayback
2015-02-17 19:58:47 +00:00
Yotam Mann
f61eff011b
incorporating playbackRate into player
...
can’t be an Tone.Signal yet because of a Blink bug
2015-02-10 11:37:11 -05:00
Yotam Mann
26ff8d756e
clean up source on dispose
2015-02-10 11:36:36 -05:00
Yotam Mann
50917ac49f
migrating signals to ES5 getter/setters
2015-02-06 17:47:26 -05:00
Yotam Mann
66f524eae6
frequency signal units
2015-02-04 10:15:25 -05:00
Yotam Mann
88bb77ba69
getter/setter on playbackRate
...
for now playbackRate will be just a number until i can get the signal
connection of playbackRate to work across browser.
2015-02-04 10:15:06 -05:00
Yotam Mann
2dbacd3310
added decibels volume control to sources
2015-02-04 10:11:10 -05:00
Yotam Mann
b0b572f113
Using ES5 getter/setter
2015-02-04 10:10:34 -05:00
Yotam Mann
914123b9d1
using only ES5 getter/setters
...
replacing old getThing and setThing starting with Oscillators
2015-02-03 23:48:47 -05:00
Yotam Mann
fe93152920
signal value setters/getters
2015-02-02 12:50:18 -05:00
Yotam Mann
362afb32eb
returning to public dispose method
2015-02-01 22:05:24 -05:00
Yotam Mann
7d30c7784b
moving state management to Source
2015-02-01 21:32:07 -05:00
Yotam Mann
e96fb08c44
moved onended in Tone.Source
2015-02-01 20:38:06 -05:00
Yotam Mann
650458fafd
new dispose and get/set api
...
integrated new API on sources
2015-02-01 20:02:13 -05:00
Yotam Mann
9070b13c89
ES5 add getter/setter method
2015-02-01 15:48:20 -05:00
Yotam Mann
251a1e02a5
phase get/set for each of the extended oscillators
2015-02-01 15:47:31 -05:00
Yotam Mann
9eee63459a
all sources return this
...
good for chaining methods
2015-02-01 14:40:47 -05:00
Yotam Mann
db0250e054
set loop boundaries after started
...
Fixes #49
2015-02-01 13:42:51 -05:00
Yotam Mann
b6875955e4
add type getter/setter
2015-02-01 13:32:39 -05:00
Luke Phillips
b40ce6ba8c
getters for player.js
2015-01-25 18:45:19 +00:00
Luke Phillips
a7e4e316c1
Source getter functions
2015-01-20 13:48:54 +00:00
Luke Phillips
b11f86be7c
Oscillator getter functions
2015-01-20 12:33:07 +00:00
Yotam Mann
49883947de
putting the onload callback back in player
...
at least for now…
2015-01-05 21:55:57 -05:00
Yotam Mann
22d29c42e3
removing onload callbacks
...
fits better into the Tone.Buffer.onload scheme
2015-01-05 21:49:21 -05:00
Yotam Mann
080b8f5854
updated Player and Convolver with new Buffer
2015-01-04 21:46:10 -05:00
Yotam Mann
f1cbd96f98
sync/unsync the frequency
2014-12-19 16:39:50 -05:00
Yotam Mann
6ddf1b372f
single 'setVolume' definition in Master
2014-12-19 16:27:50 -05:00
Yotam Mann
9e140a7605
Fixing/testing microphone dispose method
...
Fixes #46
2014-12-19 12:20:26 -05:00
Luke Phillips
e6caa81479
don't crash if user deny's microphone stream
2014-12-16 17:55:08 +00:00
Luke Phillips
8fafb3d20b
microphone disconnect error
2014-12-15 17:08:14 +00:00
Yotam Mann
de707f1838
volume gets set right away
2014-12-08 11:03:47 -05:00
Yotam Mann
f7a14f2b37
all frequency values accept a note name as well
2014-12-06 16:48:36 -05:00
Yotam Mann
cd31d02048
jsdoc'ing
2014-12-03 21:38:24 -05:00
Yotam Mann
1b9cc1483b
jsdoc'ing
2014-12-03 17:20:23 -05:00
Yotam Mann
2d0bcffc9f
adding defaults to jsdocs
2014-12-02 01:42:08 -05:00
Yotam Mann
25496dea77
switched to updated chain method
2014-11-30 21:32:09 -05:00
Yotam Mann
cf2cb263b2
chain -> connectSeries, fan -> connectParallel
2014-11-30 17:37:29 -05:00
Yotam Mann
310231dbd1
using Tone.WaveShaper instead of native node
2014-11-30 13:20:35 -05:00
Yotam Mann
2b22bfac31
updating dependencies
2014-11-24 18:51:35 -05:00
Yotam Mann
0a442a2608
oscillator accepts Tone.Time as frequency
2014-11-09 10:57:14 -05:00
Yotam Mann
dcfac108eb
using Tone constructor in signal classes
2014-11-04 01:21:42 -05:00
Yotam Mann
0bea209d68
simplify buffer constructor
2014-10-22 22:27:21 -04:00
Yotam Mann
3b10b93eca
Merge pull request #39 from indefinit/unicode-fix
...
Unicode fix
2014-10-22 21:55:21 -04:00
Kevin Siwoff
054d5ff2e8
fixes buffer initialization in Player.js
2014-10-22 18:24:58 -04:00
Kevin Siwoff
b45c983152
updates player class and build for Buffer
2014-10-21 14:55:29 -04:00
Yotam Mann
9f827a8dad
short delay to avoid clicks on change OmniOsc type
2014-10-16 14:52:08 -04:00
Kevin Siwoff
f784f5585f
adds Buffer class, refactors Player class to use new Buffer member
2014-10-16 14:48:23 -04:00
Yotam Mann
a4cc79cfde
stopped state doesn't wait for on ended event
...
the oneneded event is inconsistent when the source is not connected
directly to Master (such as in the case of an LFO).
Fixes #34
2014-10-08 11:59:31 -04:00
Yotam Mann
7972f0db34
Pulse, PWM, and Omni extend Oscillator
2014-10-03 16:07:30 -04:00
Yotam Mann
a8e156fcaf
made Oscillator.oscillator _private
2014-10-03 16:06:42 -04:00
Yotam Mann
2daa8c64ad
Oscillators inherit Tone.Oscillator setFrequency
2014-10-03 15:16:32 -04:00
Yotam Mann
e2c0e47f2f
Noise getType method
2014-10-03 14:54:09 -04:00
Yotam Mann
1ed4f5288c
allowing for loopEnd to be a Tone.Time
2014-10-03 01:00:48 -04:00
Yotam Mann
02c21fed73
switches types without a pop
2014-10-03 01:00:37 -04:00
Yotam Mann
35bdca0568
default Player loop is still the end of the file
2014-10-02 18:58:24 -04:00
Yotam Mann
7d26a67910
loop attributes can be passed in options object
...
also attributes can remain tempo relative. #27
2014-10-02 13:21:22 -04:00
Yotam Mann
d3f9834ca0
typo in Noise
2014-10-01 00:55:31 -04:00
Yotam Mann
452983920f
using OmniOscType enum type
2014-09-30 22:48:21 -04:00
Yotam Mann
14d254fd97
altering default values
2014-09-30 22:48:00 -04:00
Yotam Mann
18bab7da59
setters and options objects for Sources
...
Fixes #27
2014-09-30 00:28:48 -04:00
Yotam Mann
1e7f46ff61
jsdoc addition 'const'
2014-09-29 23:45:31 -04:00
Yotam Mann
23128469ca
combination oscillator class
2014-09-29 23:44:59 -04:00
Yotam Mann
014c5e5db2
new PWMOscillator class
2014-09-29 23:44:43 -04:00
Yotam Mann
c67468cab6
PulseOscillator setters
2014-09-29 23:44:35 -04:00
Yotam Mann
1dcaccdb4c
defaults to loopStart offset if offset is not given
2014-09-29 23:44:15 -04:00
Yotam Mann
71af6ca206
testing dispose methods for all classes.
...
a few classes were not being disposed correctly and leaving some
garbage attached.
2014-09-06 18:55:11 -04:00
Yotam Mann
818797712c
made the sawtooth private in pulse oscillator
2014-09-06 15:56:41 -04:00
Yotam Mann
af85ae7e19
Added "use strict" to all classes
...
Fixes #17
2014-09-04 00:41:40 -04:00
Yotam Mann
39c7da2ab1
styling examples
2014-09-04 00:06:01 -04:00
Yotam Mann
9adbcc3c4d
getType
2014-09-02 00:25:20 -04:00
Yotam Mann
c88826e979
setPhase method on Oscillator
...
This method uses not DelayNode so sample accurate start/stop are
maintained.
Fixes #18
2014-08-31 16:35:02 -04:00
Yotam Mann
76ee2b5540
Tone.PulseOscillator first commit
...
fixes #25
2014-08-31 16:29:56 -04:00
Yotam Mann
7f7493105a
added set method
...
#27
also fixed dispose method
2014-08-29 17:14:41 -04:00
Yotam Mann
42288c5942
setVolume in db now
2014-08-25 21:47:22 -04:00
Yotam Mann
3cd76459e5
link to parent's dispose method
...
Fixes #15
2014-08-24 16:24:16 -04:00
Yotam Mann
b2c85eaf44
signals inherit Signal.connect method
...
this is so that params and signals they connect to don’t need to be
manually zeroed out after connecting.
Fixed #11
2014-08-24 13:19:49 -04:00
Yotam Mann
3f40e26c14
fixed typo
2014-08-23 15:18:51 -04:00
Yotam Mann
be344b7963
unused argument
2014-08-21 14:20:55 -04:00
Yotam Mann
be9ad6ee5f
fixed deps
2014-08-21 01:03:51 -04:00
Yotam Mann
9bb8df60a8
sync inherited from Tone.Source
2014-08-20 16:54:26 -04:00
Yotam Mann
d26147aa52
spacing and jsdoc
2014-08-20 16:51:02 -04:00
Yotam Mann
66bf461ebf
sync -> syncSource
2014-07-30 15:12:47 -04:00
Yotam Mann
935161a31e
can set context
2014-07-30 13:56:44 -04:00
Yotam Mann
18fca530c8
invalid constraint
2014-07-22 11:31:32 -04:00
Yotam Mann
e6bcb3b10c
doc updates
2014-07-20 18:17:24 -04:00
Yotam Mann
ceb84b548f
no echo cancellation on microphone
2014-06-28 22:13:35 -04:00
Yotam Mann
97e60e11cf
updated looping API
...
removed “loop” method
2014-06-25 13:11:29 -04:00
Yotam Mann
0b4def6155
Tone.Sources can sync to the Transport
2014-06-25 12:47:47 -04:00
Yotam Mann
5ff3b1e4ee
working on docs
2014-06-23 14:20:20 -04:00
Yotam Mann
4059c891e5
updated player api
2014-06-21 18:39:01 -04:00
Yotam Mann
ff5d967dc7
some updated to the microphone
...
still untested
2014-06-21 17:37:17 -04:00
Yotam Mann
736b3aa358
set volume can take a fade time
2014-06-21 15:55:12 -04:00
Yotam Mann
c9cbcaa3e5
fixed doc error
2014-06-20 01:46:39 -04:00
Yotam Mann
ec39ce3985
fixed error in setting frequency detune
2014-06-20 01:46:29 -04:00
Yotam Mann
d48849bd11
jsdoc on DryWet
2014-06-20 01:12:15 -04:00
Yotam Mann
e859706ef9
more disposing
2014-06-20 00:58:02 -04:00
Yotam Mann
c40531f0d4
better dispose method
2014-06-20 00:25:10 -04:00