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
Yotam Mann
14883653b6
making paths relative
2019-11-03 22:23:50 -05:00
Yotam Mann
d17607786d
adjusting threshold
2019-11-03 22:20:07 -05:00
Yotam Mann
28bf547959
updating example
2019-11-03 22:19:42 -05:00
Yotam Mann
2e8e52ac2e
adding compare to file test
2019-11-03 22:19:33 -05:00
Yotam Mann
831cd2bca7
adjusting threshold
2019-11-03 22:17:59 -05:00
Yotam Mann
c035c4a73f
remove old js files
2019-11-03 22:17:21 -05:00
Yotam Mann
61ab898c17
converting Phaser to typescript
2019-11-03 22:17:00 -05:00
Yotam Mann
357f41cd3d
exporting new effects
2019-11-03 21:44:32 -05:00
Yotam Mann
84e3e70339
updating example
2019-11-03 21:44:25 -05:00
Yotam Mann
701caf4c50
converting StereoWidener to typescript
2019-11-03 21:43:53 -05:00
Yotam Mann
148e70032f
adding name
2019-11-03 21:43:01 -05:00
Yotam Mann
530c0dac23
using more generic class rathen than the specific type of input
2019-11-03 21:35:26 -05:00
Yotam Mann
0805e507ac
making the iterations more es5
2019-11-03 20:34:01 -05:00
Yotam Mann
53ba14cbd6
converting JCReverb to typescript
2019-11-03 20:33:46 -05:00
Yotam Mann
020db86c72
removing old file
2019-11-03 18:36:56 -05:00
Yotam Mann
660abd87b8
working on example
2019-11-03 18:36:51 -05:00
Yotam Mann
55504012ac
converting Freeverb to typescript
2019-11-03 18:35:17 -05:00
Yotam Mann
5c4146e162
each effect side can take any number of values
2019-11-03 18:34:57 -05:00
Yotam Mann
f4e66ce5c2
removing unused import
2019-11-03 18:10:30 -05:00
Yotam Mann
e3910e7978
removing unused import
2019-11-03 18:09:57 -05:00
Yotam Mann
ea2c1a4111
using MonoSynthOptions in constructor
2019-11-03 18:09:39 -05:00
Yotam Mann
de1f433c29
removing unused import
2019-11-03 18:08:31 -05:00
Yotam Mann
9d7937bbab
updating test threshold
2019-11-03 18:08:24 -05:00
Yotam Mann
5552c16a05
removing old js files
2019-11-03 18:07:21 -05:00
Yotam Mann
252ae7b3e4
linking to monosynth
2019-11-03 18:07:13 -05:00
Yotam Mann
3d8a8a4897
fixing example
2019-11-03 18:07:03 -05:00
Yotam Mann
e437ebd846
updating DuoSynth so it passes tests
...
thanks @this-fifo!
2019-11-03 17:45:50 -05:00
Yotam Mann
59b9f5f6a8
adding recursive omit method
2019-11-03 17:42:51 -05:00
Yotam Mann
b2ebd6876d
removing envelope as required by Monophonic
...
making getLevelAtTime abstract
2019-11-03 17:41:47 -05:00
Yotam Mann
a3acecb776
Merge branch 'pr/565' into typescript
2019-11-03 15:46:36 -05:00
Yotam Mann
cfb19e8334
using deep imports
2019-11-03 15:44:51 -05:00
Yotam Mann
332adefd0d
removing unnecessary if
2019-11-03 11:41:03 -05:00
Yotam Mann
b9619d8c68
removing unused variables
2019-10-31 15:43:16 -04:00
Yotam Mann
7549764c38
removing old js files
2019-10-31 15:30:32 -04:00
Yotam Mann
802ce474c7
converting Chorus to ts
2019-10-31 15:29:48 -04:00
Yotam Mann
98aa79125b
bind now and immediate to simplify code
2019-10-31 14:54:49 -04:00
Yotam Mann
d647c8b9c8
checking that the listener exists
2019-10-31 14:54:37 -04:00
Yotam Mann
410193d136
testing disconnecting from AudioParam
2019-10-31 14:50:08 -04:00
Yotam Mann
87a86a9071
no need for casting
2019-10-31 14:49:56 -04:00
Yotam Mann
54cac42925
adding some basic conversion tests
2019-10-31 14:45:06 -04:00
Yotam Mann
7ede333128
testing setting ticks
2019-10-31 14:44:59 -04:00
Yotam Mann
757cd380c8
using getStateAtTime when getting state
2019-10-31 14:44:22 -04:00
Yotam Mann
7d93094427
testing event emitters when scheduled event time is in the past
2019-10-31 14:44:01 -04:00
Yotam Mann
89e171b4a3
setting non-cached osc type after starting
2019-10-31 14:22:19 -04:00
Yotam Mann
91ae308e66
making sure that draw/transport/destination are disposed when the context is closed
2019-10-31 11:41:21 -04:00
Yotam Mann
4aedaeea77
setting exponent in test
...
for additional coverage
2019-10-31 09:56:09 -04:00
Filipe Herculano
779b4d68c5
update DuoSynth interface options to match class type and adjust object parameters
2019-10-30 19:22:24 -04:00
Yotam Mann
7bc2dc1f96
testing setting different global contexts
2019-10-30 19:18:01 -04:00
Yotam Mann
8d775f7233
verifying that UserMedia doesn't work in offline context
2019-10-30 18:59:55 -04:00
Yotam Mann
c5c8082d4e
removing unused method
2019-10-30 18:59:38 -04:00
Yotam Mann
6ac43559b1
testing that destination exists before closing
...
forces the context to initialize
2019-10-30 18:59:32 -04:00
Yotam Mann
d4d403bffb
testing closing edge case
2019-10-30 18:59:15 -04:00
Filipe Herculano
79dad22648
start converting DuoSynth to Typescript
2019-10-30 18:54:30 -04:00
Yotam Mann
546ec43151
updating example
...
changing updateInterval to be lookAhead/2 instead of 3
2019-10-30 18:05:28 -04:00
Yotam Mann
816294b9c0
refactoring fromContext
2019-10-30 14:49:02 -04:00
Yotam Mann
54faf744fd
exporting context
2019-10-30 14:48:41 -04:00
Yotam Mann
a9c8927a52
some sanity checks on the final interface
2019-10-30 14:48:29 -04:00
Yotam Mann
d845a435b1
ScaledEnvelope is redundant with the FrequencyEnvelope
...
currently no use for it though might reintroduce it if it feels necessary down the road.
2019-10-30 13:22:53 -04:00
Yotam Mann
fc80ec1f8e
fixing import paths
2019-10-30 13:13:32 -04:00
Yotam Mann
d56572c94c
converting Tremolo to typescript
2019-10-30 13:13:26 -04:00
Yotam Mann
79d2c3d41b
convert Chebyshev to typescript
2019-10-29 23:35:27 -04:00
Yotam Mann
8ce429e7ba
removing js files
2019-10-29 23:14:38 -04:00
Yotam Mann
f5ea6be5d4
exporting AutoWah
2019-10-29 23:14:17 -04:00
Yotam Mann
3a40d841e3
adding category
2019-10-29 23:14:11 -04:00
Yotam Mann
f27df3a215
converting AutoWah to typescript
2019-10-29 23:14:03 -04:00
Yotam Mann
889cc8446b
fixing docs
2019-10-29 23:13:28 -04:00
Yotam Mann
9d03004ec7
exponential scale class
2019-10-29 23:13:22 -04:00
Yotam Mann
affe2e75de
adding categories
2019-10-29 23:12:51 -04:00
Yotam Mann
97cdc5bf07
adding comparison files
2019-10-29 18:18:04 -04:00
Yotam Mann
ad2c2ff651
less peaky settings
2019-10-29 18:09:20 -04:00
Yotam Mann
444b90ff92
alphabetizing
2019-10-29 18:09:10 -04:00
Yotam Mann
5dd6a2623b
Merge branch 'pr/563' into typescript
2019-10-29 17:49:52 -04:00
Yotam Mann
95142f7e64
reducing the need to function twice in constructor
2019-10-29 17:49:40 -04:00
Yotam Mann
e67c9e1724
simplifying FreqEnvelope API slightly
2019-10-29 17:49:22 -04:00
Yotam Mann
73d3e59506
merging MonoSynth
2019-10-29 17:48:59 -04:00
Yotam Mann
bc08a1aea9
docs: adding more elaborate examples and explainations
2019-10-29 14:51:29 -04:00
Yotam Mann
1f298914fc
removing old js files
2019-10-29 14:31:01 -04:00
Yotam Mann
aa56dc1727
more complex harmonicity example
2019-10-29 14:30:25 -04:00
Yotam Mann
a47a160d8e
export immediate
2019-10-29 14:30:12 -04:00
Yotam Mann
559cdae1fb
added immediate
method
2019-10-29 14:29:52 -04:00
Yotam Mann
5baeddf451
updating examples
2019-10-28 21:28:53 -04:00
Yotam Mann
41897320a0
exporting FrequencyEnvelope
2019-10-28 21:28:41 -04:00
Yotam Mann
0767a52770
adding category
2019-10-28 21:28:33 -04:00
Yotam Mann
703f27a5ab
feat: adding send/receive to Channel
...
Removing it from all ToneAudioNode's. Now it's just on the Channel Interface
2019-10-28 21:23:23 -04:00
Yotam Mann
28c078dcad
converting Channel to ts
2019-10-28 20:59:54 -04:00
Yotam Mann
68a7bb03ec
doc tweaks
2019-10-28 20:59:01 -04:00
Yotam Mann
d1fab1c089
converting MidSideMerge/Split to Typescript
2019-10-28 20:42:43 -04:00
Yotam Mann
6ea1ca0a18
converting BitCrusher to typescript
...
uses the AudioWorklet
2019-10-28 19:11:46 -04:00
Yotam Mann
3efba33604
removing old js file
2019-10-28 19:11:20 -04:00
Filipe Herculano
fdf6433e64
fix MonoSynth test using incorrect Offline helper
2019-10-28 18:24:56 -04:00
Filipe Herculano
22d5fb0ab9
convert MonoSynth to Typescript
2019-10-28 18:12:20 -04:00
Yotam Mann
c1dbb84f7d
using relative paths
2019-10-28 17:53:51 -04:00
Yotam Mann
b66bc77910
removing old JS files
2019-10-28 17:50:38 -04:00
Yotam Mann
24a300756d
converting AutoPanner to typescript
2019-10-28 17:50:31 -04:00
Yotam Mann
66f285bdf2
base class for LFO-based effects
2019-10-28 17:50:05 -04:00
Yotam Mann
b9bf3e2892
exporting AutoFilter
2019-10-28 17:32:27 -04:00
Yotam Mann
5eba7af64d
interlinking docs
2019-10-28 17:31:39 -04:00
Yotam Mann
a0fd3f1cec
updating example
2019-10-28 17:31:32 -04:00
Yotam Mann
a54bde11f3
adding category
2019-10-28 17:31:25 -04:00
Yotam Mann
ba7b9ec0e2
converting AutoFilter to typescript
2019-10-28 17:31:17 -04:00
Yotam Mann
304802d515
using different cancel methods depending on what is scheduled
2019-10-28 16:41:01 -04:00
Yotam Mann
fbd1e3c450
using floating point comparisons
2019-10-28 16:40:30 -04:00
Yotam Mann
51af0138fc
adding AMSynth to polysynth options
2019-10-28 15:12:02 -04:00
Yotam Mann
cd37884156
removing unused deps
2019-10-28 15:11:42 -04:00
Yotam Mann
5424c05eb2
AM and FM Synth inherit from ModulationSynth base class
2019-10-28 15:11:36 -04:00
Yotam Mann
c217ef5a2c
removing old files
2019-10-28 14:22:28 -04:00
Yotam Mann
1134ce4c69
making sure that the attack is not canceled if the release is scheduled once it ends
...
fixes #560
2019-10-28 14:22:10 -04:00
Yotam Mann
179ef7d730
converting AMSynth to typescript
2019-10-28 12:43:24 -04:00
Yotam Mann
125c5af464
removing unnecessary detune option
2019-10-28 12:43:11 -04:00
Yotam Mann
24f5cd0c95
Merge branch 'pr/559' into typescript
2019-10-28 12:20:17 -04:00
Yotam Mann
6c9d3d8294
baseFrequency is Hertz instead of Frequency
...
then casting to number (and potential errors that could cause) is avoided
2019-10-28 12:20:04 -04:00
Yotam Mann
d7194d05eb
using const over let
2019-10-28 12:19:33 -04:00
Yotam Mann
9591fdedf8
passing in arguments as labelled
2019-10-28 12:19:22 -04:00
Yotam Mann
f4dcc08ed2
create a global Draw object (linked to the Context)
2019-10-28 12:12:27 -04:00
Yotam Mann
b1351af339
fixing example
2019-10-28 11:50:32 -04:00
Yotam Mann
49dfe371a3
exporting all core classes
...
also exporting ftom and mtof
2019-10-28 11:50:13 -04:00
Yotam Mann
7d23ae7bad
removing unused types
2019-10-28 11:40:09 -04:00
Yotam Mann
87ae677a59
linting
2019-10-28 11:38:17 -04:00
Yotam Mann
3a63154b7c
using the unit name instead of the unit type as the Param generic
2019-10-28 11:37:53 -04:00
Filipe Herculano
4d93b6c1b0
remove redundant accessors
2019-10-27 17:45:21 -04:00
Filipe Herculano
efd114d2db
convert FrequencyEnvelope to Typescript
2019-10-26 11:43:00 -04:00
Yotam Mann
f7464e2a5f
Merge branch 'pr/557' into typescript
2019-10-25 17:03:03 -04:00
Yotam Mann
49e3a8d869
exporting ScaledEnvelope
2019-10-25 17:02:52 -04:00
Yotam Mann
4bcde39fdc
linting / updating paths
2019-10-25 17:02:44 -04:00
Yotam Mann
08a61386ad
exporting missing Signal classes
2019-10-25 16:54:44 -04:00
Yotam Mann
d2b064f41e
docs: working on code examples
2019-10-25 16:54:33 -04:00
Yotam Mann
4266d2b93c
updating examples
2019-10-24 18:01:27 -04:00
Yotam Mann
b73e127310
docs: updating example
2019-10-23 16:43:12 -04:00
Yotam Mann
b2a9c9a303
working on examples
2019-10-23 16:30:07 -04:00
Yotam Mann
cc7727a85c
updating docs
2019-10-22 23:39:35 -04:00
Yotam Mann
7c026cc16b
only release one voice at a time
2019-10-22 23:08:42 -04:00
Yotam Mann
42cfbcd456
linting docs and examples
2019-10-22 23:04:52 -04:00
Filipe Herculano
9209bdfe07
convert ScaledEnvelope to Typescript
2019-10-19 18:26:37 -04:00
Yotam Mann
4c5e05d7ca
making time optional
2019-10-16 14:59:03 -04:00
Yotam Mann
bc0d83d4cf
make sure the right voice is released by flagging a voice as released
2019-10-16 14:31:40 -04:00
Yotam Mann
d1e259238f
don't reuse voices
...
just create a new one. hopefully causes fewer problems
2019-10-15 23:15:41 -04:00
Yotam Mann
981431f0d5
exporting loop
2019-10-15 22:42:45 -04:00
Yotam Mann
ba2af1fb03
creates a new AudioContext when Context is created
...
used to reuse same context.
2019-10-13 23:20:42 -04:00
Yotam Mann
fe6aea9641
polysynth always has at least one voice
2019-10-13 22:40:57 -04:00
Yotam Mann
e1a1552bcf
exporting analysis classes
2019-10-13 21:11:44 -04:00
Yotam Mann
032808dd2a
ensure that partialsCount is never below 0
2019-10-13 15:05:41 -04:00
Yotam Mann
3a89459916
more sensible default
2019-10-11 18:59:43 -04:00
Yotam Mann
3f53201906
noting range
2019-10-11 18:58:56 -04:00
Yotam Mann
2dab77c7a8
updating partialCount when partials is set
2019-10-09 17:32:37 -04:00
Yotam Mann
2753d3756b
the partials length is controllable by the partialCount
2019-10-09 17:06:57 -04:00
Yotam Mann
54059825ae
set the partials from the cache as well
2019-10-09 15:21:02 -04:00
Yotam Mann
47642ba51d
using floating point comparison
2019-10-09 13:00:16 -04:00
Yotam Mann
0f9bac5101
making it possible to have a release of time 0
2019-10-09 12:54:14 -04:00
Yotam Mann
b3875697b6
fixing path
2019-10-09 12:46:00 -04:00
Yotam Mann
682d263819
Wrapping properties to be able to test range before assignment
...
throw errors at time of assignment
2019-10-09 12:41:51 -04:00
Yotam Mann
f753aef015
Adding range test
2019-10-09 12:38:10 -04:00
Yotam Mann
3323a7574e
using the sig output instead of the destination
...
since some envelopes are silent
2019-10-09 10:06:17 -04:00
Yotam Mann
fc5b6f7c46
feat: Render a segment of the envelope as an array
2019-10-08 19:23:21 -04:00
Yotam Mann
9ad519ea10
feat: Get an oscillator wave as an array
2019-10-08 19:22:59 -04:00
Yotam Mann
2935f6567d
exporting NoiseSynth
2019-10-07 17:02:41 -04:00
Yotam Mann
1668decf70
feat: Convolver is just a wrapper around the ConvolverNode, no longer an effect
...
a more basic wrapper around the ConvolverNode which unlike the Convolver effect, does not have a dry/wet knob
2019-10-07 15:37:07 -04:00
Yotam Mann
34f731bf7b
testing being constructed with different voices
2019-10-07 15:01:22 -04:00
Yotam Mann
6ba7fb7fb3
including FMSynth in PolySynth
2019-10-07 13:57:09 -04:00
Yotam Mann
10469ba924
only dispose when things are in the only AudioContext
...
otherwise it leads to silence
addresses #551
2019-10-04 12:04:53 -04:00
Yotam Mann
467cc48c8c
adding isOffline flag
...
helpful for some behaviors which only occur in the online AudioContext
2019-10-04 11:51:52 -04:00
Yotam Mann
889dafa45e
feat: OfflineContext returns a ToneAudioBuffer
...
instead of an AudioBuffer
2019-10-03 18:03:21 -04:00
Yotam Mann
e98545a852
removing js file
2019-10-03 17:34:18 -04:00
Yotam Mann
70d11f4b1a
Don't dispose the synth in the offline context
2019-10-03 17:34:06 -04:00
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
92816c3bc2
increasing test threshold
2019-09-30 16:54:40 -04:00
Yotam Mann
7f090a3c4d
Merge branch 'pr/546' into typescript
2019-09-30 16:48:55 -04:00
Yotam Mann
13f2a6af68
getting all tests to pass
2019-09-30 16:48:39 -04:00
Yotam Mann
f6a17b878f
removing unnecessary assignment
2019-09-29 17:26:11 -04:00
Yotam Mann
a2153571c2
types: correcting typing
2019-09-29 17:25:55 -04:00
Yotam Mann
04405afd84
feat: Adding triggerRelease to PluckSynth
...
works by ramping the resonance down over the 'release' duration
2019-09-29 17:25:31 -04:00
Yotam Mann
18b90a00a2
changing var name and using 'swappable' property
2019-09-29 13:05:51 -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
5f41b0bc76
assert that there is a device
2019-09-29 10:35:46 -04:00
Yotam Mann
b379a20b6d
Using GainNode instead of gain
...
fixes #299
2019-09-29 10:30:57 -04:00
Yotam Mann
410098c075
removing old js file
2019-09-29 10:25:47 -04:00
Yotam Mann
13f08f8dc7
clarifying docs
2019-09-29 10:19:56 -04:00
Yotam Mann
f86f940987
adding categories
2019-09-29 10:19:35 -04:00
Yotam Mann
eb7b14fdc8
fixing docs
2019-09-29 10:19:08 -04:00
Yotam Mann
d88de11cfe
converting Follower to typescript
2019-09-27 18:22:11 -04:00
Yotam Mann
7c3582bea3
refactor: implementing FeedbackCombFilter with AudioWorkletNode
...
handles sub 128 sample feedback
2019-09-27 17:58:04 -04:00
Yotam Mann
4eb05a1ec0
using promise response instead of done()
2019-09-27 17:57:19 -04:00
Yotam Mann
726fb26f80
exporting comb filters
2019-09-27 17:55:31 -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
9eb395509c
style: using javascript string template interpreter for vscode
2019-09-27 17:50:49 -04:00
Jacob Clarke
420a3cd0e7
Added FMSynth and test
2019-09-27 23:36:26 +10:00
Yotam Mann
ce93214e43
using OnePoleFilter in LowpassCombFilter and PluckSynth
...
means an API change since dampening is no longer a signal rate parameter
2019-09-24 22:41:58 -04:00
Yotam Mann
52c0b7d56f
adding OnePoleFilter
...
does a single pole highpass and lowpass
addresses #531
2019-09-24 22:08:50 -04:00
Yotam Mann
ed367e0f9b
adding nominal range to properties
2019-09-24 17:21:59 -04:00
Yotam Mann
df24096376
filter rolloff enum
2019-09-24 17:18:52 -04:00
Yotam Mann
f2285a12b6
setting min and max range for properties
2019-09-24 17:12:46 -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
fdcda13e32
adding pluck synth to export
2019-09-21 13:10:25 -04:00
Yotam Mann
03aa301c75
adding filter rolloff type
2019-09-21 13:10:19 -04:00
Yotam Mann
70df9df641
fixing type for ratio
2019-09-21 13:09:06 -04:00
Yotam Mann
ec3c1381c5
removing unused stuff
2019-09-20 20:04:45 -04:00
Yotam Mann
0ffc5d65da
deleting old js files
2019-09-20 18:51:51 -04:00