Commit graph

1042 commits

Author SHA1 Message Date
Yotam Mann
c4abd54719 ignoring UserMedia tests on Safari 2017-12-28 18:44:14 -05:00
Yotam Mann
1c45f13f12 test validating using Tone.Frequency into triggerAttack
addresses #219
2017-12-27 17:41:10 -05:00
Yotam Mann
83ec5d3288 transpose and harmonize Midi notes 2017-12-27 17:29:26 -05:00
Yotam Mann
4d8812ee02 transpose and harmonize a Tone.Frequency
fixes #219
2017-12-27 17:29:10 -05:00
Yotam Mann
40891fb865 using clock seconds
they are accurate even during bpm automation curves
2017-12-27 16:24:27 -05:00
Yotam Mann
32d5451293 ability to get/set ticks at a given time. more accurate seconds counter using elapsed ticks. 2017-12-27 16:23:39 -05:00
Yotam Mann
60cdeaa5f3 converting between ticks and seconds during automation curves
fixes #169
2017-12-27 16:21:45 -05:00
Yotam Mann
65599f8c68 adjusting testing threshold 2017-12-27 16:20:56 -05:00
Yotam Mann
3dadafaf87 verifying getTimeOfTick 2017-12-27 11:47:03 -05:00
Yotam Mann
8dbaf71d89 forEachBetween iterator 2017-12-27 11:46:27 -05:00
Yotam Mann
f6bd45036e increasing number of segments in exponential and approach ramps 2017-12-25 14:43:59 -05:00
Yotam Mann
e61a4c5fe2 renaming to getTicksAtTime 2017-12-21 15:13:43 -05:00
Yotam Mann
d4afe1e6ee Tone.Midi is primitive type for Midi notes 2017-12-17 14:48:25 -05:00
Yotam Mann
b3f1b73250 testing dotted notes 2017-12-17 13:24:52 -05:00
Yotam Mann
cee2d3da3a TransportTime returns seconds instead of Ticks
introducing Ticks for tick representation
2017-12-17 13:24:34 -05:00
Yotam Mann
32374fe27a constructor can take another type and convert it to target type 2017-12-17 13:23:31 -05:00
Yotam Mann
ade2778082 Tone.Ticks extends TransportTime 2017-12-17 13:17:46 -05:00
Yotam Mann
ac6af1cf56 simplifying TimeBase classes. No longer evaluate expressions 2017-12-16 14:31:09 -05:00
Yotam Mann
933fa95b45 define loopStart/End, subdivision and interval in terms of seconds 2017-12-16 14:23:08 -05:00
Yotam Mann
41eeb9884f adding min/maxValue to Param 2017-12-16 13:09:52 -05:00
Idicious
43c2e9b449 Increased general accurary of dbToGain method + updated test cases. (#279)
* Increased general accurary of dbToGain method + updated test cases.

* Increased test accuracy
2017-12-16 00:04:50 -05:00
Yotam Mann
b929b26ca4 can pass in an unloaded Tone.Buffer into Convolver constructor
fixes #277
2017-12-15 23:36:39 -05:00
Yotam Mann
e4380a048b player can be constructed with unloaded Tone.Buffer
onload callback is invoked when the Buffer parameter is loaded

fixes #273
2017-12-15 23:06:06 -05:00
Yotam Mann
4c783c9b09 buffer can be constructed with an unloaded Buffer
load callback is invoked when parameter Buffer is loaded
2017-12-15 23:04:22 -05:00
Yotam Mann
a6ebaeeb9f Emitter.once invokes a callback only once 2017-12-15 11:11:14 -05:00
Yotam Mann
db4e5fab0d if the constructor delayTime is greater than the maxDelay, use the delayTime as the maxDelay
fixes #280
2017-12-06 13:16:22 -05:00
Yotam Mann
f818bede9a releaseAll stops all currently active notes
fixes #272
2017-11-29 16:54:17 -05:00
Yotam Mann
27b1513ddf removing Tone.Expr
no more use for this class
2017-11-29 16:28:47 -05:00
Yotam Mann
7b35eee3ed throw error if constructor is invoked without 'new'
addresses #271
2017-11-29 16:28:04 -05:00
Yotam Mann
ba55239032 only running when devices are available 2017-11-29 16:04:09 -05:00
Yotam Mann
30f118fd55 silence version logging in tests 2017-11-29 15:23:20 -05:00
Yotam Mann
f02a46f0c0 skip tests which rely on AudioContext.close promise resolving on unsupported platforms 2017-11-29 15:22:30 -05:00
Yotam Mann
ff505adf22 use 'fake' flag for Firefox tests 2017-11-29 15:06:46 -05:00
Yotam Mann
37ce3f7d34 testing that dispose returns a Promise 2017-11-29 15:05:58 -05:00
Yotam Mann
2068fc3613 don't log on tests 2017-11-29 15:05:28 -05:00
Yotam Mann
1c13b893de flag for online/focused testing
trying to fix failing tests on headless FF on Travis CI
2017-11-29 15:05:12 -05:00
Yotam Mann
9a745e3624 PolySynth throws error if the instrument voice is not Monophonic
fixes #270
2017-11-26 11:22:25 -08:00
Yotam Mann
c9250ee04a tying setTimeout instead of rAF again 2017-11-24 14:13:51 -08:00
Yotam Mann
b58dd185a7 Revert "replacing rAF for tests bc CI test is not executed in focus"
This reverts commit 9e77c203e4.
2017-11-21 10:06:18 -08:00
Yotam Mann
24e58f5c58 Revert "skip Draw test for now"
This reverts commit c18d8714f3.
2017-11-21 09:56:18 -08:00
Yotam Mann
c18d8714f3 skip Draw test for now 2017-11-21 09:52:16 -08:00
Yotam Mann
0906faea56 putting window in focus 2017-11-21 09:40:32 -08:00
Yotam Mann
9e77c203e4 replacing rAF for tests bc CI test is not executed in focus
causing the test to fail
2017-11-21 09:29:00 -08:00
Yotam Mann
69dd348eaa simplifying APITest 2017-10-26 00:51:43 -04:00
Yotam Mann
903c87ff72 user media does not look for 'default'
instead takes the first device if nothing is specified
2017-10-26 00:50:22 -04:00
Yotam Mann
2410728e9f adjusting test ranges for FF 2017-10-26 00:49:42 -04:00
Yotam Mann
cc7cca7370 removing checking for support 2017-10-26 00:48:51 -04:00
Yotam Mann
c634624fab Revert "simplifying the API tests"
This reverts commit 6af9f28c50.
2017-10-26 00:42:51 -04:00
Yotam Mann
c8dba3c1c5 removing checking browser feature support 2017-10-26 00:27:59 -04:00
Yotam Mann
183bd1e94d using StereoPannerNode shim when not supported 2017-10-26 00:07:02 -04:00
Yotam Mann
6af9f28c50 simplifying the API tests 2017-10-25 23:08:16 -04:00
Yotam Mann
bcd99d2a60 updating to new context dispose returning promise API 2017-10-25 18:00:04 -04:00
Yotam Mann
d153fc86cf removing 'let' from test code 2017-10-24 11:57:23 -04:00
Yotam Mann
10af9eaa6f testing stopping multiple sources 2017-10-21 13:44:30 -04:00
Yotam Mann
f279f57f3f testing exponentialApproach and setValueCurve 2017-09-20 19:05:00 -04:00
Yotam Mann
0723f50796 exponentialApproachAtTime is the same as setTargetAtTime but the timeConstant is computed based on the given time 2017-09-20 19:04:33 -04:00
Yotam Mann
888ea80ea1 adjusting testing thresholds for rounded toTicks()
addresses #255
2017-09-17 12:43:06 -04:00
Yotam Mann
195354584f Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2017-09-17 12:35:41 -04:00
Jack Anderson
5b491a5379 Round Time#toTicks (#256)
* failing test for toTicks() float issue

* round (not floor) to nearest tick
2017-09-17 12:35:32 -04:00
Yotam Mann
b8648cc8ac removing deprecated MultiPlayer class 2017-09-17 12:31:25 -04:00
Yotam Mann
48b15b2c5e removing LFO option from Signal and Param
straightforward to simply connect an LFO to the signal. Also causes
circular dependency issue
2017-09-17 12:26:00 -04:00
Yotam Mann
44582f6f61 increasing acceptable range for test 2017-09-16 15:16:46 -04:00
Yotam Mann
39389e810c warning if scheduling time is in the past
addresses #260
2017-09-15 17:50:12 -04:00
Yotam Mann
d9d7e4edcf silencing warnings in API Tests 2017-09-15 17:46:22 -04:00
Yotam Mann
1559b8275a Add warning if time is scheduled in the past 2017-09-15 17:45:57 -04:00
Yotam Mann
33e7bd0c13 adding "curve" to BufferSource fades 2017-09-13 18:30:43 -04:00
Yotam Mann
3664cd610c alter tests for new envelope release curve 2017-09-13 18:30:02 -04:00
Yotam Mann
69fd12e702 testing targetRampTo 2017-09-13 11:19:12 -04:00
Yotam Mann
42634bd453 using exponential approach for decay and release curves 2017-09-13 11:04:13 -04:00
Yotam Mann
9f545c4bdd exponential approach rampTo 2017-09-13 11:00:32 -04:00
Yotam Mann
08812c0886 optimizing the way that repeat events are handled 2017-09-04 16:08:47 -04:00
Yotam Mann
5d86d72cfb handles events which are added during iteration in the same was as events which are removed during iteration 2017-09-04 16:04:16 -04:00
Yotam Mann
f9fcceb226 Creating Transport event classes which are used internally by the Transport 2017-09-04 16:03:20 -04:00
Yotam Mann
892668b01e linearRampToValue -> linearRampTo 2017-08-31 12:45:25 -04:00
Yotam Mann
6662ca8670 adding cancelAndHold to signal classes
with fallback for unsupported browsers
2017-08-31 12:41:15 -04:00
Yotam Mann
1603ad7b0f splitting Analyser functionality into multiple classes
simplifies the API
2017-08-31 10:56:19 -04:00
Yotam Mann
d6fe0e6d68 analyse() -> getValue() 2017-08-30 14:42:50 -04:00
Yotam Mann
fbe7f341f0 testing other cases of getNumberInput/Output 2017-08-27 20:00:15 -04:00
Yotam Mann
e4044bf39e TransportTimelineSignal is a TimelineSignal which can be scheduled to the Transport 2017-08-27 19:42:10 -04:00
Yotam Mann
f687bb8a11 ability to get buffer values at a given time 2017-08-27 19:41:47 -04:00
Yotam Mann
e6faa39dba classes which generate or process sound extend Tone.AudioNode 2017-08-27 17:50:31 -04:00
Yotam Mann
112b8081a7 testing connect/disconnect 2017-08-27 17:49:32 -04:00
Yotam Mann
6ceca510e4 moving functionality over to Tone.AudioNode 2017-08-27 17:21:17 -04:00
Yotam Mann
35040e94e3 class for processing audio
differentiates classes which process audio and classes which don’t.
keeping in mind the eventual goal of supporting node.js audio rendering
and support for multiple audio contexts
2017-08-27 17:18:19 -04:00
Yotam Mann
841f2448ca can solo multiple audio streams at once 2017-08-27 15:01:13 -04:00
Yotam Mann
b731c85cae adding 'mute' to PanVol 2017-08-27 13:57:50 -04:00
Yotam Mann
1e148a9c74 Sampler is now an instrument for creating a chromatic instrument from pitched samples 2017-08-27 12:55:54 -04:00
Yotam Mann
b2950444db confirming rounding error fix 2017-08-26 15:39:09 -04:00
Yotam Mann
5bea2666c0 defaults can also take an object as third argument 2017-08-26 15:39:09 -04:00
Yotam Mann
62d1f5c9b1 resetting transport state between tests
addresses #250
2017-08-13 21:34:26 -04:00
Jack Anderson
1fb225383e no insignificant zeroes in barsBeatsSixteenths (#250)
* no insignificant zeroes in barsBeatsSixteenths

- fixes #246

* restore bpm to orig val in trailing zero test
2017-08-08 10:54:47 -04:00
Yotam Mann
f3f266d2fa removing min/maxDecibels and returnType test 2017-07-08 11:21:39 -04:00
Yotam Mann
fd533f1eb5 testing releaseAll 2017-07-06 13:02:17 -04:00
Yotam Mann
338d8b0dfb testing playbackRate and humanize 2017-07-06 10:32:50 -04:00
Yotam Mann
4ebbf9440f testing create and dispose 2017-07-05 13:59:24 -04:00
Yotam Mann
f0e4fedd9a testing context options passing as object 2017-07-05 13:58:48 -04:00
Yotam Mann
8a270a22b2 increasing timeout length
CPU limited Travis CI containers are having a hard time keeping up with
the tests
2017-06-30 14:34:01 -04:00
Yotam Mann
a4f1606b3c testing clockSource 2017-06-29 19:49:50 -04:00
Yotam Mann
46f135c69e only using karma test runner with headless chrome 2017-06-29 17:31:10 -04:00
Yotam Mann
43ae923359 coverage test for modulationType 2017-06-29 14:20:34 -04:00
Yotam Mann
5efe448c7a setting spread/count should make no difference 2017-06-29 14:11:57 -04:00
Yotam Mann
a03ee982a7 getting/setting values while the wrong type is set has no effect 2017-06-29 14:04:37 -04:00
Yotam Mann
f188d2cc2e testing getting/setting attributes for each oscillator type 2017-06-29 13:55:50 -04:00
Yotam Mann
59060d28f2 testing cancel 2017-06-29 12:33:27 -04:00
Yotam Mann
db9a75705e testing null sets 2017-06-29 10:44:11 -04:00
Yotam Mann
9578b00f60 more test coverage by testing a wider range of values and orders 2017-06-29 10:24:38 -04:00
Yotam Mann
bf37355552 testing that context 'close' event is emitted 2017-06-19 17:52:38 -04:00
Yotam Mann
9a5a7948ab testing error when no url and adding an AudioBuffer
additional test coverage
2017-06-19 17:11:44 -04:00
Yotam Mann
f178bb17c0 testing players fade 2017-06-19 15:19:16 -04:00
Yotam Mann
942e0b650b testing fades 2017-06-19 15:11:26 -04:00
Yotam Mann
d0adedee0a testing fadeOut 2017-06-19 15:03:27 -04:00
Yotam Mann
bd427b8056 testing multiple extension types 2017-06-19 13:02:45 -04:00
Yotam Mann
56391a8ccc testing Transport state toggle 2017-06-16 17:32:12 -04:00
Yotam Mann
9e353783a6 testing release and triggerAttackRelease 2017-06-16 17:27:40 -04:00
Yotam Mann
91734d23c7 adding portamento test 2017-06-08 13:30:17 -04:00
Yotam Mann
d9d9938b25 testing seek method 2017-05-28 21:28:07 -04:00
Yotam Mann
2328413a8f stops playing if invoked with 'stop' at an earlier time
does not stop playing if `stop` is invoked with a later time
2017-05-28 21:20:17 -04:00
Yotam Mann
ced1c68872 testing that it outputs a signal 2017-05-28 20:47:47 -04:00
Yotam Mann
652c5631cc clock using TickSignal 2017-05-28 19:39:18 -04:00
Yotam Mann
0c5307c3c7 stop time is inclusive of second event 2017-05-28 17:41:27 -04:00
Yotam Mann
2863389be9 loosening values slightly 2017-05-28 17:41:06 -04:00
Yotam Mann
06a3413824 removing start/stop/pause events from TickSignal
adding `getDurationOfTicks`
2017-05-28 16:55:25 -04:00
Yotam Mann
5a8550690f start/stop/pause events to TickSignal 2017-05-28 14:02:15 -04:00
Yotam Mann
73adc20088 get an event before the given event 2017-05-28 13:57:47 -04:00
Yotam Mann
1fcb4392d1 updating with more accurate values 2017-05-26 22:16:25 -04:00
Yotam Mann
6077e18959 testing TickSignal 2017-05-26 16:45:46 -04:00
Yotam Mann
470cc4520f Revert "fixing floating point error in test"
This reverts commit 3c4f03c816.
2017-05-23 23:29:28 -04:00
Yotam Mann
c0677d49f2 player was undefined 2017-05-23 23:02:55 -04:00
Yotam Mann
3c4f03c816 fixing floating point error in test
looks like a floating point error…
2017-05-23 22:15:32 -04:00
Yotam Mann
7331a68104 additional seek test 2017-05-23 09:31:07 -04:00
Yotam Mann
0b916bb4d0 testing stopping twice
second stop is sooner than previous stop. should stop on the sooner
one.

addresses #241
2017-05-22 16:12:35 -04:00
Yotam Mann
3e58c39f10 organizing Buffer tests 2017-05-21 21:00:56 -07:00
Yotam Mann
c8c436cbf2 Tone.Players wraps up multiple Tone.Player objects
fixes #215
fixes #217
2017-05-21 20:40:20 -07:00
Yotam Mann
a6bb882758 readonly loaded boolean if the buffer is loaded 2017-05-21 20:25:35 -07:00
Yotam Mann
7cd7bb1536 source shouldn't be muted
otherwise it’s not testing the right thing
2017-05-21 20:16:32 -07:00
Yotam Mann
f9dc9fea03 testing looping when ticks >= loopEnd 2017-05-21 19:43:50 -07:00
Yotam Mann
6eaca059cb testing that progress is between 0,1 and reaches 1 2017-05-21 19:12:42 -07:00
Yotam Mann
8a692145f6 simplifying tests using ConstantOutput helper 2017-05-16 22:52:09 -07:00
Yotam Mann
264e5d0869 pass additional options other than the urls in second constructor argument 2017-05-13 22:16:05 -04:00
Yotam Mann
f534e13a7e optionally pass in the options object in the second argument 2017-05-13 22:08:55 -04:00
Yotam Mann
b63a3f3f00 testing multisampler 2017-05-13 22:08:14 -04:00
Yotam Mann
c354c85bb0 removing error in clock test
wasn’t able to recover the audio context
2017-05-08 12:19:43 -04:00
Yotam Mann
187884f5ae testing min/max getter 2017-05-08 11:48:47 -04:00
Yotam Mann
a487395201 testing callback error throwing 2017-05-08 11:45:40 -04:00
Yotam Mann
91056ef978 testing passing in device ids/index
returning a promise instead of invoking done
2017-05-02 20:58:44 -04:00
Yotam Mann
c5132d226c testing removing objects the timeline doesn't have
should do nothing
2017-05-02 20:47:08 -04:00
Yotam Mann
45f7360e7d setting buffer after construction 2017-05-02 20:31:18 -04:00
Yotam Mann
81ccab27c8 setting attributes after player is already started 2017-05-02 20:27:58 -04:00
Yotam Mann
488299a822 Player uses BufferSource 2017-05-02 12:15:00 -04:00
Yotam Mann
a1a4ad81c3 testing the empty constructor and static fromArray method 2017-05-01 19:10:05 -04:00
Yotam Mann
b760821234 BufferSource.buffer is a Tone.Buffer 2017-05-01 18:52:53 -04:00
Yotam Mann
1c8cecae57 widening Meter margin of error
fixes failed build when sampleRate=48k
2017-05-01 18:17:05 -04:00
Yotam Mann
f846e97571 testing state and onended callback 2017-05-01 18:02:02 -04:00
Yotam Mann
79a0e22fd7 fixed timing error in Meter
was always passing in NaN
2017-05-01 17:44:25 -04:00
Yotam Mann
90aa3265c0 clear a random ID
shouldn’t cause any errors
2017-05-01 16:43:19 -04:00
Yotam Mann
4577973063 testing toString method
should return the class name
2017-05-01 16:14:55 -04:00
Yotam Mann
695fd2421f can receive to a specific input number instead of input node 2017-05-01 16:03:04 -04:00
Yotam Mann
4154c3a4af testing disconnect from node with input/output channel number 2017-05-01 15:49:54 -04:00
Yotam Mann
110dc5c5bb testing disconnect API more fully 2017-05-01 14:45:06 -04:00
Yotam Mann
ebd49415a6 testing case where receive is made before send 2017-05-01 14:35:30 -04:00
Yotam Mann
9c1365a52f testing numberOfInputs/Outputs 2017-05-01 14:18:19 -04:00
Yotam Mann
42065b8609 testing other latencyHints 2017-05-01 13:55:26 -04:00
Yotam Mann
b358e41ddc returning panner support at the end of the tests 2017-04-30 15:24:20 -04:00
Yotam Mann
10d2224bfd timeline throws error with no time argument 2017-04-30 15:19:48 -04:00
Yotam Mann
e3d0baa471 removing unused files from test deps 2017-04-30 15:04:28 -04:00
Yotam Mann
b927395825 making defaultArg static 2017-04-30 15:03:49 -04:00
Yotam Mann
cf744c2db8 invoking dispose instead of 'close' 2017-04-30 14:49:25 -04:00
Yotam Mann
55379211e6 testing toMaster on audio nodes 2017-04-30 14:49:07 -04:00
Yotam Mann
212e7e193f testing state and labels from the user media device 2017-04-30 14:25:44 -04:00
Yotam Mann
ce2005193d testing triggerRelease and triggerAttackRelease
testing in all instruments that have that method
2017-04-30 14:18:50 -04:00
Yotam Mann
b93f0e2e20 testing fallback StereoPanner
forces to branch without stereo panner support
2017-04-30 14:12:07 -04:00
Yotam Mann
ab282061d5 running Karma tests with user media flag turned on 2017-04-30 13:49:04 -04:00
Yotam Mann
4e6dfaf89e Solo tests 2017-04-30 12:39:14 -04:00
Yotam Mann
25591ab4ba replacing remaining static methods to new API 2017-04-27 00:54:11 -04:00
Yotam Mann
4bda177b83 gainToDb, dbToGain, intervalToFrequencyRatio now static functions 2017-04-26 23:21:26 -04:00
Yotam Mann
d5253b6fce testing static type queries 2017-04-26 00:27:49 -04:00
Yotam Mann
3834f32932 optionsObject -> defaults
with slight API updates
2017-04-26 00:16:12 -04:00
Yotam Mann
a6a8e63bc7 testing passing in values to PolySynth 2017-04-26 00:08:33 -04:00
Yotam Mann
2030034494 sources to new defaults api
and es6 classes prep
2017-04-26 00:00:01 -04:00
Yotam Mann
4057252566 applying defaults API to control classes 2017-04-25 22:37:01 -04:00
Yotam Mann
2c71a7d08f testing that the order is maintained 2017-04-24 23:18:42 -04:00
Yotam Mann
282fdc31ab testing Context.setTimeout methods 2017-04-24 23:13:41 -04:00
Yotam Mann
9e4e091f33 test the forEach callback context 2017-04-24 23:01:45 -04:00
Yotam Mann
a53357c505 removing input/output creation from Tone constructor 2017-04-24 22:09:26 -04:00
Yotam Mann
c9994afcd6 testing that volume is muted when -Infinity is passed into constructor 2017-03-26 16:42:35 -04:00
Yotam Mann
0d59653501 throw error if URL doesn't exist 2017-03-26 15:21:45 -04:00
Yotam Mann
1f9fad3604 test all examples for execution errors 2017-03-26 14:51:25 -04:00
Yotam Mann
4cec0fb7a3 mute is true when volume === -Infinity and false otherwise
fixes #221
2017-03-24 17:27:40 -04:00
Yotam Mann
343e90fa86 testing getConstant 2017-03-22 11:43:35 -04:00
Yotam Mann
55d6bc739c testing Tone.loaded 2017-03-14 16:49:13 -04:00
Yotam Mann
66f1f4343f testing getChannelData 2017-03-13 22:09:08 -04:00
Yotam Mann
d037c28d6f eval -> valueOf
thanks for the suggestion @JackCA
fixes #205
2017-03-12 21:31:23 -04:00
Yotam Mann
f0520d9722 using native sampleRate for tests 2017-02-28 18:59:21 -05:00
Yotam Mann
21d225e322 returning to old test style 2017-02-20 23:32:10 -05:00
Yotam Mann
a64d9d551b adjusting ranges for linux errors 2017-02-20 23:17:20 -05:00
Yotam Mann
c7b62eb939 trying to compensate for linux errors
scheduling samples seems to have different levels of precision of
different platforms
2017-02-20 23:06:27 -05:00
Yotam Mann
07dd1cf7a0 adjusting test ranges again for linux 2017-02-20 22:49:27 -05:00
Yotam Mann
e19ef3bca7 extending ranges to compensate for floating point errors
on linux these were throwing errors
2017-02-20 22:37:32 -05:00
Yotam Mann
e1b7fbd3f9 removing unused tests 2017-02-20 16:45:32 -05:00
Yotam Mann
0ef0ad3a56 type tests use updated Offline API 2017-02-20 16:41:37 -05:00
Yotam Mann
d8ea7ac0fb making sure non-zero signal is output 2017-02-20 16:41:22 -05:00
Yotam Mann
ff7f384192 instrument tests use updated Offline API 2017-02-20 16:40:56 -05:00
Yotam Mann
6253db7250 signal tests use updated Offline API 2017-02-20 16:40:41 -05:00
Yotam Mann
72fe983374 using new value method in BufferTests 2017-02-20 14:07:02 -05:00
Yotam Mann
fc0a26027f migrating tests to new Offline API 2017-02-20 14:06:44 -05:00
Yotam Mann
15dd8107de meter measures and returns RMS 2017-02-20 14:05:33 -05:00
Yotam Mann
bd9b42d5bc additional buffer checks 2017-02-20 14:05:11 -05:00
Yotam Mann
a7a5f00786 testing start with and without duration 2017-02-20 14:03:49 -05:00
Yotam Mann
47325729b2 updating EffectsTests to new Offline API 2017-02-20 00:04:45 -05:00
Yotam Mann
4399793d8d converting components to new Offline test API 2017-02-19 23:55:55 -05:00
Yotam Mann
b3fa0edf9a FF passes all signal scheduling tests 2017-02-19 22:51:10 -05:00
Yotam Mann
d5fa72f447 shim buffer tests into offline return 2017-02-19 22:50:39 -05:00
Yotam Mann
06913fa2cc invokes a callback online a specific time 2017-02-19 20:49:58 -05:00
Yotam Mann
931524407c simplified PassAudioStereo 2017-02-19 20:49:47 -05:00
Yotam Mann
23e07013c9 allowing for sound to slowly ramp in 2017-02-19 20:49:35 -05:00
Yotam Mann
f26f4d42aa evaluates to true if the input produces silence 2017-02-19 20:48:57 -05:00
Yotam Mann
4f8f55c261 updating to new Offline API 2017-02-19 20:48:22 -05:00
Yotam Mann
b027b865e9 removing listener after test is completed 2017-02-19 15:32:26 -05:00
Yotam Mann
b58b6af6ea removing unused tests 2017-02-19 15:32:11 -05:00
Yotam Mann
2b33efa77f new Offline test API 2017-02-19 15:32:00 -05:00
Yotam Mann
99955515ea reinit test on new Context 2017-02-19 15:31:03 -05:00
Yotam Mann
6d8669ce56 updated Offline test API 2017-02-19 15:29:53 -05:00
Yotam Mann
25b79e0108 updating to new PassAudio Test API 2017-02-19 15:29:01 -05:00
Yotam Mann
4652203066 stopDownloads -> cancelDownloads 2017-02-19 12:01:15 -05:00
Yotam Mann
89d92b78bc converting to new Offline test API
and new test helpers
2017-02-19 11:54:29 -05:00
Yotam Mann
9ede009e6d testing OfflineContext 2017-02-19 11:52:53 -05:00
Yotam Mann
2ee1eb2d76 testing Offline method 2017-02-19 11:52:46 -05:00
Yotam Mann
c0b16757e5 Offline test uses new Offline method 2017-02-19 11:52:33 -05:00
Yotam Mann
50663c31f3 Tone.Context tests 2017-02-18 19:47:45 -05:00
Yotam Mann
7d14e87171 testing disconnect 2017-02-11 13:56:57 -05:00
Yotam Mann
27739ca795 changing name of private lookAhead member and adding 'lag' member
‘lag’ is the amount that the clock is falling behind the desired update
interval
2016-12-25 19:38:19 -05:00
Yotam Mann
5989271a31 simplifying Tone.Draw test 2016-12-22 11:36:40 -05:00
Yotam Mann
5d15ee324f lookAhead -> latencyHint
more consistent with WAA spec
2016-12-20 22:47:37 -05:00
Yotam Mann
11e3504cab narrowing threshold of test 2016-12-20 22:39:38 -05:00
Yotam Mann
09f0c26339 a longer interval to compensate for higher default lookAhead 2016-12-20 22:38:37 -05:00
Yotam Mann
273c2f3b51 updating to new Clock API
includes updateInterval
2016-12-20 22:38:07 -05:00
Yotam Mann
2c3fa527fd adding updateInterval
how often the web worker callback is invoked
2016-12-20 22:37:34 -05:00
Yotam Mann
d63c58eeb5 increasing test threshold 2016-12-18 22:33:36 -05:00
Yotam Mann
31fe050475 getStateAtTime -> getValueAtTime 2016-12-18 22:14:14 -05:00
Yotam Mann
9c94b89eec renaming addEvent->add, removeEvent->remove, getEvent->get 2016-12-18 21:56:22 -05:00
Yotam Mann
1536420bc8 adding numberOfInputs/Outputs 2016-12-18 20:57:00 -05:00
Yotam Mann
612b6c0b5e Tone.Draw for synchronizing animation frame and Tone.Clock 2016-12-18 20:26:11 -05:00
Yotam Mann
a0ea404745 Revert "deferred animation callback"
This reverts commit f685bcd5ae.
2016-12-18 13:43:23 -05:00
Yotam Mann
77953eede9 ExternalInput -> UserMedia
updated to latest MediaDevice API
2016-12-17 16:26:27 -05:00
Yotam Mann
eb4242b780 using meter to test if buffer is playing 2016-12-15 12:49:51 -05:00
Yotam Mann
7529599607 adding explicit start time to Transport.start in tests 2016-12-05 21:30:25 -05:00
Yotam Mann
7a1380637e Previous playback is not stopped if retrigger=true
Fixes #186
2016-12-05 21:29:55 -05:00
Yotam Mann
8911dce68a Clock.start with undefined arg is scheduled into the future
if there is no argument passed into the first argument of Clock.start /
Transport.start, the currentTime + Clock’s lookAhead time will be used
as the start time.
2016-12-05 20:59:39 -05:00
Yotam Mann
f685bcd5ae deferred animation callback
This is useful for synchronizing animations with scheduled audio
events.
2016-12-03 12:15:37 -05:00
Yotam Mann
2b7789b3a9 peek and shift methods
this allows the timeline to be used as a priority queue.
2016-12-02 18:59:12 -05:00
Yotam Mann
b721ee8ffd API to set Transport's lookAhead to customize the balance of latency and performance 2016-11-22 10:56:47 -08:00
Yotam Mann
1935d24ba2 removing convolver effects tests that throw an error when running in TravisCI 2016-11-22 10:46:26 -08:00
Yotam Mann
d386ffed97 Convolver.load returns a Promise 2016-11-22 10:31:06 -08:00
Yotam Mann
84c1affe83 Clock uses static lookahead
lookAhead is more conservatively computed and adjusts to the largest
value.
2016-11-21 00:05:19 -08:00
Yotam Mann
3ca0eadafd .load method returns a Promise 2016-11-06 19:16:31 -05:00
Yotam Mann
99dd7717ec don't decrement on error
added method to abort all downloads in progress
2016-11-03 14:39:45 -04:00
Yotam Mann
f4b9393202 testing complex scheduling with multiple start/stop invoked in both event and Transport 2016-10-20 11:45:10 -04:00
Yotam Mann
3f7c903302 sets event start/stop correctly when the loopEnd is changed to smaller than the initial value 2016-10-20 11:44:11 -04:00
Yotam Mann
64a33b0c16 correcting offset when greater than loopEnd 2016-10-11 14:03:10 -04:00
Yotam Mann
c700caed7f member api test 2016-10-05 00:18:41 -04:00
Yotam Mann
b5ff5d365a Part accepts a objects that are not object literals in add/remove
it just needs to have a time property
2016-10-03 23:47:01 -04:00
Yotam Mann
70ea8f7155 panner/listener tests 2016-10-01 21:45:30 -04:00
Yotam Mann
f37e188acd adding type primitives to APITest 2016-09-26 14:58:04 -04:00
Yotam Mann
753640bdeb seek to a position in the buffer 2016-09-25 22:32:54 -04:00
Yotam Mann
2474312a4e updating API tests 2016-09-25 21:58:48 -04:00
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