Commit graph

916 commits

Author SHA1 Message Date
Yotam Mann
52bcac2599 setting name to readonly 2019-08-02 21:09:35 -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
344bd48bc0 removing js files 2019-08-02 10:37:07 -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
d1716266e7 had slice logic backwards
oops
2019-07-30 10:52:49 -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
Yotam Mann
d9eae0123f removing window reference 2019-07-26 11:50:59 -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
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
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
9788bcc847 optimizing slice implementation
no longer requires iteration over the arrays
2019-07-25 09:08:34 -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
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
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
61a02e6633 toTicks can take a class as well 2019-07-23 15:17:11 -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
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
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
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
622b547e32 time is optional in toSeconds 2019-07-22 16:18:01 -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
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
f8d845cede return from 'get' should be serializable 2019-07-19 11:09:28 -04:00
Yotam Mann
9306f9e797 RecursivePartial is useful for nested properties 2019-07-18 14:06:53 -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
11aed433d7 don't try to set an undefined attribute 2019-07-17 12:54:25 -04:00
Yotam Mann
8c3c2fe9d1 removing old type classes 2019-07-16 16:05:58 -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
990c0f56ed using type instead of string types 2019-07-15 15:37:25 -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
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
tambien
1c3461b924 fixing chain behavior 2019-06-24 14:35:32 -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
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
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
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
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
ab5184f9a6 adding Radians 2019-06-19 15:52:16 -04:00
tambien
17a38ae10a allow non 'dev' version 2019-06-19 10:25:05 -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
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
863072f8c8 converting Draw to ts 2019-06-19 09:53:36 -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
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
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
730a818bcb organizing into sub folders 2019-05-23 14:00:49 -04:00
tambien
39cf110fe4 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into typescript 2019-05-21 23:53:46 -04:00
tboie
ba1900dab6 Tone.Disconnect Fix (#483)
-use while loop with a flag
-fixes #461
2019-05-14 21:40:23 -04:00
tambien
df08425a70 started retooling with typescript 2019-04-12 10:37:47 -04:00
tambien
184102ab4c removing shims
will replace with standardized-audio-context
2019-03-25 22:58:36 -07: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
tambien
655b3310d3 setting reverse value which is passed into through an object
fixes #456
2019-03-09 16:14:51 -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
Stephan Lagerwaard
7269f3bdfa Added option to silence both loggers the context (#453) 2019-03-06 14:59:17 -05:00
tambien
c023181579 linting 2019-02-15 13:03:10 -05: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
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
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
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
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
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
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
982deb3f62 param automation from 'now' instead of currentTime
addresses #385
2018-09-10 14:03:28 -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
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
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
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
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
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
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
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
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
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
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