Commit graph

2739 commits

Author SHA1 Message Date
tambien
f61f17034a pass the options object to the next class 2018-07-28 10:20:36 -04:00
tambien
1507fe25db removing onConnect method 2018-07-27 07:32:31 -04:00
tambien
bc8dc5ff7f removing onConnect method 2018-07-27 07:32:31 -04:00
Yotam Mann
16b0263b7b deferring onload callback
fixes #376
2018-07-25 21:54:13 -04:00
Yotam Mann
6005162263 deferring onload callback
fixes #376
2018-07-25 21:54:13 -04:00
Yotam Mann
b081a9e656 fixing typos 2018-07-21 09:06:28 -04:00
Yotam Mann
13b91673b9 fixing typos 2018-07-21 09:06:28 -04:00
Yotam Mann
ea218c2921 adding logging 2018-06-20 23:12:17 -04:00
Yotam Mann
7431480efa adding logging 2018-06-20 23:12:17 -04:00
Yotam Mann
0173e31c91 adding an index to each voice 2018-06-20 23:02:44 -04:00
Yotam Mann
881a02f26c adding an index to each voice 2018-06-20 23:02:44 -04:00
Yotam Mann
f76beaf916 moving to updated BufferSource fade out api
Player still fades from the end
2018-06-20 15:08:16 -04:00
Yotam Mann
da0e118dfd moving to updated BufferSource fade out api
Player still fades from the end
2018-06-20 15:08:16 -04:00
Yotam Mann
ad1e362d7c release happens after stop time
as per new BufferSource api
2018-06-20 15:03:52 -04:00
Yotam Mann
16c96c4486 release happens after stop time
as per new BufferSource api
2018-06-20 15:03:52 -04:00
Yotam Mann
fec49b6936 stops clock after 1 iteration when loop = false
removing seek method. adjusts for playbackRate when scheduling grain duration
2018-06-20 14:57:42 -04:00
Yotam Mann
adbcbdd41e stops clock after 1 iteration when loop = false
removing seek method. adjusts for playbackRate when scheduling grain duration
2018-06-20 14:57:42 -04:00
Yotam Mann
9ece80d1f4 logging cancel and hold for debugging 2018-06-20 14:56:49 -04:00
Yotam Mann
d31c0e2ec1 logging cancel and hold for debugging 2018-06-20 14:56:49 -04:00
Yotam Mann
36c19e3762 AudioContext resume does not apply to OfflineAudioContext 2018-06-20 14:56:35 -04:00
Yotam Mann
0e89ddf854 AudioContext resume does not apply to OfflineAudioContext 2018-06-20 14:56:35 -04:00
Yotam Mann
8a74995f2e making logs more descriptive 2018-06-20 14:56:11 -04:00
Yotam Mann
488b84c954 making logs more descriptive 2018-06-20 14:56:11 -04:00
Yotam Mann
405a841db0 stop method is beginning of fadeOut curve instead of end
simplifies code

fixes #328
2018-06-20 14:55:43 -04:00
Yotam Mann
4a47d68cde stop method is beginning of fadeOut curve instead of end
simplifies code

fixes #328
2018-06-20 14:55:43 -04:00
tambien
cbe1588662 calling resume on clock start
since it relies on the context clock being started
2018-06-18 11:23:31 -04:00
tambien
43bf4e30b5 calling resume on clock start
since it relies on the context clock being started
2018-06-18 11:23:31 -04:00
tambien
031dc98898 optimization to turn off oscillator after play 2018-06-13 19:04:02 -04:00
tambien
c6c6cb8014 optimization to turn off oscillator after play 2018-06-13 19:04:02 -04:00
tambien
081e995983 use onstatechange instead of addEventListener
in Safari < 10 AudioContext does not extend EventEmitter
2018-06-13 16:42:33 -04:00
tambien
990d5d05e4 use onstatechange instead of addEventListener
in Safari < 10 AudioContext does not extend EventEmitter
2018-06-13 16:42:33 -04:00
tambien
2d1c2dc705 no noise supression 2018-06-13 15:57:05 -04:00
tambien
e3cf01aeae no noise supression 2018-06-13 15:57:05 -04:00
tambien
a1e782df4a using resume instead of ready 2018-06-13 15:56:00 -04:00
tambien
68688c326e using resume instead of ready 2018-06-13 15:56:00 -04:00
Yotam Mann
45e40a8498 linting 2018-06-13 00:20:23 -04:00
Yotam Mann
b9efb432ad linting 2018-06-13 00:20:23 -04:00
Yotam Mann
4dbd48943e using exponentialApproach instead of targetRampTo
reduces call to cancelScheduledValuesAtTime
2018-06-12 23:48:51 -04:00
Yotam Mann
9c11b21ce6 using exponentialApproach instead of targetRampTo
reduces call to cancelScheduledValuesAtTime
2018-06-12 23:48:51 -04:00
Yotam Mann
26df78b0db handles start/stop/restart better in many situations
less prone to errors where the OscillatorNode is silent after starting
2018-06-12 23:48:15 -04:00
Yotam Mann
6f021eb345 handles start/stop/restart better in many situations
less prone to errors where the OscillatorNode is silent after starting
2018-06-12 23:48:15 -04:00
Yotam Mann
ebbb1ef8bb log and assert help in debugging classes 2018-06-12 23:47:30 -04:00
Yotam Mann
3fcea01d66 log and assert help in debugging classes 2018-06-12 23:47:30 -04:00
Yotam Mann
3d92d0fdf8 simplifying the way that free voices are selected 2018-06-12 23:44:15 -04:00
Yotam Mann
5babc8e75d simplifying the way that free voices are selected 2018-06-12 23:44:15 -04:00
Yotam Mann
6dbb025c2a removing signal proxies
added too much difficulty with garbage collection, too many edge cases
2018-06-09 12:55:29 -04:00
Yotam Mann
c338310acd removing signal proxies
added too much difficulty with garbage collection, too many edge cases
2018-06-09 12:55:29 -04:00
Yotam Mann
baeb20a17c fixing order of gate connections
had wrong behavior bc of connection order.

fixes #298
2018-06-07 12:49:32 -04:00
Yotam Mann
9325ba4d15 fixing order of gate connections
had wrong behavior bc of connection order.

fixes #298
2018-06-07 12:49:32 -04:00
Yotam Mann
049bfd04de exponent passed into constructor is applied
fixes #356
2018-06-07 12:21:38 -04:00
Yotam Mann
e5892fe6c6 exponent passed into constructor is applied
fixes #356
2018-06-07 12:21:38 -04:00
Yotam Mann
616af3b9de filter gain is in decibels 2018-06-07 12:12:28 -04:00
Yotam Mann
20378f6d5a filter gain is in decibels 2018-06-07 12:12:28 -04:00
Yotam Mann
a441ce3ade changing LPCF implementation to avoid positive feedback loop
Fixes #198
2018-06-07 12:11:53 -04:00
Yotam Mann
f1adbf2aff changing LPCF implementation to avoid positive feedback loop
Fixes #198
2018-06-07 12:11:53 -04:00
tambien
534b97bea4 removing unnecessary type from TickSignal 2018-06-05 22:56:47 -04:00
tambien
60cf6a116e removing unnecessary type from TickSignal 2018-06-05 22:56:47 -04:00
tambien
43130a5800 reverting TickSignal 2018-06-05 22:56:28 -04:00
tambien
6e86d6b8dc reverting TickSignal 2018-06-05 22:56:28 -04:00
tambien
982bc16b71 gate uses just smoothing instead of attack/release 2018-06-05 22:43:01 -04:00
tambien
216219195d gate uses just smoothing instead of attack/release 2018-06-05 22:43:01 -04:00
tambien
8cb4fc32d9 signals extend Tone.Signal again
but are set proxy = false initially
2018-06-05 22:42:17 -04:00
tambien
442c7cb1c5 signals extend Tone.Signal again
but are set proxy = false initially
2018-06-05 22:42:17 -04:00
tambien
765de3c6b8 follower uses a single smoothing value 2018-06-05 22:14:46 -04:00
tambien
eb003d8b6c follower uses a single smoothing value 2018-06-05 22:14:46 -04:00
tambien
5a3b905aec revert: TransportTimelineSignal extends Signal 2018-06-05 22:02:42 -04:00
tambien
b1ae21930f revert: TransportTimelineSignal extends Signal 2018-06-05 22:02:42 -04:00
tambien
f7633a5c73 testing signal proxies 2018-06-05 21:58:00 -04:00
tambien
508ad723e9 testing signal proxies 2018-06-05 21:58:00 -04:00
tambien
e7b9045160 components extend Param instead of Signal 2018-06-05 21:53:28 -04:00
tambien
6749e84520 components extend Param instead of Signal 2018-06-05 21:53:28 -04:00
tambien
70c5c0e289 fixing docs
[skip ci]
2018-06-05 16:56:14 -04:00
tambien
1e1eb23709 fixing docs
[skip ci]
2018-06-05 16:56:14 -04:00
tambien
72964c7777 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-05-31 13:18:32 -04:00
tambien
1d265a48a0 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-05-31 13:18:32 -04:00
tambien
8e2295e229 making triggerAttackRelease private
fixes #358
2018-05-31 13:18:29 -04:00
tambien
871df10d2d making triggerAttackRelease private
fixes #358
2018-05-31 13:18:29 -04:00
Yotam Mann
bbf2929b6f rotating the phase of the oscillator group
addresses #354
2018-05-29 10:35:12 -04:00
Yotam Mann
ed648fc8ec rotating the phase of the oscillator group
addresses #354
2018-05-29 10:35:12 -04:00
Yotam Mann
3c2b822b43 can make decayCurve linear or exponential
fixes #354
2018-05-28 18:51:44 -04:00
Yotam Mann
5ecf93f491 can make decayCurve linear or exponential
fixes #354
2018-05-28 18:51:44 -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
aa83647aea 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
Yotam Mann
9f22ca7e12 removing unused lines 2018-05-28 18:01:19 -04:00
Yotam Mann
ec4e9a3fdf searches for envelope position in attack curve 2018-05-28 17:59:31 -04:00
Yotam Mann
49768eb658 searches for envelope position in attack curve 2018-05-28 17:59:31 -04:00
tambien
cbb5c78823 using super method 2018-05-25 18:25:08 -04:00
tambien
95f2a2bf65 using super method 2018-05-25 18:25:08 -04:00
tambien
57070d987b only disconnecting when signal is started
fixes #338
2018-05-25 18:24:45 -04:00
tambien
160a89f34c only disconnecting when signal is started
fixes #338
2018-05-25 18:24:45 -04:00
tambien
77e2b96767 initialized is a readOnly member 2018-05-25 18:04:01 -04:00
tambien
40fe84ce43 initialized is a readOnly member 2018-05-25 18:04:01 -04:00
tambien
b8c5353638 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-05-24 16:58:21 -04:00
tambien
0e9c983d6b 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
f7938e93df 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
02ad574af0 assign basic oscillator type
typo!
2018-05-20 17:25:39 -04:00
Yotam Mann
319ae28fa8 using setValueAtTime instead of .value
fixes #288
2018-05-19 17:32:32 -04:00
Yotam Mann
2562cec829 using setValueAtTime instead of .value
fixes #288
2018-05-19 17:32:32 -04:00
Yotam Mann
a7b783b0a5 updating docs
[skip ci]
2018-05-19 15:07:58 -04:00
Yotam Mann
a79daec0e0 updating docs
[skip ci]
2018-05-19 15:07:58 -04:00
Yotam Mann
bc7269e740 checking for 'then' instead of 'instanceof Promise' 2018-05-19 13:39:39 -04:00
Yotam Mann
86664183fd checking for 'then' instead of 'instanceof Promise' 2018-05-19 13:39:39 -04:00
tambien
9b78520038 noting that Oscillator is better for most cases 2018-05-17 18:38:53 -04:00
tambien
49b173166f noting that Oscillator is better for most cases 2018-05-17 18:38:53 -04:00
tambien
55168fffa5 play silent audio for browsers that don't implement resume
this jumpstarts the AudioContext
2018-05-17 18:38:40 -04:00
tambien
0f67791315 play silent audio for browsers that don't implement resume
this jumpstarts the AudioContext
2018-05-17 18:38:40 -04:00
tambien
4e772baab9 updating time docs
fixes #348
2018-05-17 11:44:22 -04:00
tambien
e44dffe459 updating time docs
fixes #348
2018-05-17 11:44:22 -04:00
tambien
ade4946ff3 removing peak
only use RMS value
2018-05-17 11:40:59 -04:00
tambien
f47e49e798 removing peak
only use RMS value
2018-05-17 11:40:59 -04:00
David Sherman
c66c453e95 Added type property to Tone.Meter (#276)
* Added 'type' property to Tone.Meter that accepts 'peak' or 'rms' and defaults to 'rms'. Calculation methods + sources added to Tone.Meter. Tests added to Tone.Meter + assertion sources.

* Fixed a number of formatting issues

* more formatting fixes

* Formatting for CI

* fixed variable names

* Updated to use existing gainToDb method.

* Removed tests of removed method.

* Removed whitespaces and tabs.

* Moved Supports.ONLINE_TESTING to original position

* Moded Supports.ONLINE_TESTING to top
2018-05-16 10:41:02 -04:00
David Sherman
d0c58e088f Added type property to Tone.Meter (#276)
* Added 'type' property to Tone.Meter that accepts 'peak' or 'rms' and defaults to 'rms'. Calculation methods + sources added to Tone.Meter. Tests added to Tone.Meter + assertion sources.

* Fixed a number of formatting issues

* more formatting fixes

* Formatting for CI

* fixed variable names

* Updated to use existing gainToDb method.

* Removed tests of removed method.

* Removed whitespaces and tabs.

* Moved Supports.ONLINE_TESTING to original position

* Moded Supports.ONLINE_TESTING to top
2018-05-16 10:41:02 -04:00
timothyboie
ab87d37426 Time miscalculation fix (#343)
Times being converted to BarsBeatsSixteenths have the potential to miscalculate due to an extended floating point number within the function.

Example of error:
https://jsfiddle.net/timboie/1vztuhz1/

Fix validation:
https://jsfiddle.net/timboie/6e7d31t3/

Any further testing is appreciated

Fixes #342
2018-05-15 10:10:10 -04:00
timothyboie
4cd88ab1eb Time miscalculation fix (#343)
Times being converted to BarsBeatsSixteenths have the potential to miscalculate due to an extended floating point number within the function.

Example of error:
https://jsfiddle.net/timboie/1vztuhz1/

Fix validation:
https://jsfiddle.net/timboie/6e7d31t3/

Any further testing is appreciated

Fixes #342
2018-05-15 10:10:10 -04:00
ZIwen
fa23475906 Update Sampler.js (#346)
support sampler polyphonic syntax
2018-05-15 10:07:36 -04:00
ZIwen
e39e392791 Update Sampler.js (#346)
support sampler polyphonic syntax
2018-05-15 10:07:36 -04:00
tambien
a61467bfa5 fixes safari issue with splitting audio 2018-05-03 16:46:51 -04:00
tambien
6438f4688c fixes safari issue with splitting audio 2018-05-03 16:46:51 -04:00
tambien
ddbfa81bc3 no need to set the splitter defaults
this is no longer configurable and throws an error when set.

addresses #340
2018-05-03 16:26:45 -04:00
tambien
a5c566a766 no need to set the splitter defaults
this is no longer configurable and throws an error when set.

addresses #340
2018-05-03 16:26:45 -04:00
Joe Lepper
92a7bab0b4 fix Tone.Midi examples (#337) 2018-04-26 10:31:26 -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
5e0a2285b4 fixing syncronization issue 2018-04-25 11:46:13 -04:00
Yotam Mann
1026c34163 removing unnecessary @private
fixes #330
2018-04-25 11:10:15 -04:00
Yotam Mann
7d862a1705 Removing support for native cancelAndHoldAtTime
Chrome's implementation causes occassional crashes

fixes #332
2018-04-25 11:02:50 -04:00
Yotam Mann
39d5898738 Time classes take Object notation as well
replacement for deprecated expression notation
2018-04-25 10:51:36 -04:00
Yotam Mann
542914bcb7 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-04-25 10:29:18 -04:00
Yotam Mann
2fab59e446 fixing typo in triggerAttack
fixes #333
2018-04-25 10:28:49 -04:00
jbpuryear
d4d569e52b Fix AudioNode.disconnect error when disconnecting from signals/params (#329) 2018-04-22 16:45:02 -04:00
Matan Gover
147341688c Fix typo in documentation. (#327) 2018-04-09 12:09:46 -07:00
Yotam Mann
62e2cf5dfc fixing docs 2018-04-09 13:24:10 -04:00
Yotam Mann
ee3d077410 incrementing version 2018-04-08 00:29:01 -07:00
Yotam Mann
79397e1075 Merge branch 'dev'
# Conflicts:
#	Tone/core/Tone.js
2018-04-06 17:22:23 -07:00
Yotam Mann
f0bddd08ab release candidate 2017-09-16 15:35:52 -04:00
Yotam Mann
25315eccc2 removing warnings triggered in constructor 2017-09-15 18:05:23 -04:00
Yotam Mann
13fdf13f57 linting 2017-09-15 17:54:32 -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
1559b8275a Add warning if time is scheduled in the past 2017-09-15 17:45:57 -04:00
Yotam Mann
c7385ef575 using exponential curve in sampler 2017-09-15 09:07:09 -04:00
Yotam Mann
33e7bd0c13 adding "curve" to BufferSource fades 2017-09-13 18:30:43 -04:00
Yotam Mann
f1507b0bb7 moving getTimeConstant into its own method 2017-09-13 17:12:25 -04:00
Yotam Mann
20ac5d8d11 cancel values after the current time, but not into the future 2017-09-13 11:18:49 -04:00
Yotam Mann
42634bd453 using exponential approach for decay and release curves 2017-09-13 11:04:13 -04:00
Yotam Mann
8340b4856c correctly setting ramp point for all curve types 2017-09-13 11:02:17 -04:00
Yotam Mann
9f545c4bdd exponential approach rampTo 2017-09-13 11:00:32 -04:00
Yotam Mann
994d932f2c fixing typo in variable name 2017-09-13 10:02:01 -04:00
Yotam Mann
918e18119a small jsdoc tweak 2017-09-09 19:10:02 -04:00
Yotam Mann
f3732410dc class extends TransportEvent 2017-09-04 16:16:34 -04:00
Yotam Mann
08812c0886 optimizing the way that repeat events are handled 2017-09-04 16:08:47 -04:00
Yotam Mann
5d86d72cfb handles events which are added during iteration in the same was as events which are removed during iteration 2017-09-04 16:04:16 -04:00
Yotam Mann
f9fcceb226 Creating Transport event classes which are used internally by the Transport 2017-09-04 16:03:20 -04:00
Yotam Mann
d37c88825a going back to dev version 2017-09-04 11:45:46 -04:00
Yotam Mann
6a3461bee8 simplifying removal code 2017-09-04 10:46:27 -04:00
Yotam Mann
303e171c6b fixing spelling of comparator 2017-09-04 10:41:23 -04:00
Yotam Mann
8a5dd01274 only test loop length in _search method 2017-09-02 11:39:40 -04:00
Yotam Mann
3fa2c1a69d correcting internal link 2017-08-31 18:24:18 -04:00
Yotam Mann
892668b01e linearRampToValue -> linearRampTo 2017-08-31 12:45:25 -04:00
Yotam Mann
6662ca8670 adding cancelAndHold to signal classes
with fallback for unsupported browsers
2017-08-31 12:41:15 -04:00
Yotam Mann
1603ad7b0f splitting Analyser functionality into multiple classes
simplifies the API
2017-08-31 10:56:19 -04:00
Yotam Mann
d6fe0e6d68 analyse() -> getValue() 2017-08-30 14:42:50 -04:00
Yotam Mann
75bf464cea updating jsdoc type 2017-08-30 12:52:33 -04:00
Yotam Mann
537eca39c0 updating version 2017-08-28 15:11:03 -04:00
Yotam Mann
3ddef693e7 Param extends AudioNode 2017-08-28 11:38:45 -04:00
Yotam Mann
631e307d01 updating connect methods jsdocs 2017-08-28 11:08:47 -04:00
Yotam Mann
e51fc401ef updating private method jsdocs 2017-08-28 11:08:20 -04:00
Yotam Mann
29100b8152 setting method to private 2017-08-27 20:00:28 -04:00
Yotam Mann
a890d78628 using createInsOuts method from Tone.AudioNode 2017-08-27 19:50:36 -04:00
Yotam Mann
e4044bf39e TransportTimelineSignal is a TimelineSignal which can be scheduled to the Transport 2017-08-27 19:42:10 -04:00
Yotam Mann
e6faa39dba classes which generate or process sound extend Tone.AudioNode 2017-08-27 17:50:31 -04:00
Yotam Mann
d6eefa800c moving connect/disconnect to AudioNode 2017-08-27 17:48:52 -04:00
Yotam Mann
6ceca510e4 moving functionality over to Tone.AudioNode 2017-08-27 17:21:17 -04:00
Yotam Mann
35040e94e3 class for processing audio
differentiates classes which process audio and classes which don’t.
keeping in mind the eventual goal of supporting node.js audio rendering
and support for multiple audio contexts
2017-08-27 17:18:19 -04:00
Yotam Mann
b849b68132 updating extends jsdoc to reflect inheritance 2017-08-27 16:30:26 -04:00
Yotam Mann
ea869e7c93 updating jsdoc comment to reflect that class extends Tone.Instrument 2017-08-27 16:28:29 -04:00
Yotam Mann
ffa4cbd0f0 updating comment to reflect that it extends Tone.Source 2017-08-27 16:25:43 -04:00
Yotam Mann
841f2448ca can solo multiple audio streams at once 2017-08-27 15:01:13 -04:00
Yotam Mann
b731c85cae adding 'mute' to PanVol 2017-08-27 13:57:50 -04:00
Yotam Mann
1e148a9c74 Sampler is now an instrument for creating a chromatic instrument from pitched samples 2017-08-27 12:55:54 -04:00
Yotam Mann
1d362ee6f7 account for release time when scheduling note stop 2017-08-26 15:39:09 -04:00
Yotam Mann
6937466554 fixed rounding error when converting frequency to midi 2017-08-26 15:39:09 -04:00
Yotam Mann
5bea2666c0 defaults can also take an object as third argument 2017-08-26 15:39:09 -04:00
Yotam Mann
8110d38bd6 master->dev 2017-08-22 11:57:40 -04:00
Yotam Mann
982e31c099 adding Gain typedef 2017-08-22 11:44:12 -04:00
Alan Russell
bd0b36b9ab Point links to Synth Secrets on archive.org (#254)
* point Cymbal Synthesis link to archive.org

* point to Synth Secrets Amplitude Modulation article on archive.org

* point to pair of Synth Secrets FM articles on archive.org

* point to Synth Secrets Reverb article on archive.org

* Revert "point Cymbal Synthesis link to archive.org"

This reverts commit f621d8ecec.

* point to Synth Secrets Cymbal Synthesis article on archive.org
2017-08-15 01:02:00 -04:00
Yotam Mann
a4032ad65c linting 2017-08-13 21:46: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
f5e5cd16f6 async callback for getting the context
useful on init when the context isn’t necessarily available
2017-08-13 21:36:21 -04:00
Yotam Mann
63fcb4af1e updating private variable 2017-08-12 10:45:28 -04:00
Yotam Mann
faee7175e1 added link in deprecation notice 2017-08-08 20:50:55 -04:00
Yotam Mann
d1af3f71ca connect instead of chain 2017-08-08 13:30:38 -04:00
Yotam Mann
486344bb87 replacing set curve internals with a series of linear ramps
simplifies code
2017-08-08 13:30:38 -04:00
Jack Anderson
1fb225383e no insignificant zeroes in barsBeatsSixteenths (#250)
* no insignificant zeroes in barsBeatsSixteenths

- fixes #246

* restore bpm to orig val in trailing zero test
2017-08-08 10:54:47 -04:00
Yotam Mann
bf52df2fdc check that there is an AudioNode before augmenting it 2017-07-27 18:06:05 -04:00
Yotam Mann
7050400f32 using @private instead of @internal
[skip ci]
2017-07-27 18:02:44 -04:00
Yotam Mann
066eb207ad updating Time copy
[skip ci]
2017-07-27 18:02:21 -04:00
Yotam Mann
9f31807cf4 sampleTime and blockTime should be instance variables not static 2017-07-27 17:54:57 -04:00
Yotam Mann
effd317acd Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2017-07-27 17:46:15 -04:00
Yotam Mann
4e69013265 copyFromChannel shouldn't exceed the destination arrays length 2017-07-08 11:54:11 -04:00
Yotam Mann
7734e70421 removing unnecessary returnType setting 2017-07-08 11:46:27 -04:00
Yotam Mann
3a08d9fd2e return type is always float32
removing byte analysis since it isn’t very useful
2017-07-08 11:21:26 -04:00
Yotam Mann
c3c5364397 remove unreachable code 2017-07-06 10:32:31 -04:00
Yotam Mann
e0fadfcb8e use the timeout callbacks update interval 2017-07-05 14:47:27 -04:00
Yotam Mann
9e3e598220 passing in options to super constructor 2017-07-05 13:59:13 -04:00
Yotam Mann
dfdd665881 context takes an options object 2017-07-05 13:58:36 -04:00
Yotam Mann
c30b07cbd5 terminate web worker on dispose 2017-06-30 16:04:10 -04:00
Yotam Mann
3ece282d04 removing window debugging reference 2017-06-30 15:44:30 -04:00
Yotam Mann
68ce570476 Revert "without try/catch"
This reverts commit cf085112fe.
2017-06-30 15:38:01 -04:00
Yotam Mann
cf085112fe without try/catch 2017-06-30 15:31:30 -04:00
Yotam Mann
dae97143d5 using clockSource API 2017-06-29 19:49:43 -04:00
Yotam Mann
86698bb5d6 use setTimeout if Web Worker is not available
Addresses #208
2017-06-29 19:49:25 -04:00
Yotam Mann
8f63e7c3fe using Tone.defaultArg and throwing error directly to help with debugging 2017-06-29 15:59:06 -04:00
Yotam Mann
207c4e66e4 removing lag checking 2017-06-29 15:58:35 -04:00
Yotam Mann
835a3be67d no need to schedule a block in the future since lookAhead is now built into Tone.now() 2017-06-29 13:55:36 -04:00
Yotam Mann
2f65397000 don't convert to ticks twice 2017-06-29 12:33:16 -04:00
Yotam Mann
49b54f3c4c removing unused conditional
`options.events` will always be defined because of `Tone.defaults`
2017-06-29 11:02:15 -04:00
Yotam Mann
c22f630182 removing unused conditionals 2017-06-29 10:43:55 -04:00
Yotam Mann
1f604f3f31 update sampler example
Fixes #243
[skip ci]
2017-06-28 15:23:49 -04:00
Yotam Mann
96719c8621 Clock forwards the caught error
makes the source of the crash easier to find
2017-06-28 15:22:26 -04:00
Yotam Mann
62e05f6d57 styling
[skip ci]
2017-06-26 18:19:30 -04:00
Yotam Mann
da60cbdfea Merge pull request #242 from christopheralcock/patch-1
tiny typo
2017-06-23 15:44:27 -05:00
Christopher Alcock
55f489c73b tiny typo
sorry for pedantry
2017-06-23 16:33:54 +01: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
2aacd45a0b fixing error in comment
[skip ci]
2017-06-21 10:22:10 -04:00
Yotam Mann
dc4acf15c2 updating jsdocs
[skip ci]
2017-06-21 10:22:00 -04:00
Yotam Mann
28caddede6 updating jsdocs
[skip ci]
2017-06-21 10:21:49 -04:00
Yotam Mann
775042bbe7 removing "lookAhead" from Clock 2017-06-21 10:21:38 -04:00
Yotam Mann
22b86333aa putting method in <pre> tag
[skip ci]
2017-06-21 10:21:20 -04:00
Yotam Mann
8d7ee0ec5c lookAhead is not static
[skip ci]
2017-06-21 10:20:43 -04:00
Yotam Mann
15537e1f19 dispose Transport/Master when context is closed 2017-06-19 17:51:59 -04:00
Yotam Mann
b670936c67 emit an event when a context is closed
to clean up Master/Transport and anything else static on the context
2017-06-19 17:51:03 -04:00
Yotam Mann
1c2e9afc0c float is default analyser return type 2017-06-19 17:13:46 -04:00
Yotam Mann
f9f1d3544e removing url flattening
little used/unnecessary feature
2017-06-19 17:10:36 -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
ff100a1db2 provide multiple extension types which are used as fallbacks if the first extension format is not supported 2017-06-19 13:02:29 -04:00
Yotam Mann
bdbbc14ad5 toggle the Transport state 2017-06-16 17:32:04 -04:00
Yotam Mann
0a42b3ef54 adding triggerAttackRelease method
Instrument one does not work with MultiSampler since a note is required
as the first argument
2017-06-16 17:27:30 -04:00
Yotam Mann
69481fd05b removing comment
[skip ci]
2017-05-28 22:19:26 -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
77d404963c lookAhead applied to all scheduled events
by placing it in the ‘now’ method instead of Tone.Clock
2017-05-28 21:44:56 -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
b9170401b0 using unit conversion 2017-05-28 20:47:27 -04:00
Yotam Mann
e3715a634e removing unused tryCallback 2017-05-28 19:42:08 -04:00
Yotam Mann
23c5a10fff offline context has 0 lookahead 2017-05-28 19:39:35 -04:00
Yotam Mann
652c5631cc clock using TickSignal 2017-05-28 19:39:18 -04:00
Yotam Mann
06a3413824 removing start/stop/pause events from TickSignal
adding `getDurationOfTicks`
2017-05-28 16:55:25 -04:00
Yotam Mann
7afa2c578c cancel->cancedScheduledValues 2017-05-28 14:14:22 -04:00
Yotam Mann
5a8550690f start/stop/pause events to TickSignal 2017-05-28 14:02:15 -04:00
Yotam Mann
73adc20088 get an event before the given event 2017-05-28 13:57:47 -04:00
Yotam Mann
aa5b81f8d1 linting 2017-05-26 22:25:12 -04:00
Yotam Mann
323eb3000a using inverse integral technique described in WAC paper 2017-05-26 22:16:09 -04:00
Yotam Mann
8727ca4383 linting 2017-05-26 17:39:45 -04:00
Yotam Mann
bed6181b70 no input node on TimelineSignal
that way nothing could be connected to it which would overwrite its
computed values
2017-05-26 17:17:32 -04:00
Yotam Mann
8081940629 timeline takes optional comparator arg to getters
allows it to do binary search on other attributes, not just time
2017-05-26 17:06:11 -04:00
Yotam Mann
686a591219 linting 2017-05-26 16:55:03 -04:00
Yotam Mann
f86639fc8e Tone.TickSignal calculates elapsed ticks
sums area under scheduling curve. approximates exponential and target
curves using multiple linear ramps
2017-05-26 16:45:30 -04:00
Yotam Mann
dc0e61c757 Revert "don't update clock time, just tick time"
This reverts commit 6597764434.
2017-05-23 23:29:14 -04:00
Yotam Mann
6597764434 don't update clock time, just tick time 2017-05-23 22:14:50 -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
0ba7837899 cloning queue to remove items within forEach loop 2017-05-21 21:00:44 -07:00
Yotam Mann
3f6c22ed39 removing unnecessary if statement 2017-05-21 20:41:43 -07: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
8d84d67c4a Transport loops when ticks is >= loopEnd
Fixes #223
2017-05-21 19:43:31 -07:00
Yotam Mann
d41c649a5c Buffer onload and onprogress only rely on downloadQueue and not currentDownloads count 2017-05-21 19:12:14 -07:00
Yotam Mann
fc1496182a making channel mode explicit
fixes splitting problem in FF
2017-05-16 22:51:51 -07:00
Yotam Mann
264e5d0869 pass additional options other than the urls in second constructor argument 2017-05-13 22:16:05 -04:00
Yotam Mann
f778774401 linting 2017-05-13 22:14:13 -04:00
Yotam Mann
f87665a52a make sure that the downloads count doesn't go below 0 2017-05-13 22:09:20 -04:00
Yotam Mann
5d7bd92d7a MultiSampler instrument 2017-05-13 22:08:04 -04:00
Yotam Mann
260d27bbb3 instruments depend on Tone.Master 2017-05-08 11:49:08 -04:00
Yotam Mann
e30e6c5cc9 try/catch block around callback
allows it to recover from errors that are in the callback

fixes #239
2017-05-08 11:45:21 -04:00
Yotam Mann
b1c5da4234 closing paren in docs
[skip ci]
2017-05-07 19:42:03 -07:00
Yotam Mann
02ff1b1817 changing blockTime refs to static references 2017-05-07 19:17:50 -07:00
Yotam Mann
c9203221aa making blockTime and sampleTime static vars 2017-05-07 19:15:35 -07:00
Yotam Mann
44a041a027 making method as private
[skip ci]
2017-05-07 18:45:23 -07:00
Yotam Mann
32842fde3a delayTime is signal of type Time
[skip ci]
2017-05-07 18:45:09 -07:00
Yotam Mann
18d9802dd9 updating numberOfInputs/Outputs docs
[skip ci]
2017-05-07 18:44:44 -07:00
Yotam Mann
cb1937062c throwing error when passed in device is not found 2017-05-02 20:58:14 -04:00
Yotam Mann
b0a0ff2a38 removing unnecessary conditional 2017-05-02 20:48:20 -04:00
Yotam Mann
488299a822 Player uses BufferSource 2017-05-02 12:15:00 -04:00
Yotam Mann
a1a4ad81c3 testing the empty constructor and static fromArray method 2017-05-01 19:10:05 -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
b1e7c8153a removing hacky chrome fix
No longer needed now that bug is fixed in Chrome.

#163
2017-05-01 16:39:13 -04:00
Yotam Mann
695fd2421f can receive to a specific input number instead of input node 2017-05-01 16:03:04 -04:00
Yotam Mann
ceb209313e fixing disconnect from nonzero input/output 2017-05-01 15:49:35 -04:00
Yotam Mann
c4362c46f8 removing unnecessary arguments.length check 2017-05-01 14:26:11 -04:00
Yotam Mann
0b047ead65 removing unnecessary safety check 2017-05-01 14:19:47 -04:00
Yotam Mann
1b8fdc404d createInsOuts was using input count for output 2017-05-01 14:17:16 -04:00
Yotam Mann
7159700f11 making connectSeries static 2017-05-01 14:06:36 -04:00
Yotam Mann
17510c8f9c latency hint should be "interactive" when set to fastest lookAhead 2017-05-01 13:55:21 -04:00
Yotam Mann
0bd8fbb717 merging dev commits 2017-05-01 11:11:11 -04:00
Yotam Mann
b927395825 making defaultArg static 2017-04-30 15:03:49 -04:00
Yotam Mann
8cd381c2ca mirroring the way that Master is stored on the context 2017-04-30 14:48:57 -04:00
Yotam Mann
15c238a31e don't create unnecessary output 2017-04-30 14:48:39 -04:00
Yotam Mann
867798e55d properly disconnecting constant signals 2017-04-30 14:48:25 -04:00
Yotam Mann
0354a87dab hasStereoPanner is now static 2017-04-30 14:11:44 -04:00
Yotam Mann
3a0a55be7b Solo makes it easier to solo one of many sources
will mute all other instances of Tone.Solo when an instance.solo=true
2017-04-30 12:39:09 -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
2e807dde30 light styling 2017-04-26 00:08:41 -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
a48a980861 moving signals to static defaults
invoking super constructor in prep for es6 classes
2017-04-25 23:45:37 -04:00
Yotam Mann
aa54db39fe using static defaultArg/defaults methods 2017-04-25 23:22:34 -04:00
Yotam Mann
4019b49c12 effects moved to new defaults API 2017-04-25 23:18:08 -04:00
Yotam Mann
c9d41345b7 bass constructor invoked without options 2017-04-25 23:08:57 -04:00
Yotam Mann
6e585e8f82 components using new defaults api
also invoking super constructor first in preparation for es6 migration
2017-04-25 23:08:23 -04:00
Yotam Mann
4057252566 applying defaults API to control classes 2017-04-25 22:37:01 -04:00
Yotam Mann
b3dd6513b9 using new defaults API 2017-04-25 22:31:06 -04:00
Yotam Mann
a3f54ce4cd new defaults api 2017-04-25 22:23:22 -04:00
Yotam Mann
4d08462067 type checkers and defaults methods are static 2017-04-25 22:22:29 -04:00
Yotam Mann
58bdbbc82a invoke super constructor first
preparation for moving to es6 modules. also moving to slightly
simplified `default` method
2017-04-24 23:23:15 -04:00
Yotam Mann
4bf55605c8 removing circular dependency 2017-04-24 23:18:53 -04:00
Yotam Mann
e66c515762 setTimeout method which is guaranteed by the clock source
also includes clearTimeout. API is similar to window.setTimeout, but
time is in seconds instead of milliseconds
2017-04-24 23:13:29 -04:00
Yotam Mann
a4a94b63ea callback is invoked with the timeline as the context 2017-04-24 22:59:21 -04:00
Yotam Mann
aea6c80f09 trying out new defaults API 2017-04-24 22:10:13 -04:00
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
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
Yotam Mann
d47cc0fa9d fixed precedence bug 2016-04-13 12:29:02 -04:00
Yotam Mann
0d5f790444 updating example
removing support of note interpolation (didn’t seem that useful).

[skip ci]
2016-04-13 12:28:10 -04:00
Yotam Mann
6d4a4cf164 moving intervalToFrequencyRatio into core 2016-04-12 20:30:18 -04:00
Yotam Mann
4a05dc4534 removing unused method
`fan` is more useful
2016-04-10 23:35:22 -04:00
Yotam Mann
4f4d93ba71 removing deprecated Note class 2016-04-10 23:34:34 -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
85cfedb03c adding polyfill for getFloatTimeDomain
Fixes #129
2016-03-20 19:01:39 -04:00
Yotam Mann
52186f6d31 noting polyfill
[skip ci]
2016-03-20 18:58:08 -04:00
Yotam Mann
e18ed2e677 polyfill for browsers that don't support interpolate value curves
Required by [the
spec](http://webaudio.github.io/web-audio-api/#widl-AudioParam-setValueC
urveAtTime-AudioParam-Float32Array-values-double-startTime-double-durati
on), but not currently implemented by Safari and FF.
2016-03-20 18:36:59 -04:00
Yotam Mann
272ad66873 documenting distinction between Time and TimelinePosition
Fixes #104

[skip ci]
2016-03-18 11:28:49 -04:00
Yotam Mann
0a4b997bde updating start method documentation
[skip ci]
2016-03-18 11:00:07 -04:00
Yotam Mann
df30c40bd3 maximum diff between frames 2016-03-18 10:24:11 -04:00
Yotam Mann
14fcbb3553 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2016-03-18 09:54:17 -04:00
Yotam Mann
5ddf71a3da removing millisecond conversion
accidentally still had that in there.
2016-03-17 18:00:42 -04:00
Yotam Mann
40d739fc4d More waveshaper points
works better on Safari
2016-03-16 13:09:46 -04:00
Yotam Mann
04614a2948 added setCurveAtTime to Timeline 2016-03-05 10:44:03 -05:00
Yotam Mann
78095af046 properly handles error on buffer decoding 2016-03-05 00:07:42 -05:00
Yotam Mann
aa1b5123aa fixing panner for browsers that don't support stereo panner 2016-03-04 18:59:31 -05:00
Yotam Mann
ad9ae4dbe9 fitting fft size to conform with old spec range
this allows it to pass on older systems which haven’t increased the
range to 32k
2016-03-04 18:30:15 -05:00
Yotam Mann
ac6ef2c263 ifdef which allows Tone work on the same page as p5.sound 2016-03-04 18:14:24 -05:00
Yotam Mann
2728e02555 ability to cancel an envelope 2016-03-04 15:54:24 -05:00
Yotam Mann
07f8f227cf .events -> .values 2016-03-04 15:35:10 -05:00
Yotam Mann
f2fc38210f updated doc examples 2016-03-03 13:08:26 -05:00
Yotam Mann
18b2136148 .value returns the scheduled value at time=now 2016-03-03 13:04:02 -05: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
278aace787 setting a reasonable max voice count 2016-03-03 13:01:11 -05:00
Yotam Mann
2020194a1c testing and handling edge cases 2016-03-03 13:00:59 -05:00
Yotam Mann
7a23c08703 LFO outputs 0 value when stopped
gets around 0 gain optimization
2016-03-03 01:35:29 -05:00
Yotam Mann
724ac4090c removing threshold value
making _worker static
2016-03-03 01:34:48 -05:00
Yotam Mann
89711b336e process single occurrence events first
Fixes #114
2016-02-27 17:23:38 -05:00
Yotam Mann
e8eb147935 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2016-02-27 17:19:26 -05:00
Yotam Mann
bfbf567d98 Clocks uses Workers instead of requestAnimationFrame
Fixes #124
2016-02-27 17:14:39 -05:00
Yotam Mann
12c7426f53 baseUrl
useful for various production environments.
2016-02-27 17:12:11 -05:00
Yotam Mann
93d70a3a9e waveshaper goes between -1 and 1 inclusive 2016-02-27 17:08:53 -05:00
Yotam Mann
ac5841d8ad removing startMobile
use StartAudioContext to accomplish the same thing.
2016-02-27 16:46:13 -05:00
Yotam Mann
115b9376ab Panner is now between -1 and 1
Same as the Web Audio API.
2016-02-27 11:31:15 -05:00
Yotam Mann
23c70cbc93 disposing fully 2016-02-27 11:22:26 -05:00
Yotam Mann
0441bc5008 pruning away unused signal classes 2016-02-27 11:18:59 -05:00
Yotam Mann
c4f85780f2 using sampleTime variable 2016-02-27 11:16:51 -05:00
Yotam Mann
a427070904 Outputs 0 at audio-rate
This is to get around an optimization in most browsers which stops
processing when the gain is equal 0 in the Signal.
2016-02-27 11:16:25 -05:00
Yotam Mann
670e3ef92b static 'now' function
updated description.
2016-02-25 17:58:26 -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
64dbebeb67 triggers oldest note
no more control over retriggering.
2016-02-08 13:44:49 -05:00
Yotam Mann
4a9f39a62b keeps track of release times
so it’s able to trigger the voice that has already been release, or
retrigger the oldest voice (if stealVoices) is true.
2016-02-08 13:44:49 -05:00
Yotam Mann
ecd15808c2 simplified Abs
now only accepts signals in the range [-1,1]
2016-02-06 15:06:03 -05:00
Yotam Mann
abc62d3962 Merge pull request #115 from hiddedejong/PartOffset
fixed start offset in Tone.Part, now behaves like Tone.Player
2016-02-01 22:28:59 -05:00
Yotam Mann
af6babf8d8 shortens attack time if the envelope is already active
this retains the attack slope.
2016-01-31 23:40:50 -05:00
Yotam Mann
c72a5f25c9 makes sure that exponential ramping is never from or to 0
when trying to ramp from 0, it does a setValueAtTime to a near zero
value, then ramps exponentially. And the reverse when ramping to 0.
2016-01-31 23:33:36 -05:00
Yotam Mann
79ab31603a cache the time in seconds of 1 sample 2016-01-31 23:13:00 -05:00
Yotam Mann
de37b6798d adding Master as a dependency
Addresses #112
2016-01-31 12:20:55 -05:00
Hidde de Jong
75628b53e8 fixed start offset in Tone.Part, now behaves like Tone.Player 2016-01-31 14:45:34 +01:00
Yotam Mann
9e7dd15e46 removed unused enum 2016-01-30 20:24:53 -05:00
Yotam Mann
995a12d765 Making sure the envelope is active before triggering the release
This keeps FF from throwing an error when trying to exponentially ramp
from 0.
2016-01-30 15:56:56 -05:00
Yotam Mann
46919e7c86 Simplifying the API of FMSynth and AMSynth
uses SimpleSynth instead of MonoSynth. API more flat.
2016-01-30 15:53:40 -05:00
Yotam Mann
2f4d6d07cd DrumSynth->MembraneSynth & CymbalSynth->MetalSynth 2016-01-30 15:48:32 -05:00
Yotam Mann
3d67297166 updated copyright year 2016-01-23 12:30:34 -05:00
Yotam Mann
d5499f64f8 CymbalSynth synthesizes spectrally complex, metallic sounds 2016-01-19 10:02:46 -05:00
Yotam Mann
e53c864948 making sure the envelope is silent after the decay if the sustain is 0 2016-01-18 22:46:36 -05:00
Yotam Mann
9f785b371e removing deprecated methods 2016-01-18 22:45:46 -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
0349216473 Envelope is completely silenced while not being triggered
Fixes #109
2016-01-16 15:39:29 -05:00
Yotam Mann
68daf2aab9 fixing docs 2016-01-03 12:36:49 -05:00
Yotam Mann
e371c69a79 incrementing version 2015-12-13 13:09:53 -05:00
Yotam Mann
6c81d59df2 r6 version 2015-12-08 00:26:03 -05:00
Yotam Mann
cfc33cf39c doc'ing 2015-12-08 00:07:16 -05:00
Yotam Mann
b3e08a4c02 removed instrument presets 2015-12-07 21:32:28 -05:00
Yotam Mann
7fd1ad026e removing effect presets
Presets have been moved to their own repo
2015-12-07 19:14:12 -05:00
Yotam Mann
eda4553169 using baseFrequency and octaves for AutoFilter 2015-12-07 11:46:34 -05:00
Yotam Mann
d29995a42a phaser uses octaves instead of depth.
more consistent with rest of API.
2015-12-07 01:04:09 -05:00
Yotam Mann
2664140ab0 implementing filterEnvelope with Tone.FrequencyEnvelope 2015-12-07 00:39:39 -05:00
Yotam Mann
acd3722add exposing exponent value 2015-12-07 00:38:48 -05:00
Yotam Mann
307dd6632c FrequencyEnvelope is like ScaledEnvelope but with baseFrequency and octaves instead of min and max 2015-12-07 00:23:21 -05:00
Yotam Mann
3bbd66c5d2 constrain TimelineSignal's memory 2015-12-07 00:19:38 -05:00
Yotam Mann
f7547217c8 Timeline has an optional memory length 2015-12-06 23:48:53 -05:00
Yotam Mann
2626b19469 setValueAtTime makes the attack less prone to clicks
not sure why.
2015-12-06 21:39:59 -05:00
Yotam Mann
298799dee9 added 'spread' to Chorus 2015-12-06 20:53:36 -05:00
Yotam Mann
1d7385d819 spread is initialized with the constructor. 2015-12-06 17:37:37 -05:00
Yotam Mann
972e7f1d00 set the state to "stopped" after a number of loops. 2015-12-06 17:23:30 -05:00
Yotam Mann
8984365883 resolves case where items are removed during iteration 2015-12-06 17:23:30 -05:00
Yotam Mann
dbc33d0a1c fixes case of canceling events when there's only one event in the timeline 2015-12-06 17:23:30 -05:00
Yotam Mann
441f964206 Merge pull request #103 from lukephills/upstream-dev
Tremolo stereo spread control
2015-12-06 17:22:54 -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
ae669e7fa6 making sure the ramp time constant is above 0 2015-12-06 13:14:36 -05:00
Yotam Mann
1cf6910796 Using exponentialRamp for decay and release
This normalizes things across browsers because it seems that FF
setTargetAtTime always starts from 0

addresses #91
2015-12-06 13:14:36 -05:00
Yotam Mann
f4200aa2a7 left and right inputs of merger are explicitly mono
this fixes issue of not splitting correctly in FF and Safari.
2015-12-06 13:14:36 -05:00
Yotam Mann
12d7cd0e1f eventsToRemove is no longer necessary 2015-12-06 13:14:36 -05:00
Yotam Mann
2bf8039b4e iterator with guarding in case items are deleted
makes it safer to delete an item during a forEach loop
2015-12-06 13:14:36 -05:00
Yotam Mann
f0857f2e08 canceling next events on stop 2015-12-06 13:14:36 -05:00
Luke Phillips
1cbe390d8d Give tremolo a stereo spread option 2015-12-06 13:29:08 +13:00
Yotam Mann
8231fc5cf3 fixing and testing start offset for non-looping parts 2015-11-26 08:42:33 -08:00
Yotam Mann
97e8169c85 acts on the component Tone.Events and not on sub-Parts 2015-11-26 08:27:29 -08:00
Yotam Mann
8bcf318271 updating to new playbackRate API 2015-11-26 08:21:38 -08:00
Yotam Mann
1b10f4e47b reverting. getValueAtTime should return unconverted units
Making a note of this in the docs
2015-11-26 01:24:34 -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
21b8c074e4 changing the humanize amount to 0.02s 2015-11-25 21:46:33 -05:00
Yotam Mann
fe5d6ac94e getting partials (correctly) for other Oscillator types 2015-11-23 23:51:36 -05:00
Yotam Mann
093d2e3a36 getValueAtTime returns converted values 2015-11-23 23:49:54 -05:00
Yotam Mann
ac693eac4b doc'ing 2015-11-17 23:21:55 -05:00
Yotam Mann
c8cfe33864 doc'ing 2015-11-17 22:52:22 -05:00
Yotam Mann
7f660730df removing exponent member 2015-11-17 22:51:32 -05:00
Yotam Mann
4c3cf0d8fc handling partials member for other oscillator types 2015-11-17 22:51:10 -05:00
Yotam Mann
2c215ce703 setting ramp point cancels next values so they don't interfere with the next ramp 2015-11-16 11:11:01 -05:00
Yotam Mann
e09ec8de23 reverting to old volume implementation in Master 2015-11-16 11:10:12 -05:00
Yotam Mann
0c3cd6a305 Set a ramp point before the release curve 2015-11-11 23:41:17 -05:00
Yotam Mann
42dadb6d2d using Emitter style for load/progress/error
The new syntax is `Tone.Buffer.on(“load”, callback);`
2015-11-11 12:33:02 -05:00
Yotam Mann
4f9871cd30 fixing 'off' case where Emitter is mixed into the class 2015-11-11 12:13:36 -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
3e14c63313 updated docs 2015-11-10 23:02:01 -05:00
Yotam Mann
f893e2378b schedule rests with null 2015-11-10 23:01:14 -05:00
Yotam Mann
6795161220 using random index in randomOnce
fixes scenario where the values change or the array changes sizes.
2015-11-03 19:40:45 -05:00
Yotam Mann
d6d9c397de Tone.Pattern iterates through an array of events in a number of patterns 2015-11-03 19:15:40 -05:00
Yotam Mann
2197942af4 control-rate generators that only produce values when invoked 2015-11-03 19:14:01 -05:00
Yotam Mann
e184800225 moved Sequence to event folder 2015-11-03 18:38:44 -05:00
Yotam Mann
a51ed921bf Tone.Loop provides a simple, schedulable looped callback. 2015-11-03 18:37:40 -05:00
Yotam Mann
03c580db3e sequence simplifies describing event order 2015-11-03 18:36:51 -05:00
Yotam Mann
fe57fa28f0 Part combines multiple Events or Parts 2015-11-03 18:36:36 -05:00
Yotam Mann
bcf49d2400 uses a private startOffset to keep track of nested Events 2015-11-03 18:34:47 -05:00
Yotam Mann
8e5dd56906 removing unused dependencies 2015-11-03 18:33:52 -05:00
Yotam Mann
2e3e534e1e Note->Event 2015-11-02 21:53:39 -05:00
Yotam Mann
1dd36570d3 doc'ing 2015-11-02 20:10:36 -05:00
Yotam Mann
858c815640 docing 2015-11-02 20:09:19 -05:00
Yotam Mann
f1be71c0c2 updating to new Volume API 2015-11-02 20:08:53 -05:00
Yotam Mann
afba7d77d2 toRemove array
This fixes issues where an event is removed mid loop.
2015-11-02 20:08:20 -05:00
Yotam Mann
825e3cd757 updating to new Delay API 2015-11-02 09:39:31 -05:00
Yotam Mann
67221f8f39 Delay no longer extends Tone.Param 2015-11-02 09:31:12 -05:00
Yotam Mann
31a9f8b426 Tremolo is now a StereoEffect 2015-11-01 17:52:02 -05:00
Yotam Mann
93993846ee updating to new Gain / Volume API 2015-11-01 17:49:53 -05:00
Yotam Mann
99769ca927 volume doens't extend Gain 2015-11-01 17:49:33 -05:00
Yotam Mann
2d6d733008 signal uses regular gain node 2015-11-01 17:49:14 -05:00
Yotam Mann
8c1bf599d0 reverting : gain no longer extends Tone.Param 2015-11-01 17:48:52 -05:00
Yotam Mann
b90db92749 parses quantized values with toSeconds 2015-10-27 21:08:02 -04:00
Yotam Mann
026501144d better accuracy by using the clock's next tick time. 2015-10-27 20:58:06 -04:00
Yotam Mann
681c38182d can quantize to a subdivision 2015-10-27 17:46:34 -04:00
Yotam Mann
bfa4f1ada2 renaming EventEmitter to just Emitter 2015-10-27 17:40:52 -04:00
Yotam Mann
1a8ccff5a0 removing shallowCopy from optionsObject
addresses #99
2015-10-21 15:27:52 -04:00
Yotam Mann
9cbcd5b94e handles case where first argument is a Tone.Buffer
addresses #99
2015-10-21 13:51:53 -04:00
Yotam Mann
61fc3b298d isObject checks only for Object literals 2015-10-21 13:51:23 -04:00
Yotam Mann
4a2bd215e7 using new type checking methods 2015-10-21 13:13:15 -04:00
Yotam Mann
0ba977456d removing shallowCopy
adding more type check methods
2015-10-21 13:12:51 -04:00
Yotam Mann
92a418af1e converts to destination units when connected 2015-10-21 12:12:35 -04:00
Yotam Mann
4bb7f2928a inherit connect SignalBase 2015-10-21 12:12:17 -04:00
Yotam Mann
7fc477b746 removing circular dependency 2015-10-21 12:11:41 -04:00
Yotam Mann
61fb1df660 adding strict mode 2015-10-21 12:11:19 -04:00
Yotam Mann
2b670482c6 added feedback delay 2015-10-21 10:55:31 -04:00
Yotam Mann
666d2f230a EQ3 using new Gain 2015-10-21 10:54:33 -04:00
Yotam Mann
cd3ae4f860 Timeline signal using new Tone.Param 2015-10-21 10:53:43 -04:00
Yotam Mann
b73a8cb71f updating to new Param class 2015-10-21 10:34:37 -04:00
Yotam Mann
1c00c650db updating to new Volume API 2015-10-21 10:33:13 -04:00
Yotam Mann
257b480535 Volume extends Gain 2015-10-21 10:30:21 -04:00
Yotam Mann
dd3667a234 no need for getType 2015-10-21 10:29:47 -04:00
Yotam Mann
1c7e9483e9 updating syncing for Params 2015-10-21 10:29:29 -04:00
Yotam Mann
796da24d9e connect method accommodates Tone.Param
also better way of testing for object literals instead of `typeof` in
`optionsObject`
2015-10-21 10:29:04 -04:00
Yotam Mann
11b4995b25 moving overridden flag to Param 2015-10-21 10:27:44 -04:00
Yotam Mann
0f841ff709 Signal extends Param and uses new Gain node 2015-10-21 10:11:34 -04:00
Yotam Mann
c2311b0794 Delay extends Param 2015-10-21 10:04:55 -04:00
Yotam Mann
532a8e6745 Gain class wraps native GainNode 2015-10-21 10:02:23 -04:00
Yotam Mann
386acdbb03 Param base class wraps native AudioParam 2015-10-21 10:01:40 -04:00
Yotam Mann
a3a7175f41 pass Frequency to AutoFilter's min/max 2015-10-20 17:31:10 -04:00
Yotam Mann
b061b81983 can get state of LFO 2015-10-20 17:30:20 -04:00
Yotam Mann
c98303331f clarifying Monophonic comment
Addresses #98
2015-10-13 10:37:21 -04:00
Yotam Mann
36d09dacc7 additional type-checking helpers 2015-10-11 16:04:14 -04:00
Yotam Mann
3fe5ef2b6c after-inclusive search 2015-10-11 16:03:20 -04:00
Yotam Mann
f844b6b021 updating docs 2015-10-11 16:02:10 -04:00
Yotam Mann
bd7168825e normalized loop progress
Fixes #75
2015-10-09 19:09:02 -04:00
Yotam Mann
db904f0510 updating parameter order in docs 2015-10-09 11:01:03 -04:00
Yotam Mann
8efd9b9c64 allowing for shallow copies with defaults 2015-10-08 11:36:15 -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
2f27321dda fixing doc description of analyser 2015-09-11 17:05:27 -04:00
Yotam Mann
ea1162da97 Tone.Part is now schedulable in the future. 2015-09-05 19:22:04 -04:00
Yotam Mann
4bf051afc8 Tone.Note with the new Transport API 2015-09-05 19:17:45 -04:00
Yotam Mann
4b29736ba2 don't do recurse defaultArg if it's an array 2015-09-05 19:17:00 -04:00
Yotam Mann
7c0318cbdf getNextEvent->getEventAfter 2015-09-05 16:27:42 -04:00
Yotam Mann
615c120688 getNextEvent -> getEventAfter and getEventBefore method
also fixed bug in forEachAfter method
2015-09-05 16:27:19 -04:00
Yotam Mann
95f1f15a12 giving example of repeated start and stop methods 2015-09-05 15:15:47 -04:00
Yotam Mann
42134d7ac3 scheduleRepeat implemented with IntervalTimeline 2015-09-05 15:15:04 -04:00
Yotam Mann
c66557a2cb Removes all events when no callback with off` 2015-09-05 15:06:58 -04:00
Yotam Mann
6a21b231ff the BSD now balances itself. 2015-09-05 14:26:19 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
3e2ebfcc05 IntervalTimeline which implements an interval tree
used to keep track of events with a time and duration
2015-09-04 16:17:56 -04:00
Yotam Mann
7393a59410 cancel <-> clear
clear removes an ID and cancel cancels events after the given time. API
is now more consistent with the Web Audio’s cancelScheduledValues
2015-09-03 16:56:05 -04:00
Yotam Mann
24e9408b6e using Tone.Volume in instrument 2015-09-03 11:05:05 -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
9987af7a1d volume uses Tone.Gain 2015-08-31 16:59:36 -04:00
Yotam Mann
5e8c2c3777 source uses Tone.Volume as the output. 2015-08-31 16:55:47 -04:00
Yotam Mann
c222d7752d clean up events array. 2015-08-31 16:42:54 -04:00
Yotam Mann
45b6988090 set custom partials array for Oscillator 2015-08-31 16:42:27 -04:00
Yotam Mann
94e4c882fd Milliseconds type 2015-08-31 15:47:25 -04:00
Yotam Mann
56eca9b690 "loop" event when the transport loops 2015-08-31 15:19:03 -04:00
Yotam Mann
ec5504c8c3 off can take multiple event names. 2015-08-31 15:16:05 -04:00
Yotam Mann
80b938a4d1 removed old comment 2015-08-31 15:15:53 -04:00
Yotam Mann
3a6bc7adbd Source Syncing using events.
Signal syncing refactored.
2015-08-31 15:15:44 -04:00
Yotam Mann
66d8566c9e correctly converts from units
I was converting the values twice.
2015-08-31 15:14:34 -04:00
Yotam Mann
881b1779b0 fixed reference to old file names. 2015-08-31 15:13:58 -04:00
Yotam Mann
b2283d640f syncing to the Transport through events 2015-08-31 15:13:43 -04:00
Yotam Mann
4e18bb744d fixing typo 2015-08-31 11:37:19 -04:00
Yotam Mann
155f83d948 making bpm readOnly
keeps people from overwriting it.
2015-08-28 18:42:08 -04:00
Yotam Mann
a42b8e74ee making the signal explicitly 1 channel 2015-08-28 18:33:31 -04:00
Yotam Mann
ba87494ee7 bpm is a readOnly attribute 2015-08-28 18:33:20 -04:00
Yotam Mann
117337e5e1 make sure signal is defined before checking instanceof 2015-08-28 18:33:02 -04:00
Yotam Mann
a2611941ea accepts options object 2015-08-28 18:32:32 -04:00
Yotam Mann
54c14e1f96 default values and per channel clipping indication 2015-08-28 18:32:20 -04:00
Yotam Mann
48b38d0de9 can be constructed through an options object 2015-08-27 23:08:58 -04:00
Yotam Mann
61d0e1bbda lfo outputs signal while stopped 2015-08-27 23:03:42 -04:00
Yotam Mann
c72bcb250a auto panner starts at the middle of the cycle 2015-08-27 22:56:35 -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
908ee2606f Vibrato Effect
LFO attached to a Delay
2015-08-26 10:28:53 -04:00
Yotam Mann
5b4f93db48 updating docs 2015-08-26 10:00:32 -04:00
Yotam Mann
9438b84f34 pass arguments to the base class 2015-08-26 10:00:24 -04:00
Yotam Mann
302c40c30d corrected pass through.
LFO refactor
2015-08-26 10:00:15 -04:00
Yotam Mann
cd8712c65f passes arguments to base class 2015-08-26 09:59:37 -04:00
Yotam Mann
29d3a1166a uses defaults 2015-08-26 09:59:11 -04:00
Yotam Mann
9659689fd8 constant signal generator is now AudioBufferSource 2015-08-24 17:30:49 -04:00
Yotam Mann
102262cea9 removing unnecessary safari inconsistency bug 2015-08-24 17:30:11 -04:00
Yotam Mann
499bb57ac6 updating doc 2015-08-24 17:29:52 -04:00
Yotam Mann
4712580937 handles case where there is no Transport loaded 2015-08-24 17:29:35 -04:00
Yotam Mann
c8cb6c5256 buffer accepts Buffer in constructor 2015-08-24 11:18:01 -04:00
Yotam Mann
180c7fc943 Better docs for some math functions 2015-08-21 17:05:09 -04:00
Yotam Mann
c0bf3556dc added AudioToGain method 2015-08-21 17:04:44 -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
7cb373635d renamed Signal methods
setCurrentValueNow -> setRampPoint, linearRampToValueNow ->
linearRampToValue
2015-08-21 15:02:33 -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
74a63110da NewClock -> Clock 2015-08-18 18:15:19 -04:00
Yotam Mann
e5b0fb49d3 NewClock -> Clock 2015-08-18 18:14:26 -04:00
Yotam Mann
d64fe31df7 doc'ing the clock 2015-08-18 18:13:30 -04:00
Yotam Mann
dff1e43239 fixes bug when clear time was before any events 2015-08-18 18:07:35 -04:00
Yotam Mann
ad57ad2bcb fixing tick offset on start method 2015-08-18 18:06:45 -04:00
Yotam Mann
36e8002e85 fixed clearBefore to do what it says 2015-08-18 17:33:39 -04:00
Yotam Mann
d85c973a83 added index to iterator.
removeEvent uses iterator
2015-08-18 17:08:14 -04:00
Yotam Mann
ac2d078afd using clock's ticks 2015-08-18 16:30:50 -04:00
Yotam Mann
673abf3649 clock counts its own ticks 2015-08-18 16:30:33 -04:00
Yotam Mann
80abf87292 reflecting rename 2015-08-18 16:29:39 -04:00
Yotam Mann
b5c94bbfee clarifying _toUnits and _fromUnits 2015-08-18 16:29:15 -04:00
Yotam Mann
72ee2dcc37 renamed Schedulable to Timeline 2015-08-18 16:28:55 -04:00
Yotam Mann
5fd98c2064 doc'ing the EventEmitter 2015-08-17 14:57:54 -04:00
Yotam Mann
f380627628 updating to new Schedulable API 2015-08-17 01:02:06 -04:00
Yotam Mann
257c313f58 events are no longer private
added getNextEvent
2015-08-17 01:01:38 -04:00
Yotam Mann
8ed60da67a updated to new Schedulable API 2015-08-17 01:01:04 -04:00
Yotam Mann
2fcb93f3ce don't cancel scheduled values when setting a value 2015-08-17 01:00:02 -04:00
Yotam Mann
4b78dcbed1 buffer accepts AudioBuffer in the constructor 2015-08-16 22:22:07 -04:00
Yotam Mann
1bd7f72b04 SchedulableState extends Schedulable 2015-08-16 22:21:54 -04:00
Yotam Mann
57402b289c updated Schedulable API 2015-08-16 22:21:42 -04:00
Yotam Mann
4076c24b82 fixed midi to note conversion octave problem 2015-08-16 22:21:28 -04:00
Yotam Mann
c4757ee146 Merge pull request #86 from Tonejs/dev
Dev
2015-08-16 20:35:46 -04:00
Yotam Mann
4b1e5d263d clusters of Tone.Notes
WIP
2015-08-16 20:31:55 -04:00
Yotam Mann
a965429dc8 Atomic event
replaces old Tone.Note
2015-08-16 20:31:31 -04:00
Yotam Mann
6fb8995170 WIP schedule methods + PPQ 2015-08-16 20:31:11 -04:00
Yotam Mann
5d6a669bba EventEmitter class 2015-08-16 20:30:41 -04:00
Yotam Mann
102b93ccda starting new Clock not using ScriptProcessor 2015-08-16 20:30:26 -04:00
Yotam Mann
79e0383ad6 connectSeries -> chain 2015-08-16 15:18:48 -04:00
Yotam Mann
66a9991ede Envelope uses new SchedulableSignal 2015-08-16 15:17:35 -04:00
Yotam Mann
5c99025e25 release all the currently played notes
boolean to steal voices or not
2015-08-16 15:17:20 -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
b74b8a781d using minOutput throughout 2015-08-16 15:16:07 -04:00
Yotam Mann
d56f4c196e schedulable signal class
Allows state in the future to be queried
2015-08-16 15:15:54 -04:00
Yotam Mann
77973f64ab Schedulable state 2015-08-16 15:15:32 -04:00
Yotam Mann
47dd0e2f45 amplitude envelope uses new Gain 2015-08-16 15:15:10 -04:00
Yotam Mann
8047294b32 test if signal exists before checking instanceof 2015-08-16 14:23:30 -04:00
Yotam Mann
cb963405ed master gets dispose method 2015-08-16 14:23:14 -04:00
Yotam Mann
1decb210f3 Gain takes options object 2015-08-16 14:23:01 -04:00
Yotam Mann
bc44a2ff99 wrapping GainNode in Tone class 2015-08-15 19:30:43 -04:00
Yotam Mann
f2bae50952 wrapping DelayNode into Tone class 2015-08-15 19:30:33 -04:00
Yotam Mann
1953309e2f Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2015-08-15 18:49:16 -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
5773944f88 fft and waveform analyser 2015-08-10 14:40:20 -04:00
Yotam Mann
a5820e406e updated link 2015-08-10 14:40:03 -04:00
Yotam Mann
05ae3480b9 F had the wrong index 2015-08-07 13:25:52 -04:00
Matthew Hasbach
73528051ec Fix typo "Tranport" 2015-08-04 19:34:28 -04:00
Yotam Mann
f9dadbf320 Exposed concert pitch in frequency conversions
now accommodates global detune
2015-08-01 01:25:10 -04:00
Yotam Mann
b71e577d4a removing old note dependency 2015-08-01 00:59:30 -04:00
Yotam Mann
e1c8fdaec5 Double accidental support
Fixes #81
2015-08-01 00:58:49 -04:00
Yotam Mann
c3f41e8424 Handles negative octaves 2015-07-24 23:16:00 -04:00
Yotam Mann
025a009d5b convert a Time value to Notation 2015-07-21 13:30:20 -04:00
Yotam Mann
17f5e8bb8e delays are offset only 1 block now. 2015-07-21 11:22:36 -04:00
Yotam Mann
1d8726c614 Tone.PitchShift
real time pitch shifting using sawtooth waves connected to DelayNodes.
Addresses #56. Ask and you shall receive.
2015-07-21 11:21:48 -04:00
Yotam Mann
24f1ddf4b9 Offset 'now' one block (128 samples) when triggering attack/release
Fixes #79
2015-07-21 10:31:37 -04:00
Yotam Mann
7eead0913b ramp to a smaller value
addresses #79
2015-07-20 10:47:52 -04:00
Yotam Mann
01060f13db removing old API test 2015-07-18 14:59:18 -04:00
Yotam Mann
7608371843 exposing toTicks and ticksToSeconds 2015-07-13 21:58:20 -04:00
Yotam Mann
5629ecd360 starting r6-dev 2015-07-11 14:55:48 -04:00
Yotam Mann
1d16c25ad9 r5 2015-07-04 16:35:46 -04:00
Yotam Mann
3ccc0683bf changing doc links to markdown style 2015-07-04 15:25:37 -04:00
Yotam Mann
6757aef9e3 added Q value to phaser 2015-07-04 13:48:18 -04:00
Yotam Mann
00e0ba7273 read envelope value 2015-07-04 13:36:38 -04:00
Yotam Mann
928f2c3168 pass options object to Instrument base class 2015-07-04 13:36:22 -04:00
Yotam Mann
caddec650f doc'ing sources
mergine @polyrhythmatic changes
2015-07-04 12:43:21 -04:00
Yotam Mann
6e15da9223 doc'ing effects
mergine @polyrhythmatic changes
2015-07-04 12:40:33 -04:00
Yotam Mann
64212d90f3 doc'ing components
merging seth's doc changes
2015-07-04 12:32:18 -04:00
Seth Kranzler
d599761f2e more doc'ing 2015-07-02 15:45:40 -04:00
Yotam Mann
17c6bf3661 note attack parameter is a Frequency type 2015-07-02 13:11:44 -04:00
Seth Kranzler
12c56011b6 doc'ing components 2015-07-01 20:19:58 -04:00
Seth Kranzler
faf289bdd6 Effects, mic, Noise, Omniosc, and AmplitudeEnvelope docs updated 2015-07-01 17:44:30 -04:00
Yotam Mann
42d3ee84b9 remove dry signal feedback
this caused it to fail after the feedback gain was above 0.5.

Fixes #70
2015-06-28 21:07:27 -04:00
Yotam Mann
2bdd2eccce can set volume initially on instruments 2015-06-27 17:25:47 -04:00
Yotam Mann
47a354c9ce fixed typo in description 2015-06-27 17:25:32 -04:00
Yotam Mann
690ddd69fc updated units 2015-06-27 17:25:19 -04:00
Yotam Mann
e0b6ec48ad fixed refactor bug 2015-06-26 01:21:59 -04:00
Yotam Mann
0757b580b7 adjusting defaults 2015-06-26 01:21:49 -04:00
Yotam Mann
8ffd6e538f fixed doc bugs 2015-06-22 01:21:25 -04:00
Yotam Mann
747dff0636 fixing mute/unmute 2015-06-22 01:21:09 -04:00
Yotam Mann
07b4516974 doc'ing effects 2015-06-22 01:20:57 -04:00
Yotam Mann
0457def366 updating instrument images 2015-06-22 01:20:20 -04:00
Yotam Mann
5ea8eaa35d doc'ing components 2015-06-20 19:25:49 -04:00
Yotam Mann
cedc2040e8 doc'ing instruments 2015-06-20 18:03:49 -04:00
Yotam Mann
4e9cb3ce1e doc'ing 2015-06-20 15:50:57 -04:00
Yotam Mann
8449622a68 new types MIDI and TransportTime 2015-06-20 15:50:06 -04:00
Yotam Mann
b13beccba8 doc'ing signals 2015-06-19 00:52:04 -04:00
Yotam Mann
90b5ee3844 instrument examples 2015-06-15 22:36:20 -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
8d02f2eb81 editing class comments. 2015-06-14 01:45:12 -04:00
Yotam Mann
4b1f235781 doc'ing bus 2015-06-14 01:24:12 -04:00
Yotam Mann
bb4754928f styling docs 2015-06-14 01:21:10 -04:00
Yotam Mann
cf6fdefdab doc'ing signals 2015-06-14 01:17:09 -04:00
Yotam Mann
bd7e4fd76a doc'ing components 2015-06-14 01:09:06 -04:00
Yotam Mann
d22e00d6ba write protection on harmonicity and modulation index 2015-06-14 00:54:51 -04:00
Yotam Mann
dff77a9944 doc'ing effects 2015-06-14 00:54:17 -04:00
Yotam Mann
f2a244a960 doc'ing instruments 2015-06-14 00:32:17 -04:00
Yotam Mann
b2fa7a065e jsdocing 2015-06-13 23:56:32 -04:00
Yotam Mann
216ed6e472 instrument jsdoc'ing 2015-06-13 23:15:57 -04:00
Yotam Mann
8b7b4ab3f3 making envelope attack/release method private 2015-06-13 22:47:07 -04:00
Yotam Mann
58573b15c1 harmonically as a signal value 2015-06-13 22:30:53 -04:00
Yotam Mann
800ac13332 jsdoc'ing the sources 2015-06-13 22:30:33 -04:00
Yotam Mann
de3564827d set example 2015-06-13 22:03:58 -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
20ad29dc61 removing types from array notation 2015-06-13 20:56:41 -04:00
Yotam Mann
a81ba071f3 changing the styling of this in return statements 2015-06-13 20:54:29 -04:00
Yotam Mann
6bb7b761a1 updating docs 2015-06-13 20:52:51 -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
07264eb05b signal jsdocing 2015-06-13 19:29:25 -04:00
Yotam Mann
99c7067f54 sets initial volume of source 2015-06-07 14:05:59 -04:00
Yotam Mann
d29ecdad36 parameter can be passed in 2015-06-07 13:16:50 -04:00
Yotam Mann
807db1640c made filter public 2015-06-07 12:58:21 -04:00
Yotam Mann
37286c3d23 better rolloff validation. 2015-06-07 12:57:50 -04:00
Yotam Mann
9505bf77b6 setting parameters of LFO 2015-06-07 12:12:03 -04:00
Yotam Mann
3bf65cddb3 type annotation 2015-06-07 12:09:08 -04:00
Yotam Mann
3ee0ab2e3e adding typedefs to Tone.Type 2015-05-31 10:54:23 -04:00
Yotam Mann
b3f7babcca respelling the enum types 2015-05-24 09:53:53 -04:00
Yotam Mann
68a47a9d58 Normal->NormalRange & Number->Default 2015-05-24 09:45:15 -04:00
Yotam Mann
38f66d92ad get can use "." to access deeper props 2015-05-24 09:34:17 -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
17e76b0642 3 new Simplified Synths 2015-05-23 18:26:16 -04:00
Yotam Mann
17143cf777 Tone.Frequency type 2015-05-23 18:16:53 -04:00
Yotam Mann
176ddcb52b Instrument default value 2015-05-23 18:16:34 -04:00
Yotam Mann
fdf8da421c gain gets the default value 2015-05-23 18:16:14 -04:00
Yotam Mann
f765c6127f chain and mute 2015-05-23 18:15:39 -04:00
Yotam Mann
dbf992d195 LFO takes on unit values
it also starts at min value instead of jumping to the middle value on
start
2015-05-23 18:15:19 -04:00
Yotam Mann
a53c7b8eec moving typedefs into Tone core 2015-05-23 18:14:39 -04:00
Yotam Mann
0667feae49 removing unneeded connections 2015-05-22 10:13:05 -04:00
Yotam Mann
dfc04af754 adding Q control to Multiband split 2015-05-22 10:12:50 -04:00
Yotam Mann
9bd56c89c6 removing panner references 2015-05-21 13:53:04 -04:00
Yotam Mann
4bb78b0fa2 passing options to base class 2015-05-21 13:52:44 -04:00
Yotam Mann
e2ed3b4350 volume is first parameter of constructor 2015-05-21 13:52:06 -04:00
Yotam Mann
3f3cbe5f04 detune value in cents 2015-05-21 13:51:40 -04:00
Yotam Mann
b7864d1c4d correctly sets resonance and dampening
it was set at 0 before, making it silent.
2015-05-13 12:13:25 -04:00
Yotam Mann
d63290f4ee returning to original get method
gets everything, not just the defaults of the parent
2015-05-13 12:13:00 -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
0b00db3ec6 defaults 2015-05-12 23:48:13 -04:00
Yotam Mann
d8575a38ba get crawls defaults correctly 2015-05-12 23:46:12 -04:00
Yotam Mann
2e36740b9b fixing deps 2015-05-05 16:40:58 -04:00
Yotam Mann
a2f4a3595b jsdoc'ing 2015-05-05 16:40:52 -04:00
Yotam Mann
eec1c3135d option not to convert units
that would make the .units attribute only for labelling and
non-functional.
2015-05-05 16:38:46 -04:00
Yotam Mann
2fdaa36d1f Clock onended callback similar to Sources
Fixes #65
2015-05-05 15:36:06 -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
e797398395 buffer is reversed when it's loaded
not every time the buffer is set (as in the case a Sampler’s buffer is
being set).
2015-04-28 16:27:11 -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
274bab6336 removing Tone.Stereo
changing the `channelCountMode` is much simpler.
2015-04-28 14:42:40 -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
632c22b9e5 set PolySynth with rampTime 2015-04-24 19:34:26 -04:00
Yotam Mann
f0861838fc mute boolean so that you can't double mute the master output 2015-04-24 17:45:32 -04:00
Yotam Mann
3ae799fc6e onload callback 2015-04-24 17:45:12 -04:00
Yotam Mann
295901e383 new LowpassCombFilter interface 2015-04-24 17:45:03 -04:00
Yotam Mann
ef5ef5fed9 dampening in hertz rather than normalized 2015-04-24 17:44:42 -04:00
Yotam Mann
1be27628c4 simplifying comb filters
128 samples is defined in the spec as the block size and minimum delay
time for cyclic delayNodes. this makes it unnecessary to string
together multiple delays for small delay times.
2015-04-24 17:44:10 -04:00
Yotam Mann
e069787697 Keeping the lfo min above 0
addresses #59
2015-04-24 13:46:12 -04:00
Yotam Mann
f7c6c1cd95 slimming down compressor code 2015-04-24 13:13:20 -04:00
Yotam Mann
68685f0fc8 renaming "amount" -> "depth" 2015-04-24 13:13:00 -04:00
Yotam Mann
dd3676d5a8 Tremolo Effect 2015-04-24 13:10:16 -04:00
Yotam Mann
0ff1962d51 MidSideCompressor 2015-04-20 15:41:49 -04:00
Yotam Mann
b3bd168b1f defined MidSideEffect in terms of MidSideSplit/Merge 2015-04-20 15:41:42 -04:00
Yotam Mann
8ad222d94f MidSide Split and Merge components 2015-04-20 15:41:30 -04:00
Yotam Mann
bbdeffb7f7 attackType -> attackCurve 2015-04-20 10:42:27 -04:00
Yotam Mann
e79c9a33e4 optimizing Tone.Stereo 2015-04-20 10:42:09 -04:00
Yotam Mann
1b72e91b32 renamed EQ to EQ3 2015-04-20 10:41:55 -04:00
Yotam Mann
8fed8ee52b DrumSynth instrument 2015-04-20 10:39:47 -04:00
Yotam Mann
90a3aeb151 removing setValueAtTime in exponential ramp 2015-04-18 20:24:07 -04:00
Yotam Mann
0b3528c2fe setting min output 2015-04-18 20:23:14 -04:00
Yotam Mann
2f9a304acf Envelope has exponential or linear attack 2015-04-18 14:54:51 -04:00
Yotam Mann
8e69627ad1 making attributes readOnly 2015-04-18 10:54:08 -04:00
Yotam Mann
ba3a7556a7 new AutoFilter effect 2015-04-18 10:52:33 -04:00
Yotam Mann
9e98e9078a stricter interface for components 2015-04-05 15:13:15 -04:00
Yotam Mann
a85b72727f setting read/write as an array 2015-04-05 14:53:27 -04:00
Yotam Mann
4be776955d private _writable method
inverse of readOnly
2015-04-05 14:42:32 -04:00
Yotam Mann
c0de630442 fixing dispose methods 2015-04-05 14:42:14 -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
7f984464bd properly disposing readonly objects
first making them writable
2015-04-05 14:35:32 -04:00
Yotam Mann
550ceb5038 stricter interface on signal attributes 2015-04-05 14:25:01 -04:00
Yotam Mann
6b1373e431 cosmetics 2015-04-05 14:01:05 -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
bcb7dad795 panner uses GainToAudio 2015-04-05 12:13:19 -04:00
Yotam Mann
da1d03b616 inverse of AudioToGain
maps values in the gain range [0, 1] to the audio range [-1, 1]
2015-04-05 12:13:03 -04:00
Yotam Mann
7be93abc0a correctly maps values in Safari
Fixes #59
2015-04-05 12:12:32 -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
f60a0ea947 implementing PanVol with Volume 2015-03-26 10:51:08 -04:00
Yotam Mann
b093dd4d73 deleting deprecated classes 2015-03-26 10:50:48 -04:00
Yotam Mann
2be3f1dcbb Merge pull request #58 from kirbysayshi/ksh/fx-bug-decrease
prevent SyntaxError(s) in Firefox
2015-03-24 16:32:39 -04:00
Yotam Mann
de7a22aecd Simple Volume control in decibels 2015-03-24 16:30:04 -04:00
Yotam Mann
e0d7ac212b uses StereoPannerNode when available 2015-03-24 16:29:48 -04:00
Yotam Mann
788c703aa3 Tone.Stereo coerces mono signal into stereo 2015-03-24 16:29:36 -04:00
Yotam Mann
52b113a611 optimizing Split components 2015-03-24 16:29:11 -04:00
Yotam Mann
470e8063e3 fix unused playback rate in Noise 2015-03-24 16:28:48 -04:00
Yotam Mann
829934d0e6 send values in decibels 2015-03-24 16:28:36 -04:00
Andrew Petersen
a2aeffe2a2 prevent SyntaxError(s) in Firefox 2015-03-21 23:24:54 -04:00
Yotam Mann
28a86eeba1 removed console log 2015-03-12 17:45:00 -04:00
Yotam Mann
940f92b5a0 convolver buffer not being set correctly
Fixes #54
2015-03-10 14:08:16 -04:00
Yotam Mann
a61860c826 fixed panning bug 2015-03-09 22:52:08 -04:00
Yotam Mann
56e178af76 incremented version 2015-03-09 10:47:44 -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
269b2940c3 r4 build 2015-03-03 12:15:37 -05:00
Yotam Mann
b796d3ef1e more presets 2015-03-03 11:19:53 -05:00
Yotam Mann
41e55e138c clean up 2015-03-03 10:30:42 -05:00
Yotam Mann
a03541c41a fixed problem with sensitivity 2015-03-03 10:27:34 -05:00
Yotam Mann
edbcffc505 simplified components 2015-03-03 10:26:46 -05:00
Yotam Mann
649c2df574 delay works with stereo signals too 2015-03-01 19:49:01 -05: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
d609f8e266 jsdoc'ing instruments 2015-02-27 23:24:51 -05:00
Yotam Mann
e6718e4781 jsdoc'ing effects and components 2015-02-27 16:53:10 -05:00
Yotam Mann
930728648b jsdoc'ing 2015-02-27 13:40:35 -05:00
Yotam Mann
0c4a67296a simplified modulo by constraining input range
only handles inputs between -1 and 1
2015-02-27 13:00:20 -05:00
Yotam Mann
4e77c61638 JSDoc'ing sources 2015-02-27 11:19:45 -05:00
Yotam Mann
4ca5d26848 updating docs 2015-02-26 11:47:44 -05:00
Yotam Mann
a791d80ddf removing some vestigial methods 2015-02-26 11:26:49 -05:00
Yotam Mann
24875c2f4c more JSDoc massaging 2015-02-26 11:26:23 -05:00