Commit graph

577 commits

Author SHA1 Message Date
Yotam Mann
e4abe75851 validating constructor/method inputs 2016-09-25 21:36:32 -04:00
Yotam Mann
827fda3d00 more accurate handling of syncing to Transport start with an offset / duration 2016-09-25 12:35:57 -04:00
Yotam Mann
7565530987 start/stop/pause callbacks are invoked at the moment they occur
Previously they were invoked when the ‘start/stop/pause’ methods were
called.

Fixes #159
2016-09-24 11:48:28 -04:00
Yotam Mann
792f85bebd clock is an event emitter 2016-09-24 11:26:57 -04:00
Yotam Mann
5b9e01be5c Revert "making envelope tests not start on 0"
This reverts commit 244a4188e4.
2016-09-24 10:03:26 -04:00
Yotam Mann
244a4188e4 making envelope tests not start on 0 2016-09-24 00:01:17 -04:00
Yotam Mann
e3ca856764 additional TransportTime validations 2016-09-20 18:35:28 -04:00
Yotam Mann
cc232ce3c3 updated buses to use Gain. clearing send/recv on new AudioContext
testing that a gain can be passed in.
2016-09-19 23:30:43 -04:00
Yotam Mann
ebf0eb4f64 added Promise tests 2016-09-19 00:08:23 -04:00
Yotam Mann
6a951fa217 using 'emit' instead of 'trigger'
more similar to Node.js EventEmitter class
2016-09-18 20:07:00 -04:00
Yotam Mann
86fa6233c3 Time copy/clone tests 2016-09-18 19:41:41 -04:00
Yotam Mann
46fc0c732c testing LFO as value 2016-09-18 19:28:20 -04:00
Yotam Mann
81c65f0bb0 testing loaded 2016-08-19 18:03:13 -04:00
Yotam Mann
a1563b90af removing console log
[skip ci]
2016-08-18 22:35:39 -04:00
Yotam Mann
ff5ef1c045 toMilliseconds test 2016-08-18 11:41:15 -04:00
Yotam Mann
5f38177b9b testing error callbacks 2016-08-16 15:26:56 -04:00
Yotam Mann
e8f7020eaf sync tests 2016-08-15 23:13:09 -04:00
Yotam Mann
2c1e1167a6 buffer length is inconsistent on linux....
might be because it’s block aligned or something. broadening the test
to deal to deal with this.
2016-08-15 11:50:30 -04:00
Yotam Mann
1270727098 testing to/from Array methods 2016-08-15 10:23:01 -04:00
Yotam Mann
682ec0e46e get/set the progress in seconds 2016-08-15 07:28:52 -04:00
Yotam Mann
79a723cf03 removing effects test 2016-08-09 16:47:14 -04:00
Yotam Mann
27ad555987 chrome doesn't seem to like ratios over 20 2016-08-09 15:10:35 -04:00
Yotam Mann
601d89564d updated convolved name
[skip ci]
2016-08-09 14:59:38 -04:00
Yotam Mann
cdf64aeac3 using rest of effects tests on Convolver
using stereo sample for it
2016-08-09 14:25:20 -04:00
Yotam Mann
438abe481a added karma test baseUrl 2016-08-09 01:14:52 -04:00
Yotam Mann
464d64d13b Merge branch 'master' into dev 2016-07-20 15:44:34 -04:00
Yotam Mann
b266902bd7 can set the buffer 2016-07-20 15:42:55 -04:00
Yotam Mann
77e4111e19 adding additional compressor constructor test 2016-07-18 22:54:07 -04:00
Yotam Mann
dee059d4de validating pause->restart fix
addresses #145
2016-07-08 12:27:22 -04:00
Yotam Mann
99d7d2f8bd disconnects from a specific node
(tests this feature only when supported)
2016-07-06 23:39:06 -04:00
Yotam Mann
c08e16087f correctly setting PPQ
wasn’t taking into account that the returns bpm value was dependent on
the PPQ. therefore, need to read the bpm before setting the PPQ.
2016-07-06 23:23:14 -04:00
Yotam Mann
408f142be3 increasing timeout time
for very slow TravisCI server instances
2016-07-06 22:47:30 -04:00
Yotam Mann
3a7e51793e sampler tests
also allowing a constructor argument to be passed into the Instrument
tests
2016-07-06 22:33:07 -04:00
Yotam Mann
b06f50e9c6 removing redundant reverse test
already exists in player and buffer
2016-07-05 21:55:17 -04:00
Yotam Mann
dbc428a197 GrainPlayer tests 2016-07-05 20:33:01 -04:00
Yotam Mann
1ba3733439 interval is exclusive of end point
specifically the repeat time is: [start, start + duration).

so Transport.scheduleRepeat(fn, 1, 0, 2) will repeat twice, not three
times (since it’s exclusive of the end time).
2016-06-22 16:39:48 -04:00
Yotam Mann
ad17849389 testing retrigger with custom curve 2016-06-17 13:15:41 -04:00
Yotam Mann
74ebee4bfe MultiPlayer keeps track of all the BufferSources it's played 2016-06-15 00:48:55 -04:00
Yotam Mann
1f131625de already testing offset in Player 2016-06-14 20:58:22 -04:00
Yotam Mann
1efc061ebd explicitly stop the AudioBufferSource when duration is given 2016-06-14 20:43:26 -04:00
Yotam Mann
96644f37d2 Adjusting the timing of the tests
also using wav’s instead of mp3s
2016-06-14 20:27:12 -04:00
Yotam Mann
e0edb67a75 Wrapper around the basic AudioBufferSourceNode 2016-06-14 19:57:46 -04:00
Yotam Mann
5978d46825 Buffers is a data structure for holding multiple Tone.Buffer 2016-06-14 19:57:01 -04:00
Yotam Mann
cce32d7efc IntervalTimeline.forEachOverlap -> forEachAtTime 2016-06-13 09:02:51 -04:00
Yotam Mann
ed0e2960ad adjusting thresholds for test 2016-06-12 10:06:39 -04:00
Yotam Mann
eea938094c renaming cosine->sine and ease->sine
Fixes #69
2016-06-12 09:56:18 -04:00
Yotam Mann
49fc9d7bb6 renamed SimpleSynth to Tone.Synth 2016-05-23 19:49:41 -04:00
Yotam Mann
06dbbc03b7 testing new attack/release curves 2016-05-23 19:20:30 -04:00
Yotam Mann
10b9e7fa0f adjusting thresholds to accommodate a FF precision 2016-05-23 19:19:38 -04:00
Yotam Mann
f2ccded2e8 speeding up player tests
with shorter samples
2016-05-17 23:03:19 -04:00
Yotam Mann
e22ba03642 testing rampTo with additional time 2016-05-17 21:59:36 -04:00
Yotam Mann
4fc7646a40 adjusting tests with new unity level 2016-05-17 21:27:08 -04:00
Yotam Mann
6060b397ad added detune to PolySynth
applied when available.
2016-05-14 20:49:55 -04:00
Yotam Mann
b3e9ec173a added detune for AM/FM synths 2016-05-14 20:10:31 -04:00
Yotam Mann
cdebaeedf5 Can pass in an array of durations into triggerAttackRelease
Fixes #135
2016-05-14 19:55:51 -04:00
Yotam Mann
607656f276 increasing default timeout time 2016-05-14 19:22:25 -04:00
Yotam Mann
58a1223a9a meter uses the analyser node
no more ScriptProcessorNodes
2016-05-14 19:13:50 -04:00
Yotam Mann
24692aa343 can be muted in the constructor options 2016-05-14 17:46:21 -04:00
Yotam Mann
3ecd99ecb6 moving mute code to Volume 2016-05-14 17:34:23 -04:00
Yotam Mann
aacf62136b increasing testing time for signal scheduling 2016-05-14 17:34:03 -04:00
Yotam Mann
07184385f9 testing muting 2016-05-14 17:21:36 -04:00
Yotam Mann
9a0fbb1991 using more reliable Offline timing tests for quantization 2016-05-14 17:16:28 -04:00
Yotam Mann
11dd12f002 changing subdivision test to use Offline testing
more reliable than setTimeout
2016-05-14 17:00:31 -04:00
Yotam Mann
c83c70d11c cancels scheduling when setting a value with .value
this makes the behavior consistent between Webkit and FF
2016-05-14 16:52:58 -04:00
Yotam Mann
98e58d0576 switching argument position of type and size
type is more important a parameter.
2016-05-14 16:34:50 -04:00
Yotam Mann
b68f4d24f2 testing that time classes handle expressions 2016-05-14 16:30:40 -04:00
Yotam Mann
ce0f6fb2ec rewriting test to not use secondsToSamples 2016-04-18 02:39:06 -04:00
Yotam Mann
688e3812ab removing old types 2016-04-18 02:19:29 -04:00
Yotam Mann
a7f36314f2 tests using new Type 2016-04-18 02:18:36 -04:00
Yotam Mann
1e82abfaa2 CtrlInterpolate no longer interpolates notes 2016-04-18 02:07:24 -04:00
Yotam Mann
7a749dee0f tests accurately reset the PPQ each time 2016-04-18 02:04:48 -04:00
Yotam Mann
e582294937 testing if schedule methods accept TransportTime 2016-04-18 01:15:49 -04:00
Yotam Mann
5c2957d34b type tests 2016-04-18 00:34:35 -04:00
Yotam Mann
3f6580b843 simplifying NoiseSynth
removing filer and filterEnvelope
2016-04-18 00:28:39 -04:00
Yotam Mann
fdf39d4253 testing swing 2016-04-18 00:17:23 -04:00
Yotam Mann
a0d066032e Transport unnecessary dependency 2016-04-18 00:15:46 -04:00
Yotam Mann
ee39eb3ce7 wasDisposed ignores objects that are on the prototype 2016-04-18 00:15:26 -04:00
Yotam Mann
d27f5bb8d1 updating Transport tests with nextSubdivision changes 2016-04-13 13:06:57 -04:00
Yotam Mann
1ecf848c7a removing quantization tests from Type 2016-04-13 12:27:38 -04:00
Yotam Mann
b32e73a5fc fixed typo in test 2016-04-13 12:24:34 -04:00
Yotam Mann
68b1791222 moving interval to frequency test 2016-04-12 21:01:15 -04:00
Yotam Mann
9f4135404c updated testing README
[skip ci]
2016-03-29 19:42:31 -04:00
Yotam Mann
ddbba6cccc small typo corrections
Addresses #130

thanks @Joseworks
2016-03-29 19:27:14 -04:00
Yotam Mann
0e2c4fde9a a few more sanity checks for the polysynth 2016-03-21 15:20:04 -04:00
Yotam Mann
d722bdf555 offline testing sequences 2016-03-20 19:26:19 -04:00
Yotam Mann
c7e8551a2f removing conditional test for float waveform analysis 2016-03-20 19:03:18 -04:00
Yotam Mann
e18ed2e677 polyfill for browsers that don't support interpolate value curves
Required by [the
spec](http://webaudio.github.io/web-audio-api/#widl-AudioParam-setValueC
urveAtTime-AudioParam-Float32Array-values-double-startTime-double-durati
on), but not currently implemented by Safari and FF.
2016-03-20 18:36:59 -04:00
Yotam Mann
2285e6feb4 making clock tick more often in offline mode 2016-03-18 11:01:06 -04:00
Yotam Mann
906859b764 adjusting times to compensate for lookAhead 2016-03-18 10:27:48 -04:00
Yotam Mann
9b599642ca fudging times to compensate for lookAhead time 2016-03-18 10:23:49 -04:00
Yotam Mann
d98915ac38 increasing tick update rate for offline tests
makes the clock’s lookahead time come less in into play
2016-03-18 10:23:28 -04:00
Yotam Mann
96897c6a28 COMPLEX->ACCURATE
should be fixed with
https://bugzilla.mozilla.org/show_bug.cgi?id=1257718
2016-03-18 09:51:41 -04:00
Yotam Mann
0afbb59257 ifdef'ing some envelope tests on FF 2016-03-18 09:49:33 -04:00
Yotam Mann
edc3ad5a81 ifdef'ing tests based on current browser support 2016-03-16 13:13:32 -04:00
Yotam Mann
9c3398da49 noting which parts of the spec are supported in which browsers 2016-03-16 13:12:40 -04:00
Yotam Mann
86690eccdb testing setCurveAtTime 2016-03-05 10:44:10 -05:00
Yotam Mann
4a336e1675 using non-mp3s for testing 2016-03-05 00:07:17 -05:00
Yotam Mann
1946d737ae scheduling sequence test in the future 2016-03-05 00:01:29 -05:00
Yotam Mann
102913de14 using wave versions for testing
it’s the most cross-platform
2016-03-04 23:52:17 -05:00
Yotam Mann
abb300a249 cleaning up unused mp3s
This reverts commit f478be48b0.
2016-03-04 23:31:23 -05:00
Yotam Mann
a0c49b0286 adjusting ranges
so FF passes more consistently.
2016-03-04 19:31:21 -05:00
Yotam Mann
b29e543458 removing test which doesn't pass on Chromium
(for now)
2016-03-04 19:20:36 -05:00
Yotam Mann
f478be48b0 switching to mp3 for testing 2016-03-04 19:07:08 -05:00
Yotam Mann
aa1b5123aa fixing panner for browsers that don't support stereo panner 2016-03-04 18:59:31 -05:00
Yotam Mann
df9c213c33 adding karma testing files and hooks 2016-03-04 16:25:44 -05:00
Yotam Mann
45a82a4965 removing setTimeouts where possible
replacing it with new Offline
2016-03-04 16:00:05 -05:00
Yotam Mann
26db6d9377 testing envelope canceling 2016-03-04 15:54:39 -05:00
Yotam Mann
07f8f227cf .events -> .values 2016-03-04 15:35:10 -05:00
Yotam Mann
cea06ca26c moving event classes to Offline testing 2016-03-04 15:31:48 -05:00
Yotam Mann
dd3b35b430 testing if stopping before starting will cancel the sound
addresses #121
2016-03-03 13:04:36 -05:00
Yotam Mann
2020194a1c testing and handling edge cases 2016-03-03 13:00:59 -05:00
Yotam Mann
b29c297398 using new Offline testing 2016-03-03 01:37:44 -05:00
Yotam Mann
621242c17d removing log 2016-03-03 01:37:07 -05:00
Yotam Mann
0ed5591338 slicker syntax than other Offline test 2016-03-03 01:36:46 -05:00
Yotam Mann
ac9c4a3360 offline test adjusts 'now' method to allow for offline testing
previously these things needed to be tested in real-time. now can be
tested faster than real time
2016-03-03 01:36:31 -05:00
Yotam Mann
e8eb147935 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2016-02-27 17:19:26 -05:00
Yotam Mann
115b9376ab Panner is now between -1 and 1
Same as the Web Audio API.
2016-02-27 11:31:15 -05:00
Yotam Mann
ba2ee5deff merge needs both sides connected
updating test to reflect that.
2016-02-27 11:27:59 -05:00
Yotam Mann
acd0f89d83 updating tests to compensate for 0 gain optimization 2016-02-27 11:27:17 -05:00
Yotam Mann
5389ad0add removing unused tests 2016-02-27 11:26:48 -05:00
Yotam Mann
553b11a4d9 Zero tests 2016-02-27 11:22:49 -05:00
Yotam Mann
ed7e4839f2 removing tests of old signal classes 2016-02-27 11:19:41 -05:00
Yotam Mann
1e4a2375ff sanity checks on MultiPlayer 2016-02-08 13:44:49 -05:00
Yotam Mann
ce148de513 basic sanity checks for PolySynth 2016-02-08 13:44:49 -05:00
Yotam Mann
ecd15808c2 simplified Abs
now only accepts signals in the range [-1,1]
2016-02-06 15:06:03 -05:00
Yotam Mann
abc62d3962 Merge pull request #115 from hiddedejong/PartOffset
fixed start offset in Tone.Part, now behaves like Tone.Player
2016-02-01 22:28:59 -05:00
Yotam Mann
f622ce79fe testing for discontinuities.
addresses #116
2016-01-31 23:41:10 -05:00
Hidde de Jong
523634106c added test for starting Tone.Part with an offset before loopStart 2016-01-31 23:05:03 +01:00
Yotam Mann
7338775540 removing SimpleAM and SimpleFM
These synths are very similar to AM/FMSynth. Plus, the new FMOscillator
type available in SimpleSynth makes it already a Simple FM/AM Synth.
2016-01-30 15:54:59 -05:00
Yotam Mann
46919e7c86 Simplifying the API of FMSynth and AMSynth
uses SimpleSynth instead of MonoSynth. API more flat.
2016-01-30 15:53:40 -05:00
Yotam Mann
2f4d6d07cd DrumSynth->MembraneSynth & CymbalSynth->MetalSynth 2016-01-30 15:48:32 -05:00
Yotam Mann
247c2ff5b3 CymbalSynth tests 2016-01-19 10:02:54 -05:00
Yotam Mann
4fe2304edd test that the instrument is silent before being triggered. 2016-01-18 22:47:09 -05:00
Yotam Mann
bb64bd307f ensuring the envelope is silent
not just quiet.
2016-01-18 22:46:50 -05:00
Yotam Mann
9f785b371e removing deprecated methods 2016-01-18 22:45:46 -05:00
Yotam Mann
e0a8e98554 testing that audio doesn't clip in any oscillator 2016-01-18 00:27:30 -05:00
Yotam Mann
5a772466ae 3 new oscillator types
and combined them into the OmniOscillator
2016-01-17 22:43:44 -05:00
Yotam Mann
3215e5db25 testing that envelope is silent while not triggered
Addresses #109
2016-01-16 15:39:48 -05:00
Yotam Mann
5eb590da27 increasing tolerance for test 2015-12-08 00:07:29 -05:00
Yotam Mann
eda4553169 using baseFrequency and octaves for AutoFilter 2015-12-07 11:46:34 -05:00
Yotam Mann
d29995a42a phaser uses octaves instead of depth.
more consistent with rest of API.
2015-12-07 01:04:09 -05:00
Yotam Mann
2664140ab0 implementing filterEnvelope with Tone.FrequencyEnvelope 2015-12-07 00:39:39 -05:00
Yotam Mann
307dd6632c FrequencyEnvelope is like ScaledEnvelope but with baseFrequency and octaves instead of min and max 2015-12-07 00:23:21 -05:00
Yotam Mann
f7547217c8 Timeline has an optional memory length 2015-12-06 23:48:53 -05:00
Yotam Mann
298799dee9 added 'spread' to Chorus 2015-12-06 20:53:36 -05:00
Yotam Mann
23dd869b30 testing 'spread' 2015-12-06 17:37:45 -05:00
Yotam Mann
a4f1bd4274 testing Timeline updates 2015-12-06 17:23:30 -05:00
Yotam Mann
8bb2ee9b02 testing playbackRate 2015-12-06 13:14:36 -05:00
Yotam Mann
5e9d79eee3 Revert "testing playbackRates"
This reverts commit 102491c898.
2015-12-06 13:14:36 -05:00
Yotam Mann
501bf3c516 wider tolerance for testing 2015-12-06 13:14:36 -05:00
Yotam Mann
8231fc5cf3 fixing and testing start offset for non-looping parts 2015-11-26 08:42:33 -08:00
Yotam Mann
f545fcdf90 additional Event testing 2015-11-26 08:27:50 -08:00
Yotam Mann
7f660730df removing exponent member 2015-11-17 22:51:32 -05:00
Yotam Mann
a4e0b65992 testing new Emitter style 2015-11-11 12:33:11 -05:00
Yotam Mann
102491c898 testing playbackRates 2015-11-10 23:47:20 -05:00
Yotam Mann
1b05129595 testing rests 2015-11-10 23:01:24 -05:00
Yotam Mann
d98b560403 Testing loading with a Tone.Buffer and AudioBuffer
Addresses #100
2015-11-05 15:44:11 -05:00
Yotam Mann
f7764cee14 updating testing flags 2015-11-04 15:59:09 -05:00
Yotam Mann
6795161220 using random index in randomOnce
fixes scenario where the values change or the array changes sizes.
2015-11-03 19:40:45 -05:00
Yotam Mann
53bb99d404 Tone.Pattern tests 2015-11-03 19:15:55 -05:00
Yotam Mann
89f4e738fc control tests 2015-11-03 19:14:15 -05:00
Yotam Mann
1ec77d3122 event Tests 2015-11-03 18:38:14 -05:00
Yotam Mann
2e3e534e1e Note->Event 2015-11-02 21:53:39 -05:00
Yotam Mann
afba7d77d2 toRemove array
This fixes issues where an event is removed mid loop.
2015-11-02 20:08:20 -05:00
Yotam Mann
67221f8f39 Delay no longer extends Tone.Param 2015-11-02 09:31:12 -05:00
Yotam Mann
6bc630398e testing new Gain/Volume APIs 2015-11-01 17:50:14 -05:00
Yotam Mann
6b47264cd2 testing quantization with toSeconds 2015-10-27 21:08:18 -04:00
Yotam Mann
51105917e3 testing more accurate quantization 2015-10-27 20:58:21 -04:00
Yotam Mann
64f6ad9c5e quantization tests 2015-10-27 17:49:00 -04:00
Yotam Mann
bfa4f1ada2 renaming EventEmitter to just Emitter 2015-10-27 17:40:52 -04:00
Yotam Mann
8e4a47da29 testing passing in Tone to delay 2015-10-23 13:49:26 -04:00
Yotam Mann
775e877cfa testing for object literals and not class instances 2015-10-21 13:52:19 -04:00
Yotam Mann
61494a876a test passing in a Tone.Buffer 2015-10-21 13:52:03 -04:00
Yotam Mann
2e5c3ea503 adding tests README 2015-10-21 13:14:19 -04:00
Yotam Mann
2a574c78bf type checking tests 2015-10-21 13:13:59 -04:00
Yotam Mann
52d7cff014 testing unit conversion 2015-10-21 13:13:47 -04:00
Yotam Mann
e58a016c16 testing new classes and APIs 2015-10-21 10:55:56 -04:00
Yotam Mann
cd3ae4f860 Timeline signal using new Tone.Param 2015-10-21 10:53:43 -04:00
Yotam Mann
532a8e6745 Gain class wraps native GainNode 2015-10-21 10:02:23 -04:00
Yotam Mann
a3a7175f41 pass Frequency to AutoFilter's min/max 2015-10-20 17:31:10 -04:00
Yotam Mann
b061b81983 can get state of LFO 2015-10-20 17:30:20 -04:00
Yotam Mann
6d746f5dea forEachFrom tests 2015-10-11 16:03:30 -04:00
Yotam Mann
02e88315ee testing loop progress 2015-10-09 19:09:22 -04:00
Yotam Mann
aa692f2214 adjusting test tolerence
now more tests pass on FF
2015-10-09 10:58:08 -04:00
Yotam Mann
1601c1f4ac set original context even after test failure 2015-10-09 10:57:37 -04:00
Yotam Mann
d3cb326a36 more testing defaultArg and optionsObject 2015-10-08 11:36:34 -04:00
Yotam Mann
8a7195e962 canGetUserMedia -> supported
also handling MediaStream.stop deprecation
2015-09-30 13:47:42 -04:00
Yotam Mann
dde05195a9 Microphone and ExternalInput tests 2015-09-18 17:19:24 -07:00
Yotam Mann
4df691ef8f testing looping and duration parameter 2015-09-11 17:07:28 -04:00
Yotam Mann
2f0f5338aa renaming Types->Type in tests 2015-09-11 17:05:50 -04:00
Yotam Mann
1399922d02 testing getEventAfter and getEventBefore 2015-09-05 19:17:21 -04:00
Yotam Mann
371199d082 testing deprecated methods 2015-09-05 15:15:16 -04:00
Yotam Mann
7ba1f3c148 testing events 2015-09-05 15:07:31 -04:00
Yotam Mann
dbcf9cb44e stress testing IntervalTimeline 2015-09-05 15:07:19 -04:00
Yotam Mann
61adf986ff testing new off feature 2015-09-05 15:07:06 -04:00
Yotam Mann
eccdb659c2 renamed Tone/core/Types -> Tone/core/Type 2015-09-04 16:48:21 -04:00
Yotam Mann
fc973297b0 IntervalTimeline testing 2015-09-04 16:18:07 -04:00
Yotam Mann
7393a59410 cancel <-> clear
clear removes an ID and cancel cancels events after the given time. API
is now more consistent with the Web Audio’s cancelScheduledValues
2015-09-03 16:56:05 -04:00
Yotam Mann
d47de33755 Envelope .value test 2015-09-03 10:54:32 -04:00
Yotam Mann
df98e0ba24 cleaning up duplicate tests 2015-09-03 10:24:49 -04:00