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 |
|