Commit graph

563 commits

Author SHA1 Message Date
Yotam Mann
77559a4264 Tone.Inverse multiplicative inverse of a number 2014-10-30 21:34:34 -04:00
Yotam Mann
3a6261c9b9 Tone.Pow exponential 2014-10-30 21:34:11 -04:00
Yotam Mann
36f4a85582 connect method from Tone.Signal 2014-10-30 19:48:53 -04:00
Yotam Mann
7f4b873aa8 Follower uses subtract 2014-10-30 19:44:05 -04:00
Yotam Mann
2a65eb3ce7 rewrote floor in BitCrusher with Expr 2014-10-30 18:06:13 -04:00
Yotam Mann
79e4c1c9fc refactored Expr
put regexp all in one place and function callbacks all in one place
2014-10-30 17:04:15 -04:00
Yotam Mann
9d41f7aa3d handles multiple inputs 2014-10-30 01:05:17 -04:00
Yotam Mann
47a5e2d962 bug fixes 2014-10-30 01:04:49 -04:00
Yotam Mann
e19e0cea30 first Expr version
aggregate signal processing expression
2014-10-29 23:56:08 -04:00
Yotam Mann
ba7ead9581 Envelope -> AmplitudeEnvelope in MonoSynth 2014-10-28 14:51:22 -04:00
Yotam Mann
76c596ca31 Fixed whitespace problem with toSeconds 2014-10-25 11:57:00 -04:00
Yotam Mann
e1d27c5525 Convolver style and formatting 2014-10-23 11:42:41 -04:00
Yotam Mann
477eef29c7 making distortion curve length smaller
trying to fix occasional crashes in chrome.
2014-10-23 11:42:07 -04:00
Yotam Mann
f36b185517 rearranging dispose methods for readability 2014-10-23 11:41:38 -04:00
Yotam Mann
98ef0e8fae making mod curve smaller 2014-10-23 11:41:15 -04:00
Yotam Mann
4766f5a27f Transport loops when greater than the loopEnd
used to be just equal to. caused bugs sometimes.
2014-10-23 00:24:02 -04:00
Yotam Mann
0bea209d68 simplify buffer constructor 2014-10-22 22:27:21 -04:00
Yotam Mann
e1ba3a4487 returns an array when given an array 2014-10-22 22:27:01 -04:00
Yotam Mann
3b10b93eca Merge pull request #39 from indefinit/unicode-fix
Unicode fix
2014-10-22 21:55:21 -04:00
Yotam Mann
0fce1bf624 Modulo small doc changes. 2014-10-22 21:52:42 -04:00
Yotam Mann
7ae56f179c Equal accepts two signals. 2014-10-22 21:26:10 -04:00
Yotam Mann
0a68826768 LessThan accepts two signals 2014-10-22 21:25:28 -04:00
Yotam Mann
8b58bd0a9b Greater than compares two signals 2014-10-22 21:24:40 -04:00
Yotam Mann
de194f24c3 min and max accept two signals 2014-10-22 21:23:47 -04:00
Yotam Mann
fcba9bd62a multiply handles two signals 2014-10-22 21:20:43 -04:00
Yotam Mann
23eaf83935 handles summing two signals
or a signal and a number.
2014-10-22 21:19:04 -04:00
Yotam Mann
7f7e093a4b Subtract class
subtract a signal and a number or a signal and a signal
2014-10-22 21:17:29 -04:00
Kevin Siwoff
054d5ff2e8 fixes buffer initialization in Player.js 2014-10-22 18:24:58 -04:00
Kevin Siwoff
1422a544f9 adds Convolver class, IR, and convolver example 2014-10-22 17:58:03 -04:00
Kevin Siwoff
b45c983152 updates player class and build for Buffer 2014-10-21 14:55:29 -04:00
Kevin Siwoff
d71f83c8fd adds new Buffer class to core 2014-10-21 14:44:02 -04:00
Yotam Mann
167d989828 using bufferTime in Follower 2014-10-19 22:07:18 -04:00
Yotam Mann
68dea5880a 3 band compressor 2014-10-19 21:55:55 -04:00
Yotam Mann
fdae3c0b5b thin DynamicsCompressorNode wrapper 2014-10-19 21:55:18 -04:00
Yotam Mann
425bca36ad Chebyshev effect
applies Chebyshev wave shaper to incoming signal.
2014-10-19 19:39:50 -04:00
Yotam Mann
918be69c6c connectEffect switched to internal 2014-10-19 17:56:41 -04:00
Yotam Mann
6317e02a67 Distortion effect 2014-10-19 17:54:30 -04:00
Yotam Mann
e28f77a683 PolySynth accepts an array of notes for attack/release 2014-10-19 16:17:40 -04:00
Yotam Mann
4a4da6c85b use MasterConstructor on init 2014-10-19 16:08:40 -04:00
Yotam Mann
9f827a8dad short delay to avoid clicks on change OmniOsc type 2014-10-16 14:52:08 -04:00
Yotam Mann
f913c50241 precompute the bufferTime for a single frame
still need to figure out how to find the frame size
2014-10-16 14:51:25 -04:00
Kevin Siwoff
f784f5585f adds Buffer class, refactors Player class to use new Buffer member 2014-10-16 14:48:23 -04:00
Yotam Mann
3eba6e58a4 optimizing initial script loading 2014-10-16 00:49:31 -04:00
Yotam Mann
eb07e84a6e simplified internals of IfElseThen
changes API slightly because false is 0 and not != 1
2014-10-13 19:24:06 -04:00
Yotam Mann
7277a7eb68 wrote Min and Max with IfThenElse
makes the internals much more readable
2014-10-13 19:22:11 -04:00
Yotam Mann
baf1f0162a enforce min time on Tone.Follower 2014-10-13 19:21:34 -04:00
Yotam Mann
d1cf785350 some jsdoc notes on Meter and Recorder 2014-10-13 17:31:07 -04:00
Yotam Mann
4ccc0e08e7 ability to set rolloff of autowah 2014-10-13 17:16:10 -04:00
Yotam Mann
4f9850d315 disconnect method handles output arrays 2014-10-13 15:58:21 -04:00
Yotam Mann
05b2415fa6 wrote EQ in terms of MutibandSplit 2014-10-13 15:58:06 -04:00
Yotam Mann
757c114ede new class MultibandSplit
splits incoming signal into low/mid/high frequency bands
2014-10-13 15:57:53 -04:00
Yotam Mann
a4cc79cfde stopped state doesn't wait for on ended event
the oneneded event is inconsistent when the source is not connected
directly to Master (such as in the case of an LFO).

Fixes #34
2014-10-08 11:59:31 -04:00
Yotam Mann
231d803848 IfThenElse class
convenience on using the selector for signal switching logic.
2014-10-03 17:20:35 -04:00
Yotam Mann
fe96656d2a AND and OR classes
Fixes #22
2014-10-03 17:20:00 -04:00
Yotam Mann
7972f0db34 Pulse, PWM, and Omni extend Oscillator 2014-10-03 16:07:30 -04:00
Yotam Mann
a8e156fcaf made Oscillator.oscillator _private 2014-10-03 16:06:42 -04:00
Yotam Mann
4eaa4f75df es5 getter/setter on Tone.Signal value
#33
2014-10-03 15:50:21 -04:00
Yotam Mann
2daa8c64ad Oscillators inherit Tone.Oscillator setFrequency 2014-10-03 15:16:32 -04:00
Yotam Mann
e2c0e47f2f Noise getType method 2014-10-03 14:54:09 -04:00
Yotam Mann
0270b3c9e0 deprecating Tone.Threshold 2014-10-03 13:07:53 -04:00
Yotam Mann
f94034345d rewrote GreaterThan and LessThan in terms of GreaterThanZero 2014-10-03 13:07:26 -04:00
Yotam Mann
93eace9694 new GreaterThanZero class
Fixes #20. Also deprecates the need for Tone.Threshold
2014-10-03 13:06:26 -04:00
Yotam Mann
b310136dee JCReverb: constructor takes room size as parameter 2014-10-03 11:34:47 -04:00
Yotam Mann
1ed4f5288c allowing for loopEnd to be a Tone.Time 2014-10-03 01:00:48 -04:00
Yotam Mann
02c21fed73 switches types without a pop 2014-10-03 01:00:37 -04:00
Yotam Mann
35bdca0568 default Player loop is still the end of the file 2014-10-02 18:58:24 -04:00
Yotam Mann
666d8f96c1 removed reference to global 'define' with build
gets rid of the problem of having the global ‘define’ left defined in
the window which may have adverse effects on other AMD shim modules.
2014-10-02 18:55:24 -04:00
Yotam Mann
d1d155f58d envelope stays tempo relative until triggered 2014-10-02 13:23:04 -04:00
Yotam Mann
93d9dd24c0 can start the transport at a specific offset 2014-10-02 13:22:44 -04:00
Yotam Mann
d743e1eb17 reveals player attributes through set in Sampler
and through the constructor options object
2014-10-02 13:22:29 -04:00
Yotam Mann
7d26a67910 loop attributes can be passed in options object
also attributes can remain tempo relative. #27
2014-10-02 13:21:22 -04:00
Yotam Mann
bb17651349 MultiSampler accepts the sample names as numbers 2014-10-02 13:16:17 -04:00
Yotam Mann
527ce958cf cleaning up PingPongDelay 2014-10-02 13:15:38 -04:00
Yotam Mann
30e71b1c82 Added pre delay in left channel
Fixes #32
2014-10-01 19:45:30 -04:00
Yotam Mann
0233abf40e cool color console printing 2014-10-01 14:48:05 -04:00
Yotam Mann
ef80d1e81c light styling. 2014-10-01 14:47:45 -04:00
Yotam Mann
d3f9834ca0 typo in Noise 2014-10-01 00:55:31 -04:00
Yotam Mann
ff57f046f3 synths use OmniOscillator 2014-09-30 22:49:48 -04:00
Yotam Mann
f5ff008170 changing Oscillator JSON description 2014-09-30 22:49:17 -04:00
Yotam Mann
452983920f using OmniOscType enum type 2014-09-30 22:48:21 -04:00
Yotam Mann
14d254fd97 altering default values 2014-09-30 22:48:00 -04:00
Yotam Mann
be4f132aef changed load to unload in Sampler 2014-09-30 00:29:02 -04:00
Yotam Mann
18bab7da59 setters and options objects for Sources
Fixes #27
2014-09-30 00:28:48 -04:00
Yotam Mann
1e7f46ff61 jsdoc addition 'const' 2014-09-29 23:45:31 -04:00
Yotam Mann
23128469ca combination oscillator class 2014-09-29 23:44:59 -04:00
Yotam Mann
014c5e5db2 new PWMOscillator class 2014-09-29 23:44:43 -04:00
Yotam Mann
c67468cab6 PulseOscillator setters 2014-09-29 23:44:35 -04:00
Yotam Mann
1dcaccdb4c defaults to loopStart offset if offset is not given 2014-09-29 23:44:15 -04:00
Yotam Mann
0c6383c49c change swing to default to 16th note 2014-09-29 23:42:56 -04:00
Yotam Mann
704593b655 swing control on the Transport 2014-09-24 23:46:57 -04:00
Yotam Mann
c569670689 setters on the PluckSynth 2014-09-24 23:43:44 -04:00
Yotam Mann
26d2e1ef59 making a note of where methods get defined.
makes it easier to know which files to include.
2014-09-24 23:43:10 -04:00
Yotam Mann
2e753b80dc renamed Tone.Not -> Tone.NOT
much clearer this way.
2014-09-24 14:44:56 -04:00
Yotam Mann
a99ff1d48e removed Tone.Not
renaming it Tone.NOT
2014-09-24 14:44:01 -04:00
Yotam Mann
d99de46c26 started r3-dev version. 2014-09-24 14:43:11 -04:00
Yotam Mann
04359f6dbb documenting Tone.Not 2014-09-23 22:23:58 -04:00
Yotam Mann
e0228e38d8 jsdoc tweaks 2014-09-23 22:07:16 -04:00
Yotam Mann
4427463013 release candidate 2 2014-09-23 21:57:32 -04:00
Yotam Mann
b59978d5fa note<-->midi methods 2014-09-21 15:18:04 -04:00
Yotam Mann
6fc65ff1a3 added options object to freeverb 2014-09-21 14:43:38 -04:00
Yotam Mann
eacfce111c new class JCReverb
John Chowning
2014-09-21 13:39:18 -04:00
Yotam Mann
2205375f40 some free verb presets 2014-09-21 13:38:54 -04:00
Yotam Mann
c7f7fbd31b fixed deps and description
used to say AutoWah incorrectly.
2014-09-21 13:38:43 -04:00
Yotam Mann
71dd2b11c0 Freeverb setters 2014-09-21 13:38:13 -04:00
Yotam Mann
176cd0d563 fixed AutoWah deps 2014-09-21 13:38:00 -04:00
Yotam Mann
2cabd2bd3e new class FeedbackCombFilter 2014-09-21 13:37:45 -04:00
Yotam Mann
f8ae02b5f9 made Mono into it's own component 2014-09-21 13:37:08 -04:00
Yotam Mann
9fb1f4d637 Freeverb implementation
with simple test
2014-09-20 21:19:06 -04:00
Yotam Mann
018498b22a start out with the min delay time 2014-09-20 21:18:37 -04:00
Yotam Mann
007c1f0bbd gain reduction to compensate for the signal split
otherwise the volume is doubled
2014-09-20 21:18:20 -04:00
Yotam Mann
b4d2ad9bc7 put bufferSize back to 2048
need a solution where i can determiner he buffer size of the sound
card.
2014-09-20 21:17:24 -04:00
Yotam Mann
4f3cca312f instrument has Note as a dep 2014-09-20 19:24:12 -04:00
Yotam Mann
817a7a7d40 extends Instrument 2014-09-20 19:24:04 -04:00
Yotam Mann
d42cf9d698 filled out dispose method 2014-09-20 19:23:41 -04:00
Yotam Mann
198678d06b Monophonic extends Instrument 2014-09-20 19:23:28 -04:00
Yotam Mann
49341e2eae lowered buffer size 2014-09-20 19:23:07 -04:00
Yotam Mann
f076dec1e1 fixed dispose method 2014-09-20 19:22:35 -04:00
Yotam Mann
39f5e808f6 MultiSampler uses new Sampler interface
also extends Instrument
2014-09-20 18:58:02 -04:00
Yotam Mann
5059786389 Sampler extends Instrument 2014-09-20 18:57:44 -04:00
Yotam Mann
d6a2991526 Sampler attack accepts a note value in semitones
also using AmplitudeEnvelope.
2014-09-20 18:47:07 -04:00
Yotam Mann
1306d45884 PluckSynth uses LowpassCombFilter 2014-09-20 18:06:52 -04:00
Yotam Mann
760c397bfd new class LowpassCombFilter 2014-09-20 18:06:41 -04:00
Yotam Mann
efd2def64b triggerAttackRelease on Envelope 2014-09-20 15:18:36 -04:00
Yotam Mann
d612dd8705 AmplitudeEnvelope
new class
2014-09-20 15:18:08 -04:00
Yotam Mann
d9fa029569 Karplus-Strong first commit 2014-09-17 00:21:04 -04:00
Yotam Mann
65b0b5c660 Instrument base-class 2014-09-17 00:19:30 -04:00
Yotam Mann
603bc03d62 deferring on clock tick
to not block the audio thread
2014-09-15 21:45:31 -04:00
Yotam Mann
dff5852607 greater than equal to on threshold. 2014-09-14 15:34:37 -04:00
Yotam Mann
b27cebda3b disposing of amplitude 2014-09-14 15:34:27 -04:00
Yotam Mann
ef12e6e5d0 fixed bugs with context setting and stop method 2014-09-14 15:34:17 -04:00
Yotam Mann
f2ae3bd594 include an onend function for stop 2014-09-14 15:33:32 -04:00
Yotam Mann
e3dc3a2f6a modulo comments 2014-09-14 15:33:02 -04:00
Yotam Mann
41225430aa started r2-dev 2014-09-12 11:53:07 -04:00
Yotam Mann
a0fe662dcd more modulus optimization 2014-09-12 01:03:48 -04:00
Yotam Mann
5b178359fd optimizing modulo operator 2014-09-12 00:55:10 -04:00
Yotam Mann
01003bc9d5 fixed note comment. 2014-09-11 20:45:02 -04:00
Yotam Mann
2ebd70b09b release 1 candidate. 2014-09-11 20:37:40 -04:00
Yotam Mann
1d20c32bba small default change 2014-09-11 20:36:17 -04:00
Yotam Mann
0ea25ec615 triggerAttackRelease 2014-09-11 20:36:07 -04:00
Yotam Mann
ebca621fc7 this will improve performance.
may cause issues when setting bits which are larger than the initial
value.
2014-09-11 20:35:39 -04:00
Yotam Mann
ad703e51d1 eq in db now 2014-09-11 20:31:37 -04:00
Yotam Mann
8f54007335 modulo starts at the maximum bits 2014-09-11 13:39:06 -04:00
Yotam Mann
669c52ee60 jsdoc'ing. 2014-09-11 13:38:41 -04:00
Yotam Mann
7850bdabc1 changed Master class to Tone.Master
this is for jsdoc purposes.
2014-09-11 13:00:59 -04:00
Yotam Mann
f51f7370a4 moved note stuff to Tone.Note 2014-09-11 13:00:09 -04:00
Yotam Mann
b3af62fa4a documented Transport and Tone.Time 2014-09-10 22:37:57 -04:00
Yotam Mann
576383d34b more extreme phasing. 2014-09-10 22:17:16 -04:00
Yotam Mann
50dcc6ccb0 jshint wants constructors to be Capitalized 2014-09-10 13:51:37 -04:00
Yotam Mann
cc95ee6caf instrument tests
fixed dispose methods bc of tests.
2014-09-09 15:30:36 -04:00
Yotam Mann
894ced3755 fixed polysynth velocity bug 2014-09-09 12:58:07 -04:00