Commit graph

2642 commits

Author SHA1 Message Date
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
Yotam Mann
4d5b63d97e adding categories for docs 2019-09-20 18:51:45 -04:00
Yotam Mann
1dd208c1ea converting UserMedia to ts 2019-09-20 18:51:17 -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
d612d9a793 using const instead of var 2019-09-20 17:56:21 -04:00
Yotam Mann
2365894608 Merge branch 'pr/543' into typescript 2019-09-20 17:55:50 -04:00
Yotam Mann
2b86adafb2 small linting and docing 2019-09-20 17:55:36 -04:00
Yotam Mann
f8e7a81490 linting 2019-09-20 17:50:14 -04:00
Yotam Mann
dd22e298e5 exporting debug 2019-09-20 17:49:54 -04:00
Yotam Mann
26855a9398 using the clocks ticks instead of tracking offset
addresses #544
2019-09-20 17:46:30 -04:00
Yotam Mann
72b9604d8e using epsilon floating point comparisons 2019-09-20 17:45:22 -04:00
Yotam Mann
c35666c6fa moving epsilon comparisons to it's own file 2019-09-20 17:44:55 -04:00
Yotam Mann
9625492b2f including GrainPlayer in export 2019-09-20 11:06:40 -04:00
Yotam Mann
82ae4930af adding some additional coverage tests 2019-09-20 10:11:03 -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
4be7043bea testing matching within small epsilon 2019-09-20 00:19:38 -04:00
Yotam Mann
f1a0990ee9 comparisons all done within some small epsilon
fixes floating point errors
fixes #422
2019-09-20 00:19:19 -04:00
Yotam Mann
315070afca implemented the TODO feature
removing comment
2019-09-20 00:18:02 -04:00
Yotam Mann
df35666759 simplifying time math
since the time is already computed into seconds
2019-09-20 00:17:28 -04:00
Yotam Mann
0e0073b75b adding logging for restart 2019-09-20 00:16:45 -04:00
Yotam Mann
3f6bcd9438 undoing additional lookAhead
turns out to not be necessary
2019-09-20 00:16:03 -04:00
Filipe Herculano
090177efdd update Pow to extend SignalOperator instead 2019-09-19 20:49:02 -04:00
Yotam Mann
70efec4637 add an additional lookAhead to the onended callback
this fixes an issue where the source was scheduled to stop in the time between the current time and the lookAhead time.

fixes #422
2019-09-19 18:22:44 -04:00
Yotam Mann
1426da90c4 adding restart method
with test
2019-09-19 17:09:30 -04:00
Yotam Mann
be4bf84369 inforce increase in time 2019-09-19 16:56:48 -04:00
Yotam Mann
3ab260de90 import transport for the side effects 2019-09-19 16:55:57 -04:00
Yotam Mann
5d128470c5 convert GrainPlayer to typescript 2019-09-19 16:55:46 -04:00
Yotam Mann
ace049a9a2 render just the clock portion without the audio 2019-09-19 16:55:09 -04:00
Yotam Mann
7a85c4b68a some debugging 2019-09-19 16:53:53 -04:00
Yotam Mann
38ef65fcb2 TimelineValue holds a single schedulable value
get/set based on time.
2019-09-18 11:15:10 -04:00
Yotam Mann
cf957ff37e Looping is a schedulable parameter
fixes #448
2019-09-17 19:33:41 -04:00
Yotam Mann
4c9e6cbd4e testing the interval 2019-09-17 15:34:40 -04:00
Yotam Mann
abc6ef0e2b removing old classes 2019-09-17 14:46:35 -04:00
Yotam Mann
e44005138d quote props only when needed 2019-09-17 14:46:26 -04:00
Yotam Mann
64189a8685 converting Loop to typescript 2019-09-17 14:45:58 -04:00
Yotam Mann
1709f46d83 testing progress when not looping 2019-09-17 14:18:05 -04:00
Yotam Mann
d119f67356 testing signal syncing 2019-09-17 14:13:42 -04:00
Yotam Mann
142e169e74 initialize the context before closing it 2019-09-17 14:07:34 -04:00
Yotam Mann
d82d715c64 testing out the max cache-size for the oscillator periodic wave 2019-09-17 14:04:32 -04:00
Yotam Mann
c5d1920d93 adding category to docs 2019-09-17 13:55:51 -04:00
Yotam Mann
9ea47a6905 removing unused imports 2019-09-17 13:54:30 -04:00
Yotam Mann
0bb0f3c591 linting 2019-09-17 13:54:24 -04:00
Yotam Mann
6edc34af0b Merge branch 'pr/537' into typescript 2019-09-17 13:53:08 -04:00
Yotam Mann
e52c588386 updating typing 2019-09-17 13:52:57 -04:00
Yotam Mann
d435dcae96 linting 2019-09-17 13:40:07 -04:00
Yotam Mann
7c20589ea0 Merge branch 'pr/538' into typescript 2019-09-17 13:37:58 -04:00
Yotam Mann
536dbb7406 updating comments and typing 2019-09-17 13:37:43 -04:00
Yotam Mann
5ed8c19f7c testing returns some keys, but not ones that are omitted 2019-09-17 12:21:27 -04:00
Yotam Mann
470e906d15 doesn't require a custom get function
testing that it gets all of the attributes
2019-09-17 12:21:00 -04:00
Yotam Mann
44cbe181df removing props which are not in the default obj 2019-09-17 12:20:37 -04:00
Filipe Herculano
c5dc4fa2ca fix set to use exponent instead of value 2019-09-17 10:02:43 -04:00
Filipe Herculano
c59a12ced6 Merge branch 'typescript' of https://github.com/Tonejs/Tone.js into typescript 2019-09-16 18:18:32 -04:00
Filipe Herculano
00a936de0f convert Pow to typescript 2019-09-16 18:18:03 -04:00
Yotam Mann
069a114a31 fixing indentation 2019-09-16 11:09:44 -04:00
Yotam Mann
82b2376959 updating categories 2019-09-16 11:05:24 -04:00
Yotam Mann
36db2c3cdc updating example 2019-09-16 10:49:35 -04:00
Yotam Mann
dfcbfae824 adding Event category 2019-09-16 10:49:30 -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
be9fba41b7 updating docs 2019-09-15 14:39:55 -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
1bde88a19b linting 2019-09-14 18:12:44 -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
829a7ebd2c fixing compressor test 2019-09-12 16:05:47 -04:00
Yotam Mann
39f3f42b64 Revert "Merge branch 'pr/542' into typescript"
This reverts commit b94d590a0b, reversing
changes made to 9be3ffeb05.
2019-09-12 16:03:35 -04:00
Yotam Mann
b94d590a0b Merge branch 'pr/542' into typescript 2019-09-12 15:56:05 -04:00
Yotam Mann
9be3ffeb05 removing js files 2019-09-12 15:54:28 -04:00
Yotam Mann
a15042d290 exporting options 2019-09-12 15:53:30 -04:00
Yotam Mann
dd105d4622 hiding unused variables 2019-09-12 15:53:21 -04:00
Yotam Mann
f6749c043f updating types 2019-09-12 15:53:05 -04:00
Yotam Mann
65b98d9923 updating docs 2019-09-12 15:52:57 -04:00
Yotam Mann
6c67ebd9ec fixing example 2019-09-12 15:52:47 -04:00
Yotam Mann
7aa426e973 Updating docs 2019-09-12 15:52:38 -04:00
Jack Anderson
7e6ea23f49 optimize Tone.isObject
- this should be about 25% faster
- taken from https://github.com/jonschlinkert/isobject
- custom perf test: https://jsbench.me/24k0gdoxa6/1
2019-09-12 09:45:41 -07:00
Yotam Mann
55733930cd fixing typo
testing that it works
2019-09-10 22:42:04 -04:00
Yotam Mann
89fcc3d7af converting Mono to typescript 2019-09-10 22:38:48 -04:00
Yotam Mann
fd75074ab0 testing 'off' without an 'on' 2019-09-10 10:45:41 -04:00
Yotam Mann
e85b59755e converting PanVol to ts 2019-09-10 10:34:47 -04:00
Yotam Mann
7f2dbbcb25 removing js file 2019-09-10 10:08:09 -04:00
Yotam Mann
8205db5485 removing unused var 2019-09-10 10:08:01 -04:00
Yotam Mann
3d26c3adba converting Solo to ts 2019-09-10 10:07:50 -04:00
Yotam Mann
daf340ba69 invoke the onloaded promise deferred when the samples are already loaded 2019-09-10 00:16:58 -04:00
Yotam Mann
7f1d529918 removing unused dep 2019-09-10 00:16:23 -04:00
Yotam Mann
92cb3b1542 invoke onload if the buffers object is already fully loaded 2019-09-10 00:07:10 -04:00
Yotam Mann
77c6a18cd8 changing name of unused var 2019-09-10 00:06:52 -04:00
Yotam Mann
05f83239d2 removing old js file 2019-09-09 23:51:44 -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
4453025efc testing that it can be constructed with an AudioBuffer 2019-09-09 23:42:04 -04:00
Yotam Mann
1152ee1ad6 converting Players to typescript 2019-09-09 23:39:32 -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
2aa03e5805 removing old classes 2019-09-09 23:20:54 -04:00
Yotam Mann
e970d59c98 adding DCMeter which tests a signal output instead of returning a decibel or waveform value
replaces getValue method of Meter
2019-09-09 19:28:39 -04:00
Yotam Mann
f2f1530ad1 Adding MeterBase class to reuse some code 2019-09-09 19:27:45 -04:00
Yotam Mann
bf84a38c19 add function to test if method returns warning 2019-09-09 19:27:14 -04:00
Yotam Mann
51f714e505 adding the ability to convert the output to normalRange instead of decibel 2019-09-09 18:30:53 -04:00
Yotam Mann
52a5417ff9 converting FFT to typescript 2019-09-09 18:24:07 -04:00
Yotam Mann
3b52805812 making constructor arg optional 2019-09-09 18:23:48 -04:00
Yotam Mann
a37f5b919b converting Meter to ts 2019-09-09 17:53:39 -04:00
Yotam Mann
08d5170501 converting Panner3D to typescript 2019-09-08 15:17:20 -04:00
Yotam Mann
fd35fa6383 removing test code 2019-09-08 14:38:17 -04:00
Yotam Mann
c05fd4b3e2 pointing at correct output 2019-09-08 14:12:01 -04:00
Yotam Mann
93b5e1bcf5 removing unneeded comment 2019-09-08 14:08:33 -04:00
Yotam Mann
58a7d090a7 using updated param generic 2019-09-08 14:08:25 -04:00
Yotam Mann
f96f5ff892 pointing to updated param as input 2019-09-08 14:08:18 -04:00
Yotam Mann
8669f2b28e specifying type in Param generic 2019-09-08 14:07:58 -04:00
Yotam Mann
a7d5bdbabf updating types 2019-09-08 13:49:28 -04:00
Yotam Mann
62d3783ba5 removing unused params 2019-09-08 13:49:19 -04:00
Yotam Mann
1c809914d8 fixing typos 2019-09-08 13:48:31 -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
daf97ae603 adding TickParam class
used by TickSignal and TickSource
2019-09-07 19:16:04 -04:00
Yotam Mann
22c95e21bc removing unused import 2019-09-07 17:57:45 -04:00
Yotam Mann
eb2c352187 adding defaultValue test 2019-09-06 17:16:54 -04:00
Yotam Mann
2f55cc2ec2 wrap the native ConstantSourceNode into ToneConstantSource
gets more consistent onended callback and other syntactic sugar
2019-09-06 17:10:32 -04:00
Yotam Mann
66d08cbdcb fixing typos in comments 2019-09-06 16:20:23 -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
e60d7ffdb1 fixing typedefs 2019-09-06 14:59:21 -04:00
Yotam Mann
336d1b71db PolySynth uses new context.setInterval 2019-09-06 14:55:20 -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
651dd956e0 CtrlPattern -> PatternGenerator
CtrlPattern is now a generator that iterates over the given array in a pattern
2019-09-05 23:54:26 -04:00
Yotam Mann
81d53ac6e6 remove old js files 2019-09-05 23:53:34 -04:00
Yotam Mann
c27a426daf converting distortion to typescript 2019-09-05 22:11:02 -04:00
Yotam Mann
95c45a5b7a adding more documentation to Tone.start 2019-09-05 14:46:26 -04:00
Yotam Mann
1e37601d5d converting LFO to typescript 2019-09-04 22:57:27 -04:00
Yotam Mann
b2b8a32c91 expose getInitialValue
returns the value of the oscillator before it's started
2019-09-04 20:01:16 -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
51291538a8 renaming file to match class name 2019-09-04 18:39:28 -04:00
Yotam Mann
75a35108af name is a readonly string 2019-09-04 18:38:04 -04:00
Yotam Mann
a8962eb824 also export Options 2019-09-04 18:34:42 -04:00
Yotam Mann
1285fb19ed exporting options and class 2019-09-04 18:29:24 -04:00
Yotam Mann
0f31c77923 ability to use MetalSynth in PolySynth 2019-09-04 18:29:11 -04:00
Yotam Mann
10710d8f4c Test against the old polysynth API
notifies people of the update
2019-09-04 11:59:30 -04:00
Yotam Mann
cca7d10566 adding sync test and test long enough to test out the GC process 2019-09-03 23:07:44 -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
8e76c0517b adding MetalSynth export 2019-09-03 21:52:23 -04:00
Yotam Mann
f85adf5dda resonance is a Frequency 2019-09-03 20:32:44 -04:00
Yotam Mann
e414ce891a convert MetalSynth to ts and extend Monophonic instead of instrument
fixes #486

thank you for the typescripting @jacobclarke92!
2019-09-03 20:20:08 -04:00
Yotam Mann
c167f1a0e1 detune can be passed into the options object 2019-09-03 20:09:46 -04:00
Yotam Mann
6c54f7b3ad pass in the detune value 2019-09-03 20:09:19 -04:00
Yotam Mann
8ec8ba4a13 Merge branch 'pr/535' into typescript 2019-09-03 19:36:26 -04:00
Yotam Mann
26f931b3ed PolySynth automatically disposes unused voices
expands to the maxPolyphony and will reduce back to 0 allocated voices if unused.
2019-09-03 19:29:59 -04:00
Jacob Clarke
f128fae51e Converted PluckSynth to TS + filter deps: FeedbackCombFilter, LowpassCombFilter (could not make tests for filters yet due to other issues with ToneWithContext 2019-09-01 21:17:32 +10:00
Jacob Clarke
e49cb07607 Tidied up MetalSynth and restored original comments 2019-09-01 19:19:19 +10:00
Jacob Clarke
d4b0604eb0 Restored some comments 2019-09-01 18:58:56 +10:00
Jacob Clarke
9d95738497 Converted NoiseSynth and test file to ts 2019-09-01 16:27:50 +10:00
Jacob Clarke
d7578f62b0 MetalSynth done, extends Monophonic now 2019-09-01 16:10:32 +10:00
Jacob Clarke
a6fdd24c92 MetalSynth almost done, incomplete triggerAttack function 2019-09-01 14:20:20 +10:00
Yotam Mann
f0f997c09d swapping constructor order
easier to read in the docs
2019-08-30 09:34:04 -07:00
Yotam Mann
2ff888d3b3 adding type classes
and basic sanity check
2019-08-30 09:28:45 -07:00
Yotam Mann
544f184b21 updating docs 2019-08-30 09:16:41 -07:00
Yotam Mann
c9d757aaa6 removing references to "@private"
old jsdoc comments
2019-08-30 09:08:29 -07:00
Yotam Mann
3e2de8f259 fixing spacing
typedoc wants one space before the "@"
2019-08-30 09:06:38 -07:00
Yotam Mann
48ec3f9320 exporting all options 2019-08-30 09:04:03 -07:00
Yotam Mann
5bdbda9c1c updating docs 2019-08-30 09:03:42 -07:00
Yotam Mann
d073b68b09 fromContext returns the Tone.js objects bound to the passed in context
WIP
2019-08-30 09:03:08 -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
4e156e949d moving class imports to another file 2019-08-30 09:01:51 -07:00
Yotam Mann
1dba46a822 removing converting files 2019-08-27 10:06:34 -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
1bf6fb0d51 updating docs 2019-08-27 09:00:59 -07:00
Yotam Mann
b4c2153749 updating docs 2019-08-27 08:58:40 -07:00