Commit graph

2732 commits

Author SHA1 Message Date
Filipe Herculano
99f607fbcd fix Scale using incorrect member for input on _setRange 2019-08-04 14:45:49 -04:00
Yotam Mann
4ed750bc1f using Reflect instead of 'hasOwnProperty'
takes care of situation where time has a 'getter'
2019-08-04 13:44:37 -04:00
Yotam Mann
63a0b4e207 Part can accept any object-like thing with a 'time' property 2019-08-04 13:35:48 -04:00
Yotam Mann
1fcd420ee3 using relative paths 2019-08-04 13:21:07 -04:00
Yotam Mann
8af43901bf exposing utils, units and param 2019-08-04 13:12:39 -04:00
Yotam Mann
0f1218b69e updating docs 2019-08-04 13:12:23 -04:00
Filipe Herculano
24c989f94c Merge remote-tracking branch 'upstream/typescript' into typescript 2019-08-04 13:08:58 -04:00
Filipe Herculano
dde20960f3 converting Scale to typescript 2019-08-04 13:08:43 -04:00
Yotam Mann
dd0158d0bf exposing ToneAudioBuffers 2019-08-04 11:04:48 -04:00
Yotam Mann
6160d4ec70 exposing conversions 2019-08-04 11:02:14 -04:00
Yotam Mann
758a157e5a cleaning up 2019-08-04 10:18:45 -04:00
Yotam Mann
0c44dbae14 small tweaks and cleanup to Add typescript conversion
thank you @this-fifo 🙏
2019-08-04 10:17:42 -04:00
Yotam Mann
1122628ab2 Merge branch 'pr/522' into typescript 2019-08-04 10:09:58 -04:00
Yotam Mann
e852b99a43 adding ConnectTest to automatically test connections 2019-08-04 10:07:19 -04:00
Yotam Mann
dac194b8e2 Normalize is never used anywhere
can put back if it turns out it's necessary
2019-08-04 10:01:51 -04:00
Yotam Mann
8c2979fe8a connection tests and channel property tests 2019-08-04 09:54:53 -04:00
Yotam Mann
cc18de471d exposing ToneAudioNode 2019-08-04 09:54:16 -04:00
Yotam Mann
9ab45ab84c removing channel properties from constructor options
will need to set individually when relevant or come up with another solution to setting in constructor. the relevant nodes are not available at the time of the constructor
2019-08-04 09:54:06 -04:00
Filipe Herculano
9eed11d1c5 converting Add to typescript 2019-08-03 16:37:30 -04:00
Yotam Mann
56db8b3a7a simplifying _internalChannels
channelCount/Mode/Interpretation check the input/output nodes, which removes the need for many classes to have _internalChannels
2019-08-03 12:00:14 -04:00
Yotam Mann
b81310f107 doesn't need to set numberOfOutputs 2019-08-02 21:50:04 -04:00
Yotam Mann
b52103652f doc'ing 2019-08-02 21:49:38 -04:00
Yotam Mann
5e8a32b662 numberOfInputs/Outputs is inferred by looking at the input/output node 2019-08-02 21:48:28 -04:00
Yotam Mann
4364f2f843 no longer necessary to pass in number of inputs
the count is inferred by checking the input or output node
2019-08-02 21:47:57 -04:00
Yotam Mann
59330262bd converting Split to ts 2019-08-02 21:46:36 -04:00
Yotam Mann
52bcac2599 setting name to readonly 2019-08-02 21:09:35 -04:00
Yotam Mann
0b6ae165e0 updating toDestination 2019-08-02 16:31:20 -04:00
Yotam Mann
b77f696412 converting Reverb to typescript 2019-08-02 16:29:09 -04:00
Yotam Mann
be4542b5b1 adding a name 2019-08-02 16:28:57 -04:00
Yotam Mann
1792ff1d05 merging functionality from 'dev'
changes were made to .js files which are no longer there. moving functionality to .ts files
2019-08-02 13:56:51 -04:00
Yotam Mann
22396a8942 Merge branch 'dev' into typescript 2019-08-02 13:52:11 -04:00
Yotam Mann
cf31bb6bda end exponentialApproach with a linearRamp
this makes sure that the value ends at the correct value and time instead of continuously approaching.

also addresses https://bugs.chromium.org/p/chromium/issues/detail?id=990393&can=2&q=small%20timeConstant
2019-08-02 13:09:24 -04:00
Yotam Mann
f393cf5815 version should always be 'dev' until built by travis 2019-08-02 11:37:59 -04:00
Yotam Mann
d20f6e8fe9 Releases all held notes
thanks @lidiovargas! i ended up going with something more similar to your first solution. just removing the arrow function to fix the linting error
2019-08-02 10:43:31 -04:00
Yotam Mann
344bd48bc0 removing js files 2019-08-02 10:37:07 -04:00
Yotam Mann
fd163b3c1e linting 2019-08-02 10:36:59 -04:00
Lidio Vargas
82a9b54de1 Fixing sustained notes on Tone.Sampler (travis checked) 2019-08-01 21:00:05 -03:00
Lidio Vargas
f0febbdade Fixing sustained notes on Tone.Sampler (passing test) 2019-08-01 20:32:24 -03:00
Maximilian Wagenbach
b3392308aa Improved documentation of FrequencyShifter and PhaseShiftAllpass.
Removed unneeded code.
2019-08-01 11:48:06 +02:00
Maximilian Wagenbach
3be1921fc8 Added impulse response test for the PhaseShiftAllpass. 2019-08-01 00:23:25 +02:00
Maximilian Wagenbach
7193f721b8 Added FrequencyShifter, a single side band modulation based frequency shifter. 2019-07-31 14:01:51 +02:00
Yotam Mann
a16df958a9 local version should always be 'dev' 2019-07-30 16:05:12 -04:00
Yotam Mann
858af77521 fixing offset errors 2019-07-30 15:53:19 -04:00
Yotam Mann
e97ea7d5df better type checking for sampler url parameters 2019-07-30 15:53:10 -04:00
Yotam Mann
6e5e8b3399 using specific types
importing them so there are not multiple import type errors
2019-07-30 15:35:27 -04:00
Yotam Mann
474ec85408 fixing default duration
made it so that the player never started when Player was synced.
2019-07-30 14:51:07 -04:00
Yotam Mann
d1716266e7 had slice logic backwards
oops
2019-07-30 10:52:49 -04:00
Yotam Mann
312e99e5b3 exporting 'start' 2019-07-30 10:26:13 -04:00
Yotam Mann
a88e9b5a84 making time optional 2019-07-30 10:25:17 -04:00
Yotam Mann
c0bd377805 export 'connect' 2019-07-30 10:24:13 -04:00
Maximilian Wagenbach
866d019228 Added PhaseShiftAllpass.
It implements a 90° phase shift between its two outputs using IIR filters.
2019-07-29 16:21:38 +02:00
Lidio Vargas
65098a0229 Fixing released-sustained notes on Tone.Sampler 2019-07-28 14:01:50 -03:00
Yotam Mann
84a8fb0255 updating docs 2019-07-26 11:56:33 -04:00
Yotam Mann
d9eae0123f removing window reference 2019-07-26 11:50:59 -04:00
Yotam Mann
4a266742af making Event and Part values generic
gives better typing in the callback function
2019-07-26 11:50:29 -04:00
Yotam Mann
dd14e412ae return context immediately
don't wait for the buffer promise to finish because the context will be set wrong for that entire time
2019-07-26 11:45:11 -04:00
Yotam Mann
61fe1a6a0d fixing initialization case 2019-07-25 18:32:58 -04:00
Yotam Mann
7a099b2310 handling case where window is not defined
either because it's loaded in node.js or because of the context that the script is loaded in
2019-07-25 18:28:17 -04:00
Yotam Mann
cd73792659 indicating that version is string when output for typescript 2019-07-25 18:26:03 -04:00
Yotam Mann
69c6238d4c Adding some ASCII art 2019-07-25 15:14:54 -04:00
Yotam Mann
e3f5940afd only relative imports 2019-07-25 13:32:34 -04:00
Yotam Mann
aaa0ba2b69 updating tests and thresholds 2019-07-25 13:17:21 -04:00
Yotam Mann
86bef350e2 adding note on name change 2019-07-25 13:10:52 -04:00
Yotam Mann
bfc3d7ed15 toMaster() -> toDestination()
more consistent with the Web Audio API
2019-07-25 11:32:56 -04:00
Yotam Mann
9a49c873df exporting modules from main entry 2019-07-25 11:29:36 -04:00
Yotam Mann
4a93121e40 doc'ing 2019-07-25 11:19:53 -04:00
Yotam Mann
68b557f441 additional FeedbackDelay tests 2019-07-25 11:17:11 -04:00
Yotam Mann
e2de5a8955 typing 2019-07-25 10:46:49 -04:00
Yotam Mann
c5505cb4dc doc'ing 2019-07-25 10:46:34 -04:00
Yotam Mann
40727ee650 converting FeedbackDelay to ts 2019-07-25 10:46:28 -04:00
Yotam Mann
3e6484eef6 converting Merge to ts 2019-07-25 10:45:27 -04:00
Yotam Mann
cbae25a15c remove Array.prototype.reverse.call, use .reverse() instead 2019-07-25 10:45:02 -04:00
Yotam Mann
111ecc1396 delayTime is in Time instead of seconds 2019-07-25 10:44:32 -04:00
Yotam Mann
ef19d2e6e8 input and output are no longer arrays
simplifies connect/disconnect logic greatly. Simplifies API to just have clearly named inputs/outputs instead of overloading input/output connect numbers
2019-07-25 10:43:47 -04:00
Yotam Mann
386d96360e adding some ascii art to better explain 2019-07-25 09:08:47 -04:00
Yotam Mann
9788bcc847 optimizing slice implementation
no longer requires iteration over the arrays
2019-07-25 09:08:34 -04:00
Yotam Mann
1874662060 converting Convolver to ts 2019-07-25 00:10:46 -04:00
Yotam Mann
923940576c abstract classes must take the options object
no passing in individual parameters. This simplifies the code a little
2019-07-24 23:33:31 -04:00
Yotam Mann
2f7d4111ee convert CrossFade to ts
now uses StereoPannerNode
2019-07-24 23:18:09 -04:00
Yotam Mann
e53dfa162f convert subtract to ts 2019-07-24 23:17:47 -04:00
Yotam Mann
b5186053fc updating docs 2019-07-24 23:17:18 -04:00
Yotam Mann
2602d4d397 convert Negate to ts 2019-07-24 23:16:58 -04:00
Yotam Mann
76fe32a25b convert GainToAudio to ts 2019-07-24 23:16:45 -04:00
Yotam Mann
57af70c921 make constantSource accessible from within the class 2019-07-24 23:16:35 -04:00
Yotam Mann
f383ca7387 exporting events 2019-07-24 21:54:57 -04:00
Yotam Mann
9051687276 exporting player 2019-07-24 21:54:38 -04:00
Yotam Mann
10cd309a12 exporting events 2019-07-24 21:54:26 -04:00
Yotam Mann
14cd707855 can use an object as a value
no longer gets copied over
2019-07-24 21:53:56 -04:00
Yotam Mann
7c4196a589 converting Sequence to ts 2019-07-24 21:53:35 -04:00
Yotam Mann
ba77fa509e changing removeAll -> clear 2019-07-24 20:02:56 -04:00
Yotam Mann
5fcb7df3cc Revert "getFrom is like getAfter, but also includes the event at the given time"
This reverts commit b4b924f2e0.
2019-07-24 19:54:57 -04:00
Yotam Mann
4858251ba6 Revert "small optimization reducing the number of cancelScheduledValues calls"
This reverts commit 37a62137fa.
2019-07-24 19:54:50 -04:00
Yotam Mann
37a62137fa small optimization reducing the number of cancelScheduledValues calls
first check if there are any more values which are scheduled
2019-07-24 19:50:49 -04:00
Yotam Mann
b4b924f2e0 getFrom is like getAfter, but also includes the event at the given time 2019-07-24 19:49:31 -04:00
Yotam Mann
b858f03040 disconnecting the oscillator on dispose 2019-07-24 19:30:53 -04:00
Yotam Mann
97002d776f using already computed fadeOut time 2019-07-24 19:30:31 -04:00
Yotam Mann
fa95e74ab9 removing the disconnect onended
causes glitches and clicks. might be because the frequency.disconnect is not fully implemented
2019-07-24 19:28:39 -04:00
Yotam Mann
934ab5d77f clearer error messages
catch the error before it becomes "the value is non-finite". show the original value
2019-07-24 09:30:58 -04:00
Yotam Mann
6362f00e58 checking both time and value arguments 2019-07-23 17:46:13 -04:00
Yotam Mann
6cb6472f46 if object key is 'value' just copy it over
deep merging was causing some errors with ToneEvent
2019-07-23 17:09:11 -04:00
Yotam Mann
3c0953b3a4 adding more detailed error handling
addresses #515
2019-07-23 17:08:48 -04:00
Yotam Mann
e9f68103de need to fix this, skipping test for now
the issue is that merge creates a new object
2019-07-23 15:18:23 -04:00
Yotam Mann
659e5e62ea converting Part to ts 2019-07-23 15:17:45 -04:00
Yotam Mann
61a02e6633 toTicks can take a class as well 2019-07-23 15:17:11 -04:00
Yotam Mann
1c8210fb25 using Set instead of array 2019-07-23 13:47:36 -04:00
Yotam Mann
53df0f3caa differentiating between BasicPlaybackState and PlaybackState
PlaybackState includes "paused"
2019-07-23 13:43:35 -04:00
Yotam Mann
9306e5188c adding additional option to StateTimeline.add
enables more strict typing of returned object
2019-07-23 13:43:11 -04:00
Yotam Mann
f6f2e78574 convert Event to typescript 2019-07-23 13:15:04 -04:00
Yotam Mann
2978244fd5 interval can also be a time class 2019-07-23 13:12:27 -04:00
Yotam Mann
027bffc10e check if the attribute exists and is not falsy 2019-07-23 13:11:01 -04:00
Yotam Mann
ffad8c1475 confirm that an instance was disposed
implement Tone.prototype.dispose which flips a boolean wasDisposed.
2019-07-23 12:11:57 -04:00
Yotam Mann
07bd1d6867 updating docs 2019-07-23 11:48:26 -04:00
Yotam Mann
23bbbcb887 moving onended functionality to OneShotSource class 2019-07-23 11:47:32 -04:00
Yotam Mann
126b4a3226 updating typing 2019-07-23 11:46:08 -04:00
Yotam Mann
cd968292d4 correcting docs 2019-07-23 11:28:33 -04:00
Yotam Mann
7e65d90ec9 dont remove primitive types from 'get' response 2019-07-23 11:28:22 -04:00
Yotam Mann
c31aa5fa77 converting Player to ts 2019-07-23 11:27:55 -04:00
Yotam Mann
1f4fcbf996 removing need for time to be clamped to currentTime
when player is synced, this is necessary
2019-07-23 11:27:43 -04:00
Yotam Mann
5a8ee37c77 adding implicit end attribute to StateTimeline
used when the ending is impilcitly scheduled as in Player
2019-07-23 11:26:41 -04:00
Yotam Mann
a820e5bee5 implementing debug 2019-07-23 11:24:38 -04:00
Yotam Mann
63cce0d48a converting Sampler to ts 2019-07-22 16:18:16 -04:00
Yotam Mann
622b547e32 time is optional in toSeconds 2019-07-22 16:18:01 -04:00
Yotam Mann
5a2e6ee714 moved some setup to parent class 2019-07-22 16:17:49 -04:00
Yotam Mann
8fcff92e39 time is optional 2019-07-22 16:17:03 -04:00
Yotam Mann
4540533727 one shot source sets up fadeIn/Out and curve 2019-07-22 16:16:54 -04:00
Yotam Mann
329ef50e45 Time is optional 2019-07-22 16:16:29 -04:00
Yotam Mann
9f14b53d26 moving input definition to Instrument 2019-07-22 16:16:13 -04:00
Yotam Mann
9e8ffa3dd0 optionsFromArguments can accept an object
uses 4th parameter to know which options should be an object
2019-07-22 16:15:55 -04:00
Yotam Mann
ca43351e92 convert ToneAudioBuffers to ts 2019-07-22 12:29:50 -04:00
Yotam Mann
cd0ab3ae10 only relative paths 2019-07-19 13:26:38 -04:00
Yotam Mann
45622f1418 omit context from child classes 2019-07-19 13:21:02 -04:00
Yotam Mann
cae39e7435 fixing test
something was accidentally commented out
2019-07-19 13:20:32 -04:00
Yotam Mann
6e8cb73ca3 type coersion 2019-07-19 12:32:55 -04:00
Yotam Mann
c56798ebf4 takes a string array instead of object 2019-07-19 12:32:42 -04:00
Yotam Mann
b9dd8440b7 using OscillatorInterface to define all the oscilator properties 2019-07-19 12:32:17 -04:00
Yotam Mann
f8d845cede return from 'get' should be serializable 2019-07-19 11:09:28 -04:00
Yotam Mann
60736135f3 updating docs 2019-07-18 14:57:13 -04:00
Yotam Mann
e2d505c6fd only relative paths 2019-07-18 14:54:20 -04:00
Yotam Mann
b3ab8e88ff exporting instruments 2019-07-18 14:48:02 -04:00
Yotam Mann
f69666fe07 converting Synth to typescript 2019-07-18 14:07:25 -04:00
Yotam Mann
9306f9e797 RecursivePartial is useful for nested properties 2019-07-18 14:06:53 -04:00
Yotam Mann
c39dacf22d adding name prop 2019-07-18 14:06:32 -04:00
Yotam Mann
72d4b80f97 fixing typo 2019-07-18 14:06:20 -04:00
Yotam Mann
3efd706458 omiting defaults from object
useful for removing redundant properties in get/set
2019-07-18 14:06:10 -04:00
Yotam Mann
8b501cca7e only using the attributes which are available in getDefaults() 2019-07-18 14:05:42 -04:00
Yotam Mann
b36d57d5d0 deriving OmniOscillatorOptions from ConditionalOptions 2019-07-18 14:04:21 -04:00
Yotam Mann
7f47b50917 converting AmplitudeEnvelope to ts 2019-07-18 11:24:32 -04:00
Yotam Mann
6f040c3d2c checking that harmonicity is undefined when not set to AM or FM osc 2019-07-18 11:24:20 -04:00
Yotam Mann
c1ade5494a using connectSignal method internally 2019-07-18 11:23:45 -04:00
Yotam Mann
11a353a117 linting 2019-07-18 10:21:42 -04:00
Yotam Mann
ea21746bc3 removing console 2019-07-18 10:21:34 -04:00
Yotam Mann
9d131effb1 converting Envelope to ts 2019-07-18 10:21:27 -04:00
Yotam Mann
698dee1e73 changing <pre> tags to markdown 2019-07-17 17:40:47 -04:00
Yotam Mann
71e9176eba moving common implementation to one spot 2019-07-17 13:46:48 -04:00
Yotam Mann
5d36e4a523 only use relative imports 2019-07-17 13:12:21 -04:00
Yotam Mann
70e945396d adding Omni to source export 2019-07-17 12:56:44 -04:00
Yotam Mann
0101edf173 converting OmniOscillator to ts 2019-07-17 12:55:34 -04:00
Yotam Mann
e7b898eb1a souce has 1 output 2019-07-17 12:54:42 -04:00
Yotam Mann
11aed433d7 don't try to set an undefined attribute 2019-07-17 12:54:25 -04:00
Yotam Mann
58bf79a872 increasing comparison threshold 2019-07-16 17:15:55 -04:00
Yotam Mann
7c6a873121 adding oscillator types 2019-07-16 17:10:47 -04:00
Yotam Mann
38d1197359 converting PWMOscillator to typescript 2019-07-16 17:10:07 -04:00
Yotam Mann
6bd5a0d45b updating docs 2019-07-16 17:09:54 -04:00
Yotam Mann
ad7d928be8 adding some doc image 2019-07-16 16:47:07 -04:00
Yotam Mann
f13336bcaa converting FatOscillator to ts 2019-07-16 16:30:09 -04:00
Yotam Mann
8c3c2fe9d1 removing old type classes 2019-07-16 16:05:58 -04:00
Yotam Mann
b339dee564 converting FMOscillator to typescript 2019-07-16 16:05:48 -04:00
Yotam Mann
e2ede8e8cc marking signal value to readonly 2019-07-16 16:05:38 -04:00
Yotam Mann
e0a83ef8cd removing old js files 2019-07-16 15:44:43 -04:00
Yotam Mann
45a254f7e6 setting unused method to abstract
should be implemented by extending classes
2019-07-16 15:44:36 -04:00
Yotam Mann
7f17209530 tear down created classes on context close 2019-07-16 15:41:59 -04:00
Yotam Mann
4c4db4b614 fully converting all Time classes to ts 2019-07-16 15:29:34 -04:00
Yotam Mann
4e11f13336 adding midi to frequency conversion 2019-07-16 09:32:36 -04:00
Yotam Mann
1277564f2c making oscillator props readonly 2019-07-16 09:32:22 -04:00
Yotam Mann
47d991f09c fixing type error
introduced while testing some things out
2019-07-15 15:39:47 -04:00
Yotam Mann
990c0f56ed using type instead of string types 2019-07-15 15:37:25 -04:00
Yotam Mann
d0b73ded77 WaveShaper doesn't need to use SignalOptions
uses ToneAudioNodeOptions instead
2019-07-15 15:10:11 -04:00
Yotam Mann
f553fc3b63 surrounding diagram with pre tags 2019-07-15 12:33:40 -04:00
Yotam Mann
7c2e675c52 fixing typo and allowing for extended oscillator types 2019-07-15 12:33:31 -04:00
Yotam Mann
3b22baea67 updating doc diagram 2019-07-15 12:32:48 -04:00
Yotam Mann
4fc334c9c7 converting PulseOscillator to typescript 2019-07-15 12:22:55 -04:00
Yotam Mann
ada1423bd4 Merge branch 'dev' into typescript 2019-07-15 09:46:22 -04:00
Yotam Mann
ab9b363965 converting AMOscillator to ts 2019-07-15 09:46:10 -04:00
Yotam Mann
b8f0d1d576 exporting OscillatorInterface
to make sure that all oscillators have the same interface
2019-07-15 09:45:56 -04:00
Yotam Mann
1ba36bde6a connectSeries uses the ToneAudioNode's connect method
this is necessary when connecting from a signal since there is additional logic in it's connect method
2019-07-15 09:45:05 -04:00
Yotam Mann
80e5da5bd4 making paths relative 2019-07-11 17:33:04 -04:00
Yotam Mann
7388548e9d also set signal value for AudioParamsq
accidentally removed this
2019-07-11 17:32:57 -04:00
Yotam Mann
e328619fb4 converting Abs to ts 2019-07-11 17:20:11 -04:00
Yotam Mann
95bc7bed7e linting 2019-07-11 17:15:00 -04:00
Yotam Mann
71729c0827 Signal doesn't overwrite the output if not set to 'override' 2019-07-11 17:14:23 -04:00
Yotam Mann
d6143a0e60 adding new base class for some signals
replaces SignalBase
2019-07-11 17:13:58 -04:00
Yotam Mann
182d1040db converting WaveShaper to ts 2019-07-11 17:13:43 -04:00
Yotam Mann
117b4667d4 fixing test 2019-07-11 17:13:11 -04:00
Yotam Mann
d5014d36a8 convert to ts 2019-07-11 17:11:29 -04:00
Yotam Mann
8e551ff755 convert to ts 2019-07-11 17:11:17 -04:00
Yotam Mann
8a9c8f2edf convert to ts 2019-07-11 17:11:07 -04:00
Yotam Mann
70086527ea changing OscillatorOptions -> ToneOscillatorOptions
to avoid any potential conflicts
2019-07-11 12:45:20 -04:00
Yotam Mann
b41646a0ee elaborating on lookAhead 2019-07-11 11:13:23 -04:00
Yotam Mann
b58577ed5e working on exported Tone object
for global build
2019-07-11 11:05:03 -04:00
Yotam Mann
219462fe9e cleaning up circular deps 2019-07-11 09:57:06 -04:00
Yotam Mann
c658980915 removing circular dependencies in types 2019-07-11 09:21:12 -04:00
Yotam Mann
bf214dc106 removing call to super.dispose() 2019-07-11 00:37:25 -04:00
Yotam Mann
f48696a69e Revert "every class calls super.dispose()"
This reverts commit 60a63cacf8.
2019-07-11 00:36:16 -04:00
Yotam Mann
a8e8f53aab using relative paths 2019-07-11 00:14:53 -04:00
Yotam Mann
60a63cacf8 every class calls super.dispose()
makes sure that things don't get disposed twice, which seems to be a common source of issues
2019-07-10 23:35:29 -04:00
Yotam Mann
fde2ff65eb testing TickSignal outputs a signal 2019-07-10 23:33:58 -04:00
Yotam Mann
ae2804fbc5 implement syncSignal 2019-07-10 23:33:36 -04:00
Yotam Mann
a94a99c94e TickSignal outputs a signal 2019-07-10 23:33:12 -04:00
Jared Ellison
6eaa8328cb Update JSDoc for loop property of Tone.Part and Tone.Event 2019-07-08 13:43:04 -04:00
Jared Ellison
a3d4cd2007 Refactor _rescheduleEvents to prevent repeating events when loop = 1 2019-07-05 10:57:39 -04:00
tambien
1c3461b924 fixing chain behavior 2019-06-24 14:35:32 -04:00
tambien
7687ae512e moving some config into the constructor
since multiband split was not yet declared, some of the properties were undefined
2019-06-24 14:35:25 -04:00
tambien
96628e0984 ensuring context is passed to subclasses 2019-06-24 14:34:17 -04:00
tambien
2e177c4ed0 adding multiband split tests 2019-06-24 14:33:54 -04:00
tambien
db35b3ae3a linting 2019-06-24 13:41:38 -04:00
Yotam Mann
02cfefa7ef
Merge branch 'typescript' into fix-typescript-linting 2019-06-24 13:33:18 -04:00
Yotam Mann
f3076e206f
Merge pull request #504 from garrensmith/eq3-multiband
convert multibandsplit and eq3 to typescript
2019-06-24 13:28:45 -04:00
tambien
2f9ef33984 adding index files for each of the directories 2019-06-24 13:25:48 -04:00
tambien
d53cf17c8a needed to pass compiler 2019-06-23 15:04:13 -04:00
tambien
f7033143fc no longer necessary 2019-06-23 15:04:01 -04:00
tambien
74671b0bda transport is no longer possibly undefined
since Context requires initialization step
2019-06-23 15:03:54 -04:00
tambien
62b4b47fd1 prefering toDestination over toMaster
more consistent with Web Audio API
2019-06-23 15:03:31 -04:00
tambien
b276320393 Destination (Master) typescripting 2019-06-23 15:03:04 -04:00
tambien
8b4f1cfa19 Global now only manages global Context
global AudioContext was moved to AudioContext.ts
2019-06-23 15:02:38 -04:00
tambien
8fd8d95a48 transport and destination created in separate initialization step 2019-06-23 14:59:27 -04:00
tambien
de6b91c9d0 using global AudioContext created on init 2019-06-23 14:58:57 -04:00
tambien
a887660792 updating docs 2019-06-23 14:48:21 -04:00
tambien
017f866ee3 options does not require keys if empty 2019-06-23 14:47:44 -04:00
tambien
0194826467 moving initial AudioContext to separate file 2019-06-23 14:47:21 -04:00
tambien
8602ae13db first node was connected to itself 2019-06-23 14:46:59 -04:00
Garren Smith
efbd3c7f5f Fix linting issues
Also add in no-unused-expression-chai rule so that chai works with
tslint.
2019-06-23 12:53:57 +02:00
Garren Smith
ac627ab332 convert multibandsplit and eq3 to typescript 2019-06-23 11:36:42 +02:00
tambien
eef868e8a1 matching functionality to Filter.js 2019-06-21 14:42:50 -04:00
Yotam Mann
5f6f6f9e0a
[wip] convert Filter to .ts (#503)
* Convert filter.js to typescript

* remove unneeded imports in tests
2019-06-21 14:09:49 -04:00
Garren Smith
d215e01914 remove unneeded imports in tests 2019-06-21 19:32:06 +02:00
Garren Smith
30425572c9 Convert filter.js to typescript 2019-06-21 19:29:46 +02:00
tambien
bc61ddaa2b simplifying logic 2019-06-19 18:17:24 -04:00
tambien
f14add5519 adding a short timeout bc Canary is running out of contexts 2019-06-19 17:33:00 -04:00
tambien
5896a7ca9c Update BufferSource.test.ts 2019-06-19 17:30:31 -04:00
tambien
c8396d38eb waiting for promise to resolve before starting test 2019-06-19 17:20:59 -04:00
tambien
5472ca1dcc offset does not default to 0 2019-06-19 17:20:20 -04:00
tambien
d2b7562021 waiting for promise to resolve before starting next test 2019-06-19 17:20:12 -04:00
tambien
10eec904f7 making sure the context is an AudioContext before calling resume 2019-06-19 16:21:03 -04:00
tambien
4c68c6f2fa correcting typedef 2019-06-19 16:20:44 -04:00
tambien
9e229146c0 converting Oscillator to ts 2019-06-19 15:53:14 -04:00
tambien
4e54763db1 accepts an options template 2019-06-19 15:53:00 -04:00
tambien
e87d723ec8 cancelStop does not need to be private 2019-06-19 15:52:47 -04:00
tambien
fc773ccfb5 pass in the options
so that 'get' knows what it's output is
2019-06-19 15:52:38 -04:00
tambien
5f99bdbdf0 value can be any 2019-06-19 15:52:24 -04:00
tambien
ab5184f9a6 adding Radians 2019-06-19 15:52:16 -04:00
tambien
0180922e05 linting 2019-06-19 14:24:35 -04:00
tambien
ef55dc9bb8 Create Analyser.test.ts 2019-06-19 14:24:30 -04:00
tambien
0bc349a8a2 Merge branch 'dev' into typescript 2019-06-19 13:20:23 -04:00
tambien
17a38ae10a allow non 'dev' version 2019-06-19 10:25:05 -04:00
tambien
b138ffd833 linting 2019-06-19 10:19:39 -04:00
tambien
15182279fc removing old JS files 2019-06-19 10:18:43 -04:00
tambien
95142d1a6f test if context is AudioContext before trying to resume 2019-06-19 10:18:33 -04:00
tambien
fee62e9173 converting noise to ts 2019-06-19 10:18:06 -04:00
tambien
63ad175b6d converting helpers to ts 2019-06-19 10:15:15 -04:00
tambien
ff157bf4ad Update Draw.ts 2019-06-19 09:56:21 -04:00
tambien
ae5cf78098 adding optional fields
used in some classes
2019-06-19 09:55:08 -04:00
tambien
d16786ba7d reorganizing source file locations 2019-06-19 09:54:47 -04:00
tambien
863072f8c8 converting Draw to ts 2019-06-19 09:53:36 -04:00
tambien
962610587b converting Volume to ts 2019-06-19 09:53:18 -04:00
tambien
9ac9de5b12 using TONE_AUDIO_CONTEXT if it exists 2019-06-17 21:53:54 -04:00
tambien
5cc56cbea1 removing unused import 2019-06-17 21:52:51 -04:00
tambien
285e34c051 updaing OneShotSource and extending classes 2019-06-17 21:52:43 -04:00
tambien
f70b7daed0 ToneBufferSource as typescript 2019-06-17 21:52:23 -04:00
tambien
014601a4f5 adding default arg 2019-06-17 21:52:02 -04:00
tambien
fccbd4043e using given context for computing time object 2019-06-17 21:51:54 -04:00
tambien
93bcfdca41 using separate time var 2019-06-17 21:51:22 -04:00
tambien
6809b43e5e explicitly setting sample rate 2019-06-17 21:51:10 -04:00
tambien
aac35199ce waiting for offline to end
caused lots of problems in FF
2019-06-17 21:51:02 -04:00
tambien
ba2412cf74 fixing bad test 2019-06-17 21:50:50 -04:00
tambien
ab23f03e3f using correct time source 2019-06-17 21:50:43 -04:00
tambien
94b4cf795d order matters in this case
since multiplier schedules an event
2019-06-17 21:50:34 -04:00
tambien
f83fa7954a converting Offline 2019-06-17 14:04:17 -04:00
tambien
5100fe8e3f OfflineContext can take a OfflineAudioContext in constr 2019-06-17 14:04:07 -04:00
tambien
451307c9bc converting OscillatorNode 2019-06-17 14:03:02 -04:00
ixnv
54fa8cddb3 fix doc for FatOscillator (#496)
* fix doc for FatOscillator

seems to be copypaste from FMOscillator

* fix doc for FatOscillator
2019-06-10 15:43:40 -04:00
tboie
ec4d306751 addresses osc type from #463 (#497) 2019-06-10 15:42:45 -04:00
tambien
d40f6c35b5 use local context when creating gain 2019-05-25 15:37:56 -04:00
tambien
83f6e39f28 adding cents to units 2019-05-25 15:37:32 -04:00
tambien
fac538c9fb converting Buffer -> ToneAudioBuffer.ts 2019-05-25 14:31:02 -04:00
tambien
4e92be1639 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2019-05-23 14:01:06 -04:00
tambien
730a818bcb organizing into sub folders 2019-05-23 14:00:49 -04:00
tambien
bd31558de6 utility and helper classes into typescript 2019-05-22 00:14:43 -04:00
tambien
39cf110fe4 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into typescript 2019-05-21 23:53:46 -04:00
tambien
ee31aada45 refactored clock module in typescript 2019-05-21 23:37:03 -04:00
tboie
ba1900dab6 Tone.Disconnect Fix (#483)
-use while loop with a flag
-fixes #461
2019-05-14 21:40:23 -04:00
Stephan Lagerwaard
01670b2644 Change const to var for ES5 compatibility (#488) 2019-05-13 09:29:41 -04:00
tambien
54c95c1869 small tweaks to docs 2019-04-12 11:04:43 -04:00
Colin
bb67e9c83d Improved explanation of size in FFT/Analyser docs (#477) 2019-04-12 10:45:34 -04:00
tboie
bcd22b0463 #473 (#478)
Fixes Part loop toggle
2019-04-12 10:44:24 -04:00
tambien
6fb2b30dce Merge branch 'dev' into typescript 2019-04-12 10:40:10 -04:00
tambien
a32ad7f0d0 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2019-04-12 10:39:48 -04:00
tambien
df08425a70 started retooling with typescript 2019-04-12 10:37:47 -04:00
Colin
aa92ea6162 Correct description for Tone.FFT (#476) 2019-04-11 17:43:21 -04:00
tboie
8f08316b41 #471 (#472) 2019-04-04 15:10:03 -04:00
tambien
184102ab4c removing shims
will replace with standardized-audio-context
2019-03-25 22:58:36 -07:00
tambien
755aae326f removing unused import 2019-03-25 22:17:13 -07:00
tambien
75fc8c3874 fixing docs
[skip ci]
2019-03-25 19:44:58 -07:00
tambien
3c2d1250ea passes in the player to the callback
fixes #460
2019-03-25 11:53:57 -07:00
tambien
56800fe11b Disconnecting but not disposing onend
addresses #463
2019-03-19 20:26:28 -04:00
tambien
ae8be83cc5 fixing typo
fixes #462
2019-03-14 10:29:51 -04:00
tambien
c1d748deed adding case where attack time is 0
fixes #425
2019-03-12 13:22:25 -04:00
tambien
023758425b use the playbackRate when computing the offset of a synced player
fixes #349
2019-03-12 11:25:33 -04:00
tambien
15823d2664 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2019-03-12 10:53:08 -04:00
tambien
66d6dad002 reverse buffer when setting
This way when the buffer is loaded or set in any way, reverse will be applied.

fixes #456
2019-03-12 10:53:03 -04:00
Vasilii Smirnov
cd7b4c7fed Fixed 'notes' parameter in Sampler methods to point that several notes can be played. (#457) 2019-03-11 19:38:29 -04:00
tambien
ff371dfd69 converting arg to time 2019-03-09 17:52:03 -05:00
tambien
655b3310d3 setting reverse value which is passed into through an object
fixes #456
2019-03-09 16:14:51 -05:00
tambien
d694612ef8 fixing docs and deps imports 2019-03-08 13:01:41 -05:00
tambien
a3cc8d0f60 guarding against double disposing 2019-03-08 13:01:09 -05:00
tambien
a23ba73fc4 dispose oscillator onended 2019-03-08 12:17:27 -05:00
tambien
57d30ff6d6 optimizing case of basic oscillator types
fixes #427
2019-03-08 12:17:20 -05:00
tambien
34405caeb1 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2019-03-08 11:36:29 -05:00
tambien
380c901558 explicitly listing methods/properties instead of iterating over the context properties 2019-03-08 11:36:27 -05:00
tambien
d601b4be3a dispose the buffer onended
addresses #378
2019-03-08 11:30:00 -05:00
Stephan Lagerwaard
2f9d21006c Removed linear ramp from the reverb pre-delay (#454)
fixes #450
2019-03-07 09:48:00 -05:00
Stephan Lagerwaard
7269f3bdfa Added option to silence both loggers the context (#453) 2019-03-06 14:59:17 -05:00
tambien
0e94a0f046 correction in docs 2019-03-03 20:37:18 -05:00
tambien
fd4ec1ee97 CtrlPattern should return undefined when there's no values 2019-02-15 13:08:44 -05:00
tambien
c023181579 linting 2019-02-15 13:03:10 -05:00
Pirmin Schneider
a0be597564 update documentation examples of FeedbackDelay and PingPongDelay (#442)
rename DrumSynth->MembraneSynth
2019-02-08 09:29:10 -06:00
tambien
7818531e0f increasing render chunk size
addresses #436
2019-02-04 12:38:10 -05:00
tambien
45e4bf11c8 shim to ensure that AudioNode.connect returns the destination node
as per the spec.
2019-02-02 14:24:51 -05:00
tambien
933136abdf removing unnecessary proxy parameter 2019-02-02 14:05:07 -05:00
tambien
eb8bdc0f37 disconnecting from all of the inputs 2019-02-02 14:03:53 -05:00
tambien
2ca9d89424 using Tone.connect/disconnect everywhere
no more overwritten connect/disconnect

closes #421
2019-02-02 13:20:53 -05:00
tambien
6a37b4b407 updating scheduleOnce docs
[skip ci]
2019-02-01 15:03:53 -05:00
tambien
5212d76223 removing logging 2019-02-01 12:16:49 -05:00
tambien
ddb9f8b4d8 sampler should throw error if there are no available notes to play
before failed silently
2019-02-01 12:01:35 -05:00
tambien
cb156fc6a3 no need to test if _wave exists
should always exist
2019-02-01 11:50:15 -05:00
tambien
9ab460f0b0 tick signal does a setValueAtTime initially
no need for this test
2019-02-01 11:36:25 -05:00
tambien
4ac2c4572e fixing typo bug 2019-02-01 11:33:09 -05:00
tambien
3083677249 removing mute
could set "amplitude" to 0, LFO does not need to match Source API
2019-02-01 11:22:10 -05:00
tambien
4a270c2ed5 removing unused return statement 2019-02-01 11:21:29 -05:00
tambien
d957aad613 Documenting next parameters
fixes #433

[skip ci]
2019-01-31 19:20:45 -05:00
tambien
5f67d0df3b returning to previous typechecks 2019-01-28 22:17:42 -05:00
tambien
bf5d1aca18 make sure that param is defined 2019-01-28 21:39:05 -05:00
tambien
aa0d90256d removing rampTime from 'set'
seemed rarely used
2019-01-28 21:04:43 -05:00
tambien
a9adacb794 using Tone.connect for native nodes 2019-01-28 11:55:48 -05:00
tambien
386e57a36c AudioNode.chain returns this 2019-01-28 11:55:36 -05:00
tambien
2780cac504 using Tone.connect for connections with native nodes
addresses #421
2019-01-28 11:02:15 -05:00
tambien
b9e13afb3c updating docs 2019-01-27 18:01:19 -05:00
tambien
610b847f4d fixing docs 2019-01-27 17:14:04 -05:00
tambien
87909ca4a3 BufferSourceNode shim is no longer needed
fixed issue in Safari which was resolved
2019-01-27 13:52:23 -05:00
tambien
ed71d8141b amd to es6 import/export
no longer using AMD (require.js) style imports, and beginning to move to es6 "import/export" statements everywhere.
2019-01-27 13:05:20 -05:00
tambien
f38c87271f Split can optionally handle more than 2 channels 2019-01-26 20:12:07 -05:00
tambien
4c0659a0ed merge optionallly accepts more than 2 channels 2019-01-26 20:06:07 -05:00
tambien
0ba72ac93a clamping start/stop time to currentTime
this way if someone passes in start(0), it will just play immediately and not break things.

addresses #424
2019-01-23 16:19:07 -05:00
tambien
b2efc57a2a updating docs to reflect FFT output data
fixes #423
2019-01-11 14:30:59 -05:00
tambien
be077fb59c can pass in oscillator options to constructor 2019-01-09 23:19:56 -05:00
tambien
9891d6bfa9 linting 2019-01-09 22:57:14 -05:00
tambien
7fb94d09a3 removing unnecessary function
fixed a problem in safari which has since been resolved
2019-01-09 22:34:04 -05:00
tambien
ab4e677c9d adding start method to simplify starting AudioContext 2019-01-09 22:30:22 -05:00
tambien
a5fceee69f changing step time to 1 sample 2019-01-09 22:13:40 -05:00
tambien
b971ef94da changing part removing behavior
if a part is at the given time, it will remove the entire part instead of recursively checking and removing an event from the subpart.

fixes #269
2019-01-09 18:30:42 -05:00
tambien
fd26f6a6b9 making field as private
[skip ci]
2019-01-09 00:02:27 -05:00
tambien
e5179c76c5 setting initial frequency
just for the visual effect in tonejs-ui
2019-01-08 20:24:24 -05:00
tambien
c712219198 lowering meter size
to increase performance
2019-01-08 20:23:54 -05:00
tambien
fe893f74bf updating copyright year
2019!
2019-01-08 20:03:49 -05:00
tambien
ed20e2cdda styling minOutput differently 2019-01-08 11:27:28 -05:00
tambien
ffe3d434c6 closes the stream before reopening it 2019-01-08 11:26:57 -05:00
tambien
e739c4f1f3 adding baseType to all oscillators
makes getting/setting through interface easier
2019-01-08 00:13:48 -05:00
tambien
68f1c78d9a get the frequency response curve 2018-12-28 16:07:39 -05:00
tambien
1ca4242323 'get' does not return partials array for basic types 2018-12-28 16:00:03 -05:00
tambien
7be27c65d8 Tone.Channel combines Tone.Solo and Tone.PanVol
provides a channel strip interface similar to DAWs
2018-12-26 17:16:31 -05:00
tambien
0c10c80b12 only set the stop when it's not synced
otherwise it reschedules multiple stops
2018-12-26 15:42:05 -05:00
tambien
72536e5673 voices are chosen based on minimum value after the given time
fixes #415
2018-12-26 12:39:37 -05:00
tambien
fd62e31a94 loaded boolean indicates when GrainPlayer is loaded
consistent with Tone.Player
2018-12-23 18:13:57 -05:00
tambien
9178798993 computed duration can be longer than the buffer length
because of playback rate changes, the duration can be longer than the buffer duration.

fixes #375
2018-12-23 13:50:02 -05:00
tambien
795e0d90d7 removing position tracking from player
fixes #361
2018-12-23 13:46:52 -05:00
tambien
c20f703c40 making sure that the type is never set to custom+partialCount 2018-12-21 15:31:36 -05:00
tambien
6c748e3e9d get and set the sourceType
this allows slight decoupling from combining everything in the 'type' string
2018-12-21 15:29:08 -05:00
tambien
2d7879a32e fix linear decayCurve cancelling attack curve
schedule the decay curve to start 1 sample after the attack curve ends
2018-12-21 15:17:39 -05:00
Eric Lewis
f675f74eba Add documentation for Tone.Envelope's decay and release minimum values. (#414)
Fixes #411
2018-12-19 11:21:15 -05:00
tambien
f199af1f31 setting gain to 0 initially keeps it from popping 2018-12-17 12:41:14 -05:00
tambien
2cb0d67b67 checking if activeSources still exists before trying to remove elements
fixes #409
2018-12-16 13:26:28 -05:00
tambien
81f6ae1144 testing that a type can be passed into the constructor as an object
and gotten with the 'get()' method
2018-12-09 20:40:46 -05:00
tambien
85a606d81d documenting partialCount
[skip ci]
2018-12-09 18:58:47 -05:00
tambien
761de621d8 adding partialCount parameter
offers alternative "non string" way to set the partials to an osc type
2018-12-09 18:45:01 -05:00
tambien
ec3362f89f can pass in a loaded buffer, and also can set the buffer twice
fixes #392
2018-10-21 21:27:35 -04:00
tambien
ea674c0224 test if waveshaper shim is already installed 2018-09-19 15:40:21 -04:00
Paul Varache
cfa23cfd24 Make noiseArrays generate samples lazily (#386)
* Make noiseArrays generate samples lazily

* getter -> get

* Create noiseBuffers instead of arrays

fixes #384
2018-09-10 14:20:02 -04:00
tambien
982deb3f62 param automation from 'now' instead of currentTime
addresses #385
2018-09-10 14:03:28 -04:00
tambien
a201ff01be Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-09-10 12:17:53 -04:00
tambien
8758678f20 exposing "normalize" from native convolver 2018-09-10 12:17:51 -04:00
Yotam Mann
34e26059ca don't invoke onload when setting a loaded buffer
addresses #382 and #376
2018-08-31 00:28:18 -04:00
Yotam Mann
e754799226 updating lint prefs 2018-08-31 00:14:21 -04:00
Yotam Mann
d5b77d0887 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-08-31 00:06:17 -04:00
tambien
7b60890dbf change logging stye 2018-08-29 23:10:18 -04:00
tambien
745e9b08ad dev version placeholder
overwritten by scrtip/increment_version.js
2018-08-29 23:08:16 -04:00
tambien
ed897dc4fe using precise version number 2018-08-29 23:07:58 -04:00
tambien
c8a7779191 reference to Tone.global instead of window
this allows Tone.js to be loaded in a browser or node.js environment
2018-08-29 13:54:02 -04:00
tambien
3d1202043a all modules are relative paths
simplifies deep references to individual files
2018-08-26 22:29:17 -04:00
tambien
5027277360 all modules are relative paths
simplifies deep references to individual files
2018-08-26 22:29:17 -04:00
tambien
c846ace268 Revert "creating TONE_CONTEXT and TONE_AUDIO_CONTEXT"
This reverts commit 3ad8ad19fb.
2018-08-26 20:10:34 -04:00
tambien
a3b9426c50 Revert "creating TONE_CONTEXT and TONE_AUDIO_CONTEXT"
This reverts commit 3ad8ad19fb.
2018-08-26 20:10:34 -04:00
tambien
322a4bfc57 creating TONE_CONTEXT and TONE_AUDIO_CONTEXT
TONE_CONTEXT stores a global Tone.Context while TONE_AUDIO_CONTEXT
2018-08-26 19:42:59 -04:00
tambien
3ad8ad19fb creating TONE_CONTEXT and TONE_AUDIO_CONTEXT
TONE_CONTEXT stores a global Tone.Context while TONE_AUDIO_CONTEXT
2018-08-26 19:42:59 -04:00
tambien
1070f226f3 using is[ClassName] boolean instead of instanceof 2018-08-26 10:59:41 -04:00
tambien
70c66f5d46 using is[ClassName] boolean instead of instanceof 2018-08-26 10:59:41 -04:00
tambien
1f630f5c24 TONE_AUDIO_CONTEXT equals the Tone.Context
not just the raw underlying AudioContext
2018-08-26 10:50:17 -04:00
tambien
c45b29bde5 TONE_AUDIO_CONTEXT equals the Tone.Context
not just the raw underlying AudioContext
2018-08-26 10:50:17 -04:00
tambien
e103d550cc shims reference the 'window' object
augment that global in case there are multiple versions running on the page
2018-08-16 11:02:50 -04:00
tambien
36bb063d37 shims reference the 'window' object
augment that global in case there are multiple versions running on the page
2018-08-16 11:02:50 -04:00
tambien
2dc10c7432 moving global AudioContext reference to Tone.Context
and also making it an unwrapped AudioContext
2018-08-13 22:41:22 -04:00
tambien
285f2899c2 moving global AudioContext reference to Tone.Context
and also making it an unwrapped AudioContext
2018-08-13 22:41:22 -04:00
tambien
620abad4d9 make 'destination' alias of Tone.Master 2018-08-09 15:17:18 -04:00
tambien
ebf0dd95b1 make 'destination' alias of Tone.Master 2018-08-09 15:17:18 -04:00
aniketaranake
f9c584169e Fixes typo in documentation (#377)
* Fixes typo in documentation

* Tone.AudioNode, not AudioNode
2018-08-09 09:48:38 -04:00
aniketaranake
21b97a7864 Fixes typo in documentation (#377)
* Fixes typo in documentation

* Tone.AudioNode, not AudioNode
2018-08-09 09:48:38 -04:00
Yotam Mann
183cbc0966 don't defer callback 2018-08-06 23:46:52 -04:00
Yotam Mann
2fe24f7043 don't defer callback 2018-08-06 23:46:52 -04:00
Yotam Mann
5af549bb0e linting 2018-08-06 23:46:41 -04:00
Yotam Mann
7fdc703b29 linting 2018-08-06 23:46:41 -04:00
Yotam Mann
8063776831 resume shouldn't do anything in OfflineContext 2018-08-06 23:33:33 -04:00
Yotam Mann
17f0f7e7df resume shouldn't do anything in OfflineContext 2018-08-06 23:33:33 -04:00
Yotam Mann
15755701f9 linting 2018-08-06 23:32:21 -04:00
Yotam Mann
e13ca9e93f linting 2018-08-06 23:32:21 -04:00
Yotam Mann
f09b5d0372 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-07-30 22:57:09 -04:00
Yotam Mann
312e198cd7 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2018-07-30 22:57:09 -04:00
tambien
ca5dccf1cb extends AudioNode 2018-07-30 13:30:21 -04:00
tambien
cb2ee0cf05 extends AudioNode 2018-07-30 13:30:21 -04:00
tambien
caeb628dc0 assign the listener before it's used! 2018-07-30 13:13:00 -04:00
tambien
65691d3c8a assign the listener before it's used! 2018-07-30 13:13:00 -04:00
tambien
d38fefb2cd toMaster uses the instance connected to the context 2018-07-30 13:07:46 -04:00
tambien
df1c27fbda toMaster uses the instance connected to the context 2018-07-30 13:07:46 -04:00
tambien
ae90dafc8c using global TONE_AUDIO_CONTEXT 2018-07-29 23:34:40 -04:00
tambien
5681b0701f using global TONE_AUDIO_CONTEXT 2018-07-29 23:34:40 -04:00
tambien
df5c800df4 changing singleton references to lowercase 2018-07-29 23:34:13 -04:00
tambien
8b0c210d60 changing singleton references to lowercase 2018-07-29 23:34:13 -04:00
tambien
2542f55727 fixing comment 2018-07-29 09:36:54 -04:00
tambien
169662a13a fixing comment 2018-07-29 09:36:54 -04:00
tambien
91652ff2ff reverting change 2018-07-29 09:36:02 -04:00
tambien
48f4633e61 reverting change 2018-07-29 09:36:02 -04:00
tambien
9edafa8be4 removing source when sample has finished
prevents error where the BufferSource.stop is attempted after the source has already finished
2018-07-29 09:28:45 -04:00
tambien
e52ce0d965 removing source when sample has finished
prevents error where the BufferSource.stop is attempted after the source has already finished
2018-07-29 09:28:45 -04:00
tambien
36f037ad56 updating jsdoc comment 2018-07-28 10:21:02 -04:00
tambien
99de3295da updating jsdoc comment 2018-07-28 10:21:02 -04:00
tambien
38897d7bae pass the options object to the next class 2018-07-28 10:20:36 -04:00
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