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
Yotam Mann
03c98a2e79
throws error if Tone.LFO isn't available
...
might be useful to debug.
2016-09-19 00:08:54 -04:00
Yotam Mann
3b8d44d344
Buffer.prototype.load returns Promise
...
Also simplified/removed XHR queuing and other complications
2016-09-19 00:08:16 -04:00
Yotam Mann
6a951fa217
using 'emit' instead of 'trigger'
...
more similar to Node.js EventEmitter class
2016-09-18 20:07:00 -04:00
Yotam Mann
d8d69ae662
changing old docs which used Buffer.onload
...
[skip ci]
2016-09-18 20:05:01 -04:00
Yotam Mann
8982688f9e
can now pass in Infinity or other valid numbers
2016-09-18 20:03:04 -04:00
Yotam Mann
ceefac97e7
adding lengthComputable so that it never divides by 0
2016-09-18 19:45:16 -04:00
Yotam Mann
f115b4cdf5
clone/copy methods of Time/TimeBase
2016-09-18 19:41:25 -04:00
Yotam Mann
c135392f55
changing sync
to match new Source sync API
2016-09-18 19:37:31 -04:00
Yotam Mann
71a4c986fc
Can pass in an LFO description in the .value parameter
2016-09-18 19:25:47 -04:00
Yotam Mann
de9f15f1e7
fixed another linting error
...
[skip ci]
2016-09-08 21:20:49 -04:00
Yotam Mann
3eaa98ef51
fixed some linting errors
...
[skip ci]
2016-09-08 10:29:41 -04:00
Yotam Mann
b4c31342fe
loaded
attribute
...
iterates over the contained buffers and returns true if all of them are
loaded
2016-08-19 18:03:13 -04:00
Yotam Mann
f751bba814
can convert to Milliseconds
2016-08-18 11:41:04 -04:00
Yotam Mann
535ce86179
adding error callbacks
2016-08-16 15:26:51 -04:00
Yotam Mann
cea47e5cdb
added seek
event when changing the Transport's position
2016-08-15 23:13:09 -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
2569bfef8b
to/fromArray
...
plus a few more properties.
2016-08-15 10:23:01 -04:00
Yotam Mann
682ec0e46e
get/set the progress in seconds
2016-08-15 07:28:52 -04:00
Yotam Mann
e8178581c0
Merge pull request #161 from JackCA/allow-silencing-version-log
...
allow silencing of version log
2016-08-15 06:44:15 -04:00
Jack Anderson
f2f1cf6b9c
allow silencing of version log
...
- useful for test environments
2016-08-14 12:21:50 -07: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
75d6126615
Convolved takes callback as second parameter
...
also accepts no arguments now
2016-08-09 14:24:59 -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
3d2b86032e
added has
method to test if buffer exists
2016-08-09 01:14:52 -04:00
Yotam Mann
7984819753
update the octaves when changing the baseFrequency
...
this way the `lfo.max` also gets updated
2016-08-08 16:20:30 -04:00
Yotam Mann
464d64d13b
Merge branch 'master' into dev
2016-07-20 15:44:34 -04:00
Yotam Mann
b266902bd7
can set the buffer
2016-07-20 15:42:55 -04:00
Yotam Mann
0824582274
update the octaves when updating the baseFrequency
...
otherwise it remains at the previous value
2016-07-20 15:37:51 -04:00
Yotam Mann
e029ead2bc
small update to the docs
...
[skip ci]
2016-07-20 13:12:31 -04:00
Yotam Mann
3aea0546f5
starting r8
...
[skip ci]
2016-07-10 12:31:15 -04:00
Yotam Mann
6c8c75a2ec
Clock ticks do not catch up when restarted after pause
...
fixes #145
2016-07-08 12:26:58 -04:00
Yotam Mann
8195d9d260
release candidate
2016-07-07 14:56:33 -04:00
Yotam Mann
62ca8f8c7b
setRampPoint does not need to convert from units
2016-07-07 14:23:48 -04:00
Yotam Mann
cf20132b2c
limiting BarsBeatsSixteenths precision to three decimal places
2016-07-07 14:11:03 -04:00
Yotam Mann
99f4ab3b79
updating docs for types
...
[skip ci]
2016-07-07 10:40:23 -04:00
Yotam Mann
eb5a459d03
removing vibratoDelay
...
wasn’t doing anything.
2016-07-06 23:41:14 -04:00
Yotam Mann
99d7d2f8bd
disconnects from a specific node
...
(tests this feature only when supported)
2016-07-06 23:39:06 -04:00
Yotam Mann
c08e16087f
correctly setting PPQ
...
wasn’t taking into account that the returns bpm value was dependent on
the PPQ. therefore, need to read the bpm before setting the PPQ.
2016-07-06 23:23:14 -04:00
Yotam Mann
d0b18c5d09
test for file type support.
2016-07-06 23:09:56 -04:00
Yotam Mann
810ee8530e
uses the units value when ramping
...
previously there was an issue that it would start ramping from the
unconverted value.
2016-07-06 23:00:07 -04:00
Yotam Mann
2905cce5d2
making fadeTo exponential when set to decibels.
...
also converting from units to set ramp point
2016-07-06 22:59:21 -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
02f96db94b
simplifiying Sampler
2016-07-06 22:32:34 -04:00
Yotam Mann
b0f11dfa5b
granular synthesis player
2016-07-05 20:32:53 -04:00
Yotam Mann
1ba3733439
interval is exclusive of end point
...
specifically the repeat time is: [start, start + duration).
so Transport.scheduleRepeat(fn, 1, 0, 2) will repeat twice, not three
times (since it’s exclusive of the end time).
2016-06-22 16:39:48 -04:00
Yotam Mann
20f8adebba
adjust PWM scaling so it doesn't go silent
2016-06-17 14:02:24 -04:00
Yotam Mann
a40aa6bd12
Fixing case where partial envelope is retriggered using one of the predefined envelopes
2016-06-17 13:13:20 -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
96644f37d2
Adjusting the timing of the tests
...
also using wav’s instead of mp3s
2016-06-14 20:27:12 -04:00
Yotam Mann
693867f9be
Revert "encoding the URI"
...
This reverts commit 754e9fc500
.
2016-06-14 20:04:28 -04:00
Yotam Mann
e0edb67a75
Wrapper around the basic AudioBufferSourceNode
2016-06-14 19:57:46 -04:00
Yotam Mann
754e9fc500
encoding the URI
2016-06-14 19:57:15 -04:00
Yotam Mann
5978d46825
Buffers is a data structure for holding multiple Tone.Buffer
2016-06-14 19:57:01 -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
cce32d7efc
IntervalTimeline.forEachOverlap -> forEachAtTime
2016-06-13 09:02:51 -04:00
Yotam Mann
eea938094c
renaming cosine->sine and ease->sine
...
Fixes #69
2016-06-12 09:56:18 -04:00
Yotam Mann
4628f8c47a
prefixing errors with class name.
2016-05-25 20:50:46 -04:00
Yotam Mann
aae52e3fa1
default PolySynth voice is Tone.Synth
...
instead of Tone.MonoSynth
2016-05-23 19:56:15 -04:00
Yotam Mann
49fc9d7bb6
renamed SimpleSynth to Tone.Synth
2016-05-23 19:49:41 -04:00
Yotam Mann
db6b901003
attack/release curves can be arrays
...
also introducing a bunch of new curve types
2016-05-23 19:20:20 -04:00
Yotam Mann
29df1b2293
setValueCurveAtTime now implemented with a series of linearRampToValue
...
this is more cross-platform and easier to work with.
2016-05-23 19:19:06 -04:00
Yotam Mann
3b9b65bf89
adding additional startTime value to rampTo
2016-05-17 21:59:27 -04:00
Yotam Mann
9528238873
computing rms from the analyser waveform data
2016-05-17 21:26:57 -04:00
Yotam Mann
6060b397ad
added detune to PolySynth
...
applied when available.
2016-05-14 20:49:55 -04:00
Yotam Mann
b3e9ec173a
added detune for AM/FM synths
2016-05-14 20:10:31 -04:00
Yotam Mann
cdebaeedf5
Can pass in an array of durations into triggerAttackRelease
...
Fixes #135
2016-05-14 19:55:51 -04:00
Yotam Mann
8e3d3264dd
setting a value will cancel scheduled values
...
so that it gets set immediately.
2016-05-14 19:18:33 -04:00
Yotam Mann
58a1223a9a
meter uses the analyser node
...
no more ScriptProcessorNodes
2016-05-14 19:13:50 -04:00
Yotam Mann
2db3265fb9
needs to cancel at 0 for some reason to take effect in Chrome
2016-05-14 18:57:18 -04:00
Yotam Mann
a25767cfbe
can mute the output
2016-05-14 18:07:53 -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
b02a13ab08
not using Math.log2 (since it's not supported across all browsers yet)
2016-05-14 17:00:57 -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
98e58d0576
switching argument position of type and size
...
type is more important a parameter.
2016-05-14 16:34:50 -04:00
Yotam Mann
af1a737f71
simplifying position
code to use TransportTime
2016-05-14 16:32:16 -04:00
Yotam Mann
6c77c60469
ensures addNow can only be called once
2016-05-14 16:31:35 -04:00
Yotam Mann
1d9e43f33a
handles math operations correctly now
2016-05-14 16:27:55 -04:00
Yotam Mann
5d6f1806c1
Making the Analyser a passthrough node.
2016-04-25 18:05:15 -04:00
Yotam Mann
688e3812ab
removing old types
2016-04-18 02:19:29 -04:00
Yotam Mann
d374790175
using new Type
2016-04-18 02:19:17 -04:00
Yotam Mann
059bbf20b2
converting units using new API
2016-04-18 02:19:01 -04:00
Yotam Mann
b1d0d33f1b
can accept time as the value
2016-04-18 02:05:54 -04:00
Yotam Mann
1e7773ae6a
using new Timing primitives
2016-04-18 02:05:04 -04:00
Yotam Mann
16c28892c8
using Time instead of TransportTime
2016-04-18 01:12:55 -04:00
Yotam Mann
cebeb3e577
clock goes to stop state immediately
...
no need to test if it’s started.
2016-04-18 01:12:35 -04:00
Yotam Mann
733b49bcd5
using new types
2016-04-18 00:36:08 -04:00
Yotam Mann
696e84cafb
new core timing primitives
2016-04-18 00:34:16 -04:00
Yotam Mann
3f6580b843
simplifying NoiseSynth
...
removing filer and filterEnvelope
2016-04-18 00:28:39 -04:00
Yotam Mann
9b5837df3e
Using new types
...
swing sinusoidally delays until a triplet.
2016-04-18 00:17:02 -04:00
Yotam Mann
2530182b2e
updating analyser docs
...
[skip ci]
2016-04-17 13:41:54 -04:00
Yotam Mann
ca95a0bef5
increasing PPQ to 192. quantize->nextSubdivision
...
separating out Timeline quantization from quantization method and
moving it elsewhere.
2016-04-13 13:05:27 -04:00