Yotam Mann
b217fc45ac
adding createMediaStreamDestination
2020-04-14 21:06:21 -04:00
Yotam Mann
43a696ddb2
Merge branch 'pr/643' into dev
2020-04-13 23:23:04 -04:00
Yotam Mann
165569cefd
updating tests for slightly different oscillator sound
2020-04-13 23:13:28 -04:00
Yotam Mann
3e8120baa2
interface for PulseOscillator to set the carrier type in PWMOscillator
2020-04-13 22:40:53 -04:00
Powerlated
0636c28517
Use Triangle instead of Sawtooth for PulseOscillator source
...
Using Sawtooth for the source wave produces an inaccurate tone at pulse widths other than 50% (0). The fix is to use a Triangle wave for the source.
2020-04-12 15:21:57 -04:00
Yotam Mann
b090617c9b
removing old tests
2020-04-10 09:13:58 -04:00
Yotam Mann
f317b97d89
testing that slice can also extend the duration
2020-04-08 10:02:33 -04:00
Yotam Mann
8b734d9755
Clock callback returns seconds
2020-04-07 21:52:07 -04:00
James Pettit
169d6d7f09
Add dotted notes to the Subdivision type.
...
Reading 30e14cf729/Tone/core/type/Time.ts (L76)
it looks like dotted notes can be returned, and in fact when I try it I can get a dotted note but the Typescript compiler complains that the return value cannot exist when used in a switch statement, so I think this is just an accidental omission.
2020-04-05 13:08:04 +08:00
Yotam Mann
627cb3cd45
adding some more simple examples
2020-03-21 21:58:48 -04:00
Yotam Mann
4a0aa07af7
testing if loaded can be created in the same block before adding downloads
2020-03-17 22:46:27 -04:00
Yotam Mann
85f70621ef
loaded promise allows for downloads to be added while 'loaded' is awaiting
2020-03-17 22:45:59 -04:00
Jacob Smith
7ec07954ae
Fixing bounds in TickSource test
2020-03-17 17:17:50 -03:00
Yotam Mann
8b58824d75
waiting for all download promises to resolve
2020-03-15 21:54:36 -04:00
Yotam Mann
09943840c4
fixing race condition where loaded was not yet set to true when promise is resolved
2020-03-11 11:41:33 -04:00
Yotam Mann
a9b2f05d6a
linting
2020-03-08 12:10:39 -04:00
Erich Loftis
785c3bc5dc
Update PatternGenerator.test.ts
2020-03-01 23:53:57 -06:00
Erich Loftis
744698f71e
Update PatternGenerator.ts
2020-03-01 23:11:27 -06:00
Yotam Mann
17ad337c1c
get maxChannelCount
2020-03-01 22:03:37 -05:00
Yotam Mann
52bf3414a4
fix: reconnecting convolver after creating new one when setting buffer
...
fixes #616
2020-02-26 18:26:18 -05:00
Yotam Mann
bdd66ef8ba
cleaning up code a little
2020-02-26 17:18:08 -05:00
Yotam Mann
7adda98875
perf: optimizing forEachAtTime to iterate over a smaller range
...
fixes #618
2020-02-26 16:54:35 -05:00
Yotam Mann
1539d88ef3
fix: Remove download promise when completed
...
fixes #620
2020-02-26 16:05:47 -05:00
Yotam Mann
e68fe68e4c
bug: cancel next event with very short attacks as well
...
fixes #614
2020-02-02 21:57:23 -05:00
Yotam Mann
e15194821b
perf: don't schedule curve when there is no decay necessary.
2020-02-02 21:55:47 -05:00
Yotam Mann
5d1b29f4b3
feat: changed the name Buffer, Buffers and BufferSource so that it doesnt conflict with native naming
...
Buffer -> ToneAudioBuffer
Buffers -> ToneAudioBuffers
BufferSource -> ToneBufferSource
2020-02-02 11:41:24 -05:00
Yotam Mann
d966735bd9
feat: option to pass in the number of input channels to Panner
...
fixes #609
2020-01-30 18:22:36 -05:00
Yotam Mann
7236600182
feat: adding onerror to Sampler
...
fixes #605
2020-01-30 16:42:32 -05:00
Yotam Mann
766ef638d3
making sure that the onerror returns the error
2020-01-30 16:15:28 -05:00
Yotam Mann
bb6a6fdef6
feat: adding onerror to ToneAudioBuffers and Players
2020-01-30 14:25:06 -05:00
Yotam Mann
dc53f9272b
feat: adding onerror to GrainPlayer when url can't load
2020-01-29 23:37:36 -05:00
Yotam Mann
0bc28e742a
using url
instead of buffer
makes it more consistent with other url loading APIs
...
feat: adding onerror to ToneBufferSource and Player
2020-01-29 23:34:05 -05:00
Yotam Mann
88dae77c90
removing 'Connect.ts' and updating dependencies
...
was a pass through and caused other problems of redefining the variable
2020-01-08 14:12:11 -05:00
Yotam Mann
40e5d7d046
fixing path
2020-01-05 18:34:22 -05:00
Yotam Mann
b86aaede46
updating relative path
2020-01-05 17:59:29 -05:00
Yotam Mann
7eb1eaf625
setting range limits
2019-12-30 18:49:55 -05:00
Yotam Mann
3526b9c42c
Adding note about performance with recent upgrade
...
closes #571
2019-12-30 18:46:35 -05:00
Yotam Mann
266576b44f
recieve returns 'this'
2019-12-30 18:30:00 -05:00
Yotam Mann
3df7942908
keeping the loopStart/End within range
2019-12-24 00:17:25 -05:00
Yotam Mann
9853f44e8c
test setting reverb values
2019-12-23 23:58:40 -05:00
Yotam Mann
c82a2aafb0
updating synth options
...
fixes scenario where "custom" is passed in
2019-12-23 23:00:27 -05:00
Yotam Mann
a90669d87e
invoking callback slight further in the future
2019-12-23 19:17:06 -05:00
Yotam Mann
a7f1ad36a4
updating sequence description to account for greater depth
2019-12-22 11:07:57 -05:00
Yotam Mann
0f9c14575d
return the progress computed by the internal part
2019-12-22 01:31:27 -05:00
Yotam Mann
bbef5f5dec
fixing edge case where computed offset is equal to the duration of the buffer
...
sets it to 0 in this case.
2019-12-22 00:38:21 -05:00
Yotam Mann
4e1b385a48
fixing typos
2019-12-22 00:37:51 -05:00
Yotam Mann
dd73c2128c
importing listener when panner is imported
2019-12-21 22:07:05 -05:00
Yotam Mann
015e4c7a30
correcting default value
2019-12-21 22:06:40 -05:00
Yotam Mann
ed5f7876c2
fixing typo
2019-12-21 22:05:31 -05:00
Yotam Mann
24fe9acc18
using standardized-audio-context in tests
2019-12-21 22:05:24 -05:00
Yotam Mann
7391cf6d3c
wrapping native AudioListener with Listener
2019-12-21 21:01:45 -05:00
Yotam Mann
f1cda064b5
only set the player as stopped when it's still scheduled as playing
...
addresses #594
2019-12-21 15:27:10 -05:00
Yotam Mann
e077f1810b
export panner3D
2019-12-21 14:32:00 -05:00
Yotam Mann
7606a5d28b
updating test name
2019-12-19 17:13:14 -05:00
Yotam Mann
daae4aef7c
ensure start
is not scheduled twice at the same time
...
subsequent start times must be greater than the previous time
fixes #594
2019-12-19 17:13:05 -05:00
Yotam Mann
fbf4345de4
removing debugging code
2019-12-18 18:03:11 -05:00
Yotam Mann
d22747cc69
Adding more range guards
2019-12-17 12:42:40 -05:00
Yotam Mann
32fa0f3eba
values can be nested arrays of the generic type
2019-12-17 11:58:45 -05:00
Yotam Mann
ef52e20a1b
updating comment
2019-12-17 11:57:02 -05:00
Yotam Mann
25eb6fce40
removing unused vars
2019-12-17 11:56:56 -05:00
Yotam Mann
abcb3bec5c
removing out of range value
2019-12-17 11:38:43 -05:00
Yotam Mann
48284d78fb
adding decorators which validate the input value range
2019-12-16 17:13:03 -05:00
Yotam Mann
2b0c2a64f1
values out of range throw an error
...
used to fail silently
2019-12-16 17:12:19 -05:00
Yotam Mann
fc84ec281b
adding clamp function
2019-12-16 16:50:07 -05:00
Yotam Mann
51d06bd987
feat: Removing Ctrl classes
...
breaking changes: Removing CtrlInterpolate, CtrlRandom, CtrlMarkov.
2019-12-16 16:42:40 -05:00
Yotam Mann
389ccf8722
using assert instead of this.assert
...
removing this.assert from Tone.js classes
2019-12-16 15:58:31 -05:00
Yotam Mann
1255bc6766
feat: Meter can do multichannel analysis
...
pass in `channels` > 1 into constructor
2019-12-15 16:43:41 -05:00
Yotam Mann
d9a7520eb6
feat: Analyser can handle multiple channels
...
Can pass in `channels` into constructor which runs a separate analysis on each channel and returns the results as a Float32Array[].
2019-12-15 16:42:50 -05:00
Yotam Mann
6d0e17d3d2
adding the category
2019-12-15 16:02:29 -05:00
Yotam Mann
93fdb9c0f2
documenting output type
2019-12-15 16:02:19 -05:00
Yotam Mann
2625a134b6
feat: meter output can be normalRange in addition to decibels
2019-12-15 16:01:19 -05:00
Yotam Mann
ed93e677a9
setting minValue for harmonicity
2019-12-15 02:19:25 -05:00
Yotam Mann
caf58ffe0b
throws error when set outside of range
2019-12-15 02:19:12 -05:00
Yotam Mann
f3022bbb35
not necessary to set frequency in constructor
2019-12-15 02:18:13 -05:00
Yotam Mann
192b749b85
Gain can also have min/max range
2019-12-14 17:27:54 -05:00
Yotam Mann
72d7f37509
removing unused variable
2019-12-14 17:07:13 -05:00
Yotam Mann
a2d5c3d634
adding the intial state at time 0
2019-12-14 16:11:56 -05:00
Yotam Mann
ef0aaec8ee
Refactor source
...
adding `_restart` is an internal protected abstract method for all sources.
2019-12-14 16:09:24 -05:00
Yotam Mann
e709203656
Reverb decay should be at least 1ms
2019-12-14 12:34:44 -05:00
Yotam Mann
276af87a6d
decay needs to be at least 1 sample long
2019-12-14 12:33:49 -05:00
Yotam Mann
267f1befc0
Simplifying Freeverb dispose
2019-12-14 11:53:12 -05:00
Yotam Mann
dedfe18ac2
open returns this
...
closes #589
2019-12-13 11:25:28 -05:00
Yotam Mann
f20fdce3a6
making paths relative
2019-12-11 10:35:01 -05:00
Yotam Mann
8eed7bd6ce
adding range guards to reverb
2019-12-11 10:13:52 -05:00
Yotam Mann
fce95bea6e
feat: clamp the values to the defined min/maxValue
2019-12-11 10:11:40 -05:00
Yotam Mann
61cfd3ab8c
make sure that maxDelay is readonly
2019-12-10 23:34:12 -05:00
Yotam Mann
cf8965f921
fixing case where buffer is not set
...
previously would prefix "/"
2019-12-09 17:43:58 -05:00
Yotam Mann
409fb929af
skipping isSilent test
2019-12-06 18:00:26 -05:00
Yotam Mann
d4f47b7cd8
removing unused vars
2019-12-06 17:29:06 -05:00
Yotam Mann
2295ce674e
whoops: made it so it only funs one test
2019-12-06 17:23:02 -05:00
Yotam Mann
9f51cb5293
exporting BaseContext
2019-12-06 17:13:22 -05:00
Yotam Mann
c66f2d5e89
feat: ramps must be at least 1 sample long
...
otherwise just uses a setValueAtTime
2019-12-06 16:38:35 -05:00
Yotam Mann
8a508f2405
feat: Reverb generate
is automatically called when decay or preDelay values are changed
...
`ready` promise resoves when reverb values have been updated.
2019-12-06 16:37:40 -05:00
Yotam Mann
8540c44459
needs to set detune outside of signal being overridden
2019-12-06 14:10:33 -05:00
Yotam Mann
660915680a
feat: when the signal is overridden it should not schedule any change in values
...
fixes #585
2019-12-06 12:55:30 -05:00
Yotam Mann
e955846bb2
moving docs from #584 to typescript
2019-12-04 10:52:40 -05:00
Yotam Mann
b1c5a3c8c7
docs: fixing example
2019-11-22 15:46:46 -05:00
Yotam Mann
ba311dbe7b
putting settings into constructor object
...
slight optimization over setting them all individually
2019-11-22 13:26:16 -05:00
Yotam Mann
0f8a282dfa
fixing stereo widener
2019-11-22 13:25:50 -05:00
Yotam Mann
fef7bde5a5
rounding up the number of voices it keeps
2019-11-22 11:19:03 -05:00
Yotam Mann
c80f8a89f9
optimization: also storing the wave
...
turns out that the call to `createPeriodicWave` is the most expensive part.
2019-11-22 11:18:49 -05:00
Yotam Mann
94de75c1b4
no need to guard against the part being undefined now
2019-11-21 13:19:44 -05:00
Yotam Mann
15d5580cb3
schedule all the events at the end of the constructor
2019-11-21 13:19:03 -05:00
Yotam Mann
11f7c2207a
test the initial state
2019-11-21 11:08:22 -05:00
Yotam Mann
16d71718dd
removing case that can't happen
...
there is an event added in the constructor at time 0 and the time can't be less than 0
2019-11-21 11:04:38 -05:00
Yotam Mann
8bb53b3eb1
state time can't be less than 0
2019-11-21 11:04:00 -05:00
Yotam Mann
4d90c9cba8
test: adding coverage tests
...
should return undefined when not open
2019-11-21 10:58:04 -05:00
Yotam Mann
754e853cc2
make sure the playbackRate is never 0
2019-11-21 10:56:53 -05:00
Yotam Mann
505ee32780
removing skipped test
2019-11-21 10:49:34 -05:00
Yotam Mann
ea9b1bf6c7
testing range only if the buffer is loaded
2019-11-19 15:53:54 -05:00
Yotam Mann
28349e1868
test the range of the loopStart and loopEnd values
2019-11-19 15:44:44 -05:00
Yotam Mann
548c814a9a
make sure the panner stays in the specific range
2019-11-19 15:44:34 -05:00
Yotam Mann
cfdb5a42c8
throw an error if the time is not increasing
2019-11-18 15:18:02 -05:00
Yotam Mann
e0248afb1c
using floating point comparisons
2019-11-18 15:16:04 -05:00
Yotam Mann
abee380fc2
reverse works at different sampling rates
2019-11-18 15:11:57 -05:00
Yotam Mann
b00853dc58
make sure time scheduling is always increasing in time
2019-11-18 14:52:53 -05:00
Yotam Mann
e055abf172
fixing test to work at different sample rates
2019-11-18 14:52:00 -05:00
Yotam Mann
091fe6bf01
Make sure events are scheduling in increasing time order
...
addresses #581
2019-11-18 14:51:43 -05:00
Yotam Mann
25004d2b2f
fixing typo, and cancelling events before next one is added
2019-11-18 14:48:24 -05:00
Yotam Mann
09dc29191b
linting
2019-11-17 13:09:19 -05:00
Yotam Mann
8ec69d42de
make sure there is a slash between the baseurl and the url
2019-11-17 11:33:45 -05:00
Yotam Mann
482a9a8d6e
docs: correcting description
2019-11-17 11:09:42 -05:00
Yotam Mann
429b0898f1
fixing options
2019-11-16 19:07:47 -05:00
Yotam Mann
5220c373e4
simplifying the example slightly
2019-11-16 17:13:26 -05:00
Yotam Mann
67f483fc72
removing EqualPowerGain and Modulo
...
BREAKING CHANGE: Removing EqualPowerGain and Modulo. Neither of those classes are used internally anymore.
2019-11-16 16:44:16 -05:00
Yotam Mann
e745259222
exporting loaded
promise from ToneAudioBuffer
2019-11-16 16:42:19 -05:00
Yotam Mann
519b7ca6a8
updating TransportTimelineSignal name
2019-11-16 16:36:51 -05:00
Yotam Mann
86853fbd10
feat: Renaming TransportTimelineSignal to SyncedSignal
...
BREAKING CHANGE: TransportTimelineSignal is now called SyncedSignal
2019-11-14 17:04:07 -05:00
Yotam Mann
0997823e24
converting TransportTimelineSignal to typescript
2019-11-14 16:55:25 -05:00
Yotam Mann
fdca6ef57d
removing comment
2019-11-14 16:26:47 -05:00
Yotam Mann
b1b85206f4
updating name string
2019-11-14 13:21:41 -05:00
Yotam Mann
4b0827bf43
removing old js file
2019-11-14 12:34:15 -05:00
Yotam Mann
76b8e84ae4
testing that toString() returns the class name
2019-11-14 12:30:17 -05:00
Yotam Mann
3fb5ca8727
toMaster() -> toDestination()
2019-11-14 12:29:53 -05:00
Yotam Mann
5fd8009c87
correcting ToneAudioNode's name
2019-11-14 12:21:58 -05:00
Yotam Mann
3c97ecebe9
removing unused imports
2019-11-14 12:15:47 -05:00
Yotam Mann
6ed67a5d0a
exporting dynamics components
2019-11-14 12:13:30 -05:00
Yotam Mann
19ff72ab5c
converting MultibandCompressor to typescript
2019-11-14 12:13:09 -05:00
Yotam Mann
fd86348124
exporting options
2019-11-14 12:12:52 -05:00
Yotam Mann
c82254169d
converting MideSideCompressor to typescript
2019-11-14 11:38:43 -05:00
Yotam Mann
dedf7daef1
making paths relative
2019-11-14 11:23:22 -05:00
Yotam Mann
8a42d7b4d6
updating reduction return type
2019-11-14 11:23:07 -05:00
Yotam Mann
b4544acd1e
converting Limiter to typescript
2019-11-14 11:23:00 -05:00
Yotam Mann
c2b25875e8
making paths relative
2019-11-14 11:14:54 -05:00
Yotam Mann
aa8d4b7237
fixing comment error
2019-11-14 11:07:33 -05:00
Yotam Mann
072e29f72f
Delete ScaleExp.js
2019-11-14 11:06:51 -05:00
Yotam Mann
f6f8a3a034
converting Gate to typescript
2019-11-14 11:04:36 -05:00
Yotam Mann
3246f90454
exporting GreaterThan and GreaterThanZero
2019-11-13 19:35:05 -05:00
Yotam Mann
84df049ebd
exporting options from SignalOperator
2019-11-13 19:34:55 -05:00
Yotam Mann
269cffa35c
converting GreaterThan to typescript
2019-11-13 19:34:38 -05:00
Yotam Mann
0a48640a95
converting GreaterThanZero to typescript
2019-11-13 19:01:47 -05:00
Yotam Mann
cc7f428a84
adding latencyHint to BaseContext
2019-11-13 14:16:20 -05:00
Yotam Mann
d3951ce16c
don't restart unless state === 'started'
...
fixes #480
2019-11-13 14:09:13 -05:00
Yotam Mann
340fb77561
wait for next tick before setting the ticks
...
fixes #573
2019-11-13 13:19:47 -05:00
Yotam Mann
60e4f7231b
removing unused import
2019-11-13 13:16:35 -05:00
Yotam Mann
e768191a9b
adding note on flanging
2019-11-13 13:05:04 -05:00
Yotam Mann
fa2b7431e3
alphabetizing output
2019-11-13 13:01:00 -05:00
Yotam Mann
a28f1af610
feat: Chorus extends StereoFeedbackEffect
...
This makes it possible to do flanger-type effects.
fixes #575
2019-11-13 12:58:37 -05:00
Yotam Mann
94ab93935c
annotating type
2019-11-12 23:59:41 -05:00
Yotam Mann
c4153edc30
assert the context is running
2019-11-12 16:55:30 -05:00
Yotam Mann
48c3a98749
more consistent whitespacing
2019-11-12 16:54:09 -05:00
Yotam Mann
eb1427a17e
updating whitespace
2019-11-12 16:33:54 -05:00
Yotam Mann
589ab74b11
don't need to check if state is null any longer
2019-11-12 15:10:22 -05:00
Yotam Mann
6623b5b4ea
simplifying math a little
2019-11-12 14:12:22 -05:00
Yotam Mann
b6cbd31a78
updating test to pass in context
2019-11-11 16:04:38 -05:00
Yotam Mann
b68808ca6b
using GrainPlayer to test
2019-11-11 15:41:01 -05:00
Yotam Mann
522e3a0670
only test if it's in fact suspended
2019-11-11 15:17:48 -05:00
Yotam Mann
95030de548
always return true
2019-11-11 13:55:16 -05:00
Yotam Mann
76cb4fa7f9
optimizing feedback comb filter processing
...
addresses #571
2019-11-11 13:52:19 -05:00
Yotam Mann
60b13c9976
using global currentFrame instead of maintaining local variable
2019-11-11 12:33:08 -05:00
Yotam Mann
34d55d12ae
warning if start is invoked before AudioContext is running
...
addresses #572
2019-11-11 11:44:16 -05:00
Yotam Mann
9136836da0
assertContextRunning
...
help with autoplay issues by warning when AudioContext is not running
2019-11-11 11:43:43 -05:00
Yotam Mann
41d4b4a0df
More explanation on immediate vs now
...
addresses #570
2019-11-10 23:20:23 -05:00
Yotam Mann
ce07d2a081
looping sync example
2019-11-08 14:40:39 -05:00
Yotam Mann
50a9e0dc4d
updating example
2019-11-08 13:14:21 -05:00
Yotam Mann
933f019cb3
updating example
2019-11-08 13:08:38 -05:00
Yotam Mann
7910957312
reverb uses OfflineContext instead of Offline
...
fixes #569
2019-11-08 12:34:22 -05:00
Yotam Mann
2ae5d69f4e
adding onprocessorerror property to notify when errors have occured in processing
2019-11-07 16:56:56 -05:00
Yotam Mann
e820ae76ed
testing the dummy context interface
...
tests just for coverage
2019-11-07 16:04:43 -05:00
Yotam Mann
6842d48ce7
don't export BaseContext
...
since probably not necessary in the final output
2019-11-07 16:04:32 -05:00
Yotam Mann
a08ee7e4d7
don't need to export tone
2019-11-07 15:44:33 -05:00
Yotam Mann
0ca7055687
exporting the version
2019-11-07 15:43:46 -05:00
Yotam Mann
a3a2da9da5
Merge branch 'pr/567' into typescript
2019-11-07 14:50:54 -05:00
Yotam Mann
59d8c37d49
fixing doctype
...
issue with rendering javascript comments
2019-11-07 14:47:15 -05:00
Yotam Mann
eef8d0f620
exporting pattern
2019-11-07 14:39:44 -05:00
Yotam Mann
93eab5e6a3
converting Pattern to typescript
2019-11-07 14:39:28 -05:00
Yotam Mann
e24f12c4a9
updating typing
2019-11-07 12:04:10 -05:00
Jack Anderson
3354b24527
Create BaseContext + better DummyContext
...
- this creates a new abstract BaseContext that DummyContext and Context
inherit from
- All methods available to Context are now stubbed by DummyContext
- BaseContext is now used as the type where Context was originally used
2019-11-06 14:32:19 -08:00
Yotam Mann
974ee57353
exporting new effects
2019-11-04 22:29:21 -05:00
Yotam Mann
c9f7ac47b1
adding categories
2019-11-04 22:29:14 -05:00
Yotam Mann
c05aee48a6
converting PitchShift to typescript
2019-11-04 22:28:51 -05:00
Yotam Mann
e4d0fae5a6
removing old js files
2019-11-04 19:09:23 -05:00
Yotam Mann
715165cba5
StereoXFeedbackEffect extends StereoFeedbackEffect
2019-11-04 19:09:13 -05:00
Yotam Mann
6eea18b1b8
updating docs
2019-11-04 18:59:46 -05:00
Yotam Mann
caf7b4bd19
converting PingPongDelay to typescript
2019-11-04 18:59:32 -05:00
Yotam Mann
fd3a52a54b
removing duplicate example
2019-11-04 17:49:59 -05:00
Yotam Mann
8ec41dd200
updating example
2019-11-04 17:49:50 -05:00
Yotam Mann
1d334f9a80
converting vibrato to typescript
2019-11-03 22:44:49 -05:00
Yotam Mann
1738307e8a
using .wav instead of .mp3
2019-11-03 22:43:19 -05:00
Yotam Mann
ae2ec70d23
updating example
2019-11-03 22:23:56 -05:00