Commit graph

2604 commits

Author SHA1 Message Date
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
Yotam Mann
539a5c45d8 updating docs 2019-08-27 08:57:00 -07:00
Yotam Mann
603bc5b98d updating docs 2019-08-27 08:53:14 -07:00
Yotam Mann
d57dd7e07a updating docs 2019-08-27 08:47:52 -07:00
Yotam Mann
a54ab4ea68 using typechecks from standardized-audio-context 2019-08-26 16:52:21 -07:00
Yotam Mann
3fc30c4884 Merge branch 'dev' into typescript 2019-08-26 11:05:12 -07:00
Yotam Mann
0c805aec7b setContext takes a context or AudioContext or OfflineAudioContext 2019-08-26 10:55:43 -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
4c106930e0 adding typedocs 2019-08-21 13:59:01 -07:00
Yotam Mann
e6635058d5 adding readonly to name 2019-08-21 13:44:12 -07:00
Yotam Mann
b018cac113 adding categories 2019-08-21 13:01:12 -07:00
Yotam Mann
8acc11781b moving params to above constructor 2019-08-21 13:00:44 -07:00
Yotam Mann
e60526c006 fixing typing 2019-08-20 22:51:08 -07:00
Yotam Mann
ff5360f408 converting Panner to ts 2019-08-20 22:50:12 -07:00
Yotam Mann
f1a5c839b9 adding effects tests 2019-08-20 22:23:01 -07:00
Yotam Mann
bea5f32a5c setting channelCount to 1 and mode to "explicit"
fixes issue with std-audio-context and stereo panner
2019-08-20 22:22:52 -07:00
Yotam Mann
1bfdf190d7 FrequencyShifter
whoops forgot to include the file in the last commit
2019-08-20 22:02:34 -07:00
Yotam Mann
77a745e09e FrequencyShifter Effect
thanks @Foaly
2019-08-20 21:57:45 -07:00
Yotam Mann
afb9d1726e converting PhaseShiftAllpass to typescript 2019-08-20 11:19:23 -07:00
Yotam Mann
1439c988e8 Merge branch 'pr/521' into typescript 2019-08-19 19:02:07 -07:00
Yotam Mann
9982db3d1b adding fadein/out to noise 2019-08-19 18:50:11 -07:00
Maximilian Wagenbach
bb8296d890 Mention antialiasing of the FrequencyShifter in the documentation. 2019-08-19 17:18:27 -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
c2e7c3af04 linting 2019-08-19 10:11:48 -07:00
Yotam Mann
c353df6d5a skip this test
for now
2019-08-19 10:04:28 -07:00
Yotam Mann
94a9f78704 don't merge object when the type is AudioParam, AudioNode or AudioBuffer
addresses standardized-audio-context/#642
2019-08-19 10:04:21 -07:00
Yotam Mann
560ac489af moving tests to AdvancedTypeCheck 2019-08-19 10:01:37 -07:00
Yotam Mann
05586661b3 adding types 2019-08-19 09:59:31 -07:00
Yotam Mann
fd1bbb708b overloaded offline constructor 2019-08-19 09:59:07 -07:00
Yotam Mann
cf6a4a8e69 export reverb 2019-08-16 16:17:27 -04:00
Yotam Mann
f9b433c4cf swapping order so that options are used 2019-08-16 15:35:52 -04:00
Yotam Mann
fb38cd4034 adding MembraneSynthOptions to PolySynth 2019-08-16 15:21:09 -04:00
Yotam Mann
68d650862d MembraneSynth extends Synth
addresses #486

Saves some code and enables use in PolySynth
2019-08-16 15:15:14 -04:00
Yotam Mann
c56bef48c4 converting MembraneSynth to ts 2019-08-16 13:57:38 -04:00
Yotam Mann
74ae46a7d4 adding interface to deepMerge which reflects the merging interfaces 2019-08-16 13:57:17 -04: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
4a811bb5aa updating docs 2019-08-15 19:22:49 -04:00
Yotam Mann
6ae86b1c46 converting compressor to ts 2019-08-15 19:18:09 -04:00