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