Yotam Mann
81887b91a3
refactor: initialize Context when getting destination
or transport
2019-10-03 17:33:39 -04:00
Yotam Mann
11544708fc
feat: OfflineContext yields thread every second of audio rendered
...
so that it doesn't block the thread.
fixes #436
2019-10-03 17:29:30 -04:00
Yotam Mann
a2153571c2
types: correcting typing
2019-09-29 17:25:55 -04:00
Yotam Mann
c155d716ac
removing logging
2019-09-29 13:05:25 -04:00
Yotam Mann
1a2d82f33b
only mark certain Params as swappable
2019-09-29 12:20:54 -04:00
Yotam Mann
eb7b14fdc8
fixing docs
2019-09-29 10:19:08 -04:00
Yotam Mann
2ee8cb1a52
feat: Wrapper around the AudioWorkletNode
2019-09-27 17:55:09 -04:00
Yotam Mann
23ca0f9688
feat: Can set the parameter after constructing Param
...
used in the new ToneAudioWorklet node
2019-09-27 17:53:42 -04:00
Yotam Mann
f7bdd7528f
feat: adding AudioWorkletNode constructors to Context
2019-09-27 17:52:37 -04:00
Yotam Mann
732efd563f
can pass in min and max values into constructor
2019-09-24 17:12:12 -04:00
Yotam Mann
a08af1a39c
createIIR takes either number[] of float32array
2019-09-23 10:00:43 -04:00
Yotam Mann
a68dea0a02
adding createMediaStreamSource
...
should create BaseContext class to better handle this case
2019-09-20 18:50:22 -04:00
Yotam Mann
be634eb093
running all logging and warning through Logger object
...
makes it possible to implement a Logger interface to visualize logging.
2019-09-20 00:31:43 -04:00
Yotam Mann
ace049a9a2
render just the clock portion without the audio
2019-09-19 16:55:09 -04:00
Yotam Mann
142e169e74
initialize the context before closing it
2019-09-17 14:07:34 -04:00
Yotam Mann
44cbe181df
removing props which are not in the default obj
2019-09-17 12:20:37 -04:00
Yotam Mann
069a114a31
fixing indentation
2019-09-16 11:09:44 -04:00
Yotam Mann
401d278063
Adding categories to all the nodes
2019-09-16 10:15:23 -04:00
Yotam Mann
e8e785ffdd
linting
2019-09-15 23:32:40 -04:00
Yotam Mann
852c78df79
updating internal links
...
to [[style]]
2019-09-14 19:55:50 -04:00
Yotam Mann
e63cbf8a82
linting
2019-09-14 19:55:39 -04:00
Yotam Mann
2d93d7ae23
updating docs
2019-09-14 18:44:37 -04:00
Yotam Mann
61c9f191b6
removing calls to tslint
...
getting rid of tslint from project and using eslint instead
2019-09-14 18:06:46 -04:00
Yotam Mann
286692e67b
updating block comment style
2019-09-14 17:47:07 -04:00
Yotam Mann
261a5f4c3b
normalizing whitespace in comments
2019-09-14 16:39:18 -04:00
Yotam Mann
8205db5485
removing unused var
2019-09-10 10:08:01 -04:00
Yotam Mann
7f1d529918
removing unused dep
2019-09-10 00:16:23 -04:00
Yotam Mann
77c6a18cd8
changing name of unused var
2019-09-10 00:06:52 -04:00
Yotam Mann
009d92909e
simplifying the add method
...
doesn't need to test at both if statements assuming that the API is followed
2019-09-09 23:51:31 -04:00
Yotam Mann
4ae119eb77
testing that the underlying buffer is the same
...
not necessarily the same ToneAudioBuffer obj
2019-09-09 23:51:09 -04:00
Yotam Mann
2fb44774c7
removing unused import
2019-09-09 23:50:53 -04:00
Yotam Mann
481fde2757
allows ToneAudioBuffers to add a buffer which is not loaded
...
also simplifies code a little
2019-09-09 23:39:00 -04:00
Yotam Mann
7be307926f
test that a warning is fired
2019-09-09 23:38:34 -04:00
Yotam Mann
58a7d090a7
using updated param generic
2019-09-08 14:08:25 -04:00
Yotam Mann
8669f2b28e
specifying type in Param generic
2019-09-08 14:07:58 -04:00
Yotam Mann
5904a151f5
updating docs and types
2019-09-08 13:39:56 -04:00
Yotam Mann
94cc15c46e
should pass in context to param test
2019-09-07 19:16:27 -04:00
Yotam Mann
eb2c352187
adding defaultValue test
2019-09-06 17:16:54 -04:00
Yotam Mann
fa7c984729
'apply' sets the full automation curve from one param to another
2019-09-06 16:18:32 -04:00
Yotam Mann
83e27282d0
changing names to the full name of the event
2019-09-06 16:17:49 -04:00
Yotam Mann
294ebeefe7
adding setInterval
...
similar to setTimeout, but the event repeats
2019-09-06 14:46:44 -04:00
Yotam Mann
910d38c3c8
separating the constructor onto two lines
...
makes the documentation more readable
2019-09-06 01:39:56 -04:00
Yotam Mann
736106de5f
accidentally put extra tab before name
2019-09-04 19:18:44 -04:00
Yotam Mann
2289f3c67f
renaming OscillatorNode file to ToneAudioNode
2019-09-04 18:40:28 -04:00
Yotam Mann
75a35108af
name is a readonly string
2019-09-04 18:38:04 -04:00
Yotam Mann
7c1bacb66d
fixing typo
2019-09-03 22:08:20 -04:00
Yotam Mann
d50c444881
using onstatechange instead of addEventListener
2019-09-03 22:00:03 -04:00
Yotam Mann
3e2de8f259
fixing spacing
...
typedoc wants one space before the "@"
2019-08-30 09:06:38 -07:00
Yotam Mann
65c63e57a6
fixing doc error
2019-08-30 09:02:18 -07:00
Yotam Mann
99dc1412a8
doc'ing
2019-08-30 09:02:06 -07:00
Yotam Mann
7a5ca042d0
removing converting classes
2019-08-27 10:02:44 -07:00
Yotam Mann
230287f813
updating docs
2019-08-27 10:02:31 -07:00
Yotam Mann
e6431d9890
using standardized-audio-context as AudioContext
...
goal of normalizing behavior across all browsers that support Web Audio.
thanks @chrisguttandin!
2019-08-26 10:55:04 -07:00
Yotam Mann
b09b81c64b
adding categories
2019-08-26 10:44:43 -07:00
Yotam Mann
b018cac113
adding categories
2019-08-21 13:01:12 -07:00
Yotam Mann
ce88eb9b88
using createAudioContext and createOfflineAudioContext
...
easier to eventually move those to standardized-audio-context
2019-08-19 11:15:53 -07:00
Yotam Mann
c353df6d5a
skip this test
...
for now
2019-08-19 10:04:28 -07:00
Yotam Mann
560ac489af
moving tests to AdvancedTypeCheck
2019-08-19 10:01:37 -07:00
Yotam Mann
fd1bbb708b
overloaded offline constructor
2019-08-19 09:59:07 -07:00
Yotam Mann
d1c281c810
using isAudioParam and isAudioNode to test instanceof
...
will make migrating to standardized-audio-context easier
2019-08-16 12:49:04 -04:00
Yotam Mann
0ad8d40c79
making overridden abstract
...
implemented by extending classes
2019-08-12 14:18:34 -04:00
Yotam Mann
9bd9feb7fb
removing unused import
2019-08-12 10:14:55 -04:00
Yotam Mann
4e9fca3df3
marking toMaster as deprecated
2019-08-12 00:15:11 -04:00
Yotam Mann
18facc5576
safety checks before trying connection
2019-08-10 18:07:10 -04:00
Yotam Mann
70b76c317c
adding TONE_DEBUG_CLASS to the window object
2019-08-08 17:00:42 -04:00
Yotam Mann
e3d8598533
small optimization which avoids setting the same value
2019-08-08 14:21:20 -04:00
Yotam Mann
38d6f9d242
optimization by moving child objects into constructor
...
means that in many cases the param won't be assigned twice
2019-08-08 14:15:56 -04:00
Yotam Mann
6f4ad826a0
Revert "small optimization to avoid setting the same value twice"
...
This reverts commit 3208497102
.
2019-08-07 11:38:31 -04:00
Yotam Mann
3208497102
small optimization to avoid setting the same value twice
...
happens sometimes on initialization
2019-08-07 00:53:07 -04:00
Yotam Mann
3a3d563c6e
schedule volume from time = 0
2019-08-07 00:52:31 -04:00
Yotam Mann
5dbd58e700
moving assertions first
2019-08-06 23:19:03 -04:00
Yotam Mann
8c2979fe8a
connection tests and channel property tests
2019-08-04 09:54:53 -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
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
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
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
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
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
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
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
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
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
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
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
f8d845cede
return from 'get' should be serializable
2019-07-19 11:09:28 -04:00
Yotam Mann
72d4b80f97
fixing typo
2019-07-18 14:06:20 -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
e0a83ef8cd
removing old js files
2019-07-16 15:44:43 -04:00
Yotam Mann
7f17209530
tear down created classes on context close
2019-07-16 15:41:59 -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
219462fe9e
cleaning up circular deps
2019-07-11 09:57:06 -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
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
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
0194826467
moving initial AudioContext to separate file
2019-06-23 14:47:21 -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
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
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
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
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