Commit graph

2279 commits

Author SHA1 Message Date
Yotam Mann
8f6c82d6a4 testing setting 'convert' explicitly 2019-08-12 10:20:24 -04:00
Yotam Mann
78d546ea73 testing getting an array curve 2019-08-12 10:16:07 -04:00
Yotam Mann
ef66b85209 using assert instead of conditionals 2019-08-12 10:15:55 -04:00
Yotam Mann
9bd9feb7fb removing unused import 2019-08-12 10:14:55 -04:00
Yotam Mann
511d98564b adding some tests for full coverage 2019-08-12 09:37:48 -04:00
Yotam Mann
ef940b778a adding tests for full coverage 2019-08-12 09:23:01 -04:00
Yotam Mann
e7c429f4ec adding back envelope
getLevelAtTime was used for the portamento
2019-08-12 00:21:34 -04:00
Yotam Mann
0f45fc9efd removing unused import 2019-08-12 00:20:16 -04:00
Yotam Mann
c81364610c converting polysynth to typescript
slightly updated API includes voice stealing
2019-08-12 00:16:03 -04:00
Yotam Mann
48c410cfc4 added floating point midi conversion 2019-08-12 00:15:30 -04:00
Yotam Mann
4e9fca3df3 marking toMaster as deprecated 2019-08-12 00:15:11 -04:00
Yotam Mann
72e877ff67 hooking up onsilence 2019-08-12 00:13:52 -04:00
Yotam Mann
8b295c32de removing getLevelAtTime
replaced by onsilence which is used to find when the instrument is making sound
2019-08-12 00:13:13 -04:00
Yotam Mann
4d52317fd3 takes an array of partials 2019-08-12 00:09:40 -04:00
Yotam Mann
f79cce25ca updating docs 2019-08-12 00:09:22 -04:00
Yotam Mann
07cdf6840e adding onstop to noise 2019-08-11 11:42:17 -04:00
Yotam Mann
18facc5576 safety checks before trying connection 2019-08-10 18:07:10 -04:00
Yotam Mann
edddd9e3ba moving assert and log to their own file 2019-08-10 18:07:02 -04:00
Yotam Mann
0dff2423e7 checking if connecting to a source with no inputs throws an error 2019-08-10 18:06:41 -04:00
Yotam Mann
f6843947d8 adding onstop to all the sources 2019-08-10 11:51:35 -04:00
Yotam Mann
0719a8ba9d cancel stop when the ending is implicit 2019-08-09 23:35:08 -04:00
Yotam Mann
fdbf9d64bf removing 'only' from tests 2019-08-09 23:11:51 -04:00
Yotam Mann
d507188149 Player.onstop is invoked when the buffer has stopped
fixes #519
2019-08-09 23:07:09 -04:00
Yotam Mann
b94be3cdc4 moving object creation to constructor body
more consistent style
2019-08-09 23:06:30 -04:00
Yotam Mann
63d68f3446 onended callback passes in the file in the parameter 2019-08-09 23:02:28 -04:00
Yotam Mann
73dbca2e1b removing unused import 2019-08-09 23:00:51 -04:00
Yotam Mann
32d0dfea0e removing 'only' from tests 2019-08-09 20:01:02 -04:00
Yotam Mann
27e7fbcb91 source tests
testing syncing with different offsets and timings
2019-08-09 19:53:10 -04:00
Yotam Mann
70b76c317c adding TONE_DEBUG_CLASS to the window object 2019-08-08 17:00:42 -04:00
Yotam Mann
25e24800d4 stop the oscillator if it's started 2019-08-08 16:32:22 -04:00
Yotam Mann
cf40ce5349 stop and disconnect the constant source 2019-08-08 16:06:19 -04:00
Yotam Mann
1360828a6c caching periodic wave computations
helps when creating many custom oscillators with the same phase or partials
2019-08-08 14:22:15 -04:00
Yotam Mann
e3d8598533 small optimization which avoids setting the same value 2019-08-08 14:21:20 -04:00
Yotam Mann
4a7c8809e8 linting 2019-08-08 14:17:41 -04:00
Yotam Mann
38d6f9d242 optimization by moving child objects into constructor
means that in many cases the param won't be assigned twice
2019-08-08 14:15:56 -04:00
Yotam Mann
73bc128265 small optimization when partials list is [] 2019-08-08 13:05:34 -04:00
Yotam Mann
6f4ad826a0 Revert "small optimization to avoid setting the same value twice"
This reverts commit 3208497102.
2019-08-07 11:38:31 -04:00
Yotam Mann
3208497102 small optimization to avoid setting the same value twice
happens sometimes on initialization
2019-08-07 00:53:07 -04:00
Yotam Mann
3a3d563c6e schedule volume from time = 0 2019-08-07 00:52:31 -04:00
Yotam Mann
2397dfedb6 small optimization
doesn't set multiply more than once
2019-08-07 00:52:05 -04:00
Yotam Mann
5dbd58e700 moving assertions first 2019-08-06 23:19:03 -04:00
Yotam Mann
2c2c71dd43 updating to new API 2019-08-06 22:54:58 -04:00
Yotam Mann
c0a70924ad Fixing typing on Oscillator params 2019-08-06 18:24:32 -04:00
Yotam Mann
91db5f9bc7 updating some of the naming and docs
thanks @this-fifo!
2019-08-04 15:53:11 -04:00
Yotam Mann
88ea4f5d49 Merge branch 'pr/523' into typescript 2019-08-04 15:47:35 -04:00
Yotam Mann
adce8e2e70 linting 2019-08-04 15:47:02 -04:00
Yotam Mann
9549e98f11 exporting signals 2019-08-04 15:27:44 -04:00
Filipe Herculano
99f607fbcd fix Scale using incorrect member for input on _setRange 2019-08-04 14:45:49 -04:00
Yotam Mann
4ed750bc1f using Reflect instead of 'hasOwnProperty'
takes care of situation where time has a 'getter'
2019-08-04 13:44:37 -04:00
Yotam Mann
63a0b4e207 Part can accept any object-like thing with a 'time' property 2019-08-04 13:35:48 -04:00
Yotam Mann
1fcd420ee3 using relative paths 2019-08-04 13:21:07 -04:00
Yotam Mann
8af43901bf exposing utils, units and param 2019-08-04 13:12:39 -04:00
Yotam Mann
0f1218b69e updating docs 2019-08-04 13:12:23 -04:00
Filipe Herculano
24c989f94c Merge remote-tracking branch 'upstream/typescript' into typescript 2019-08-04 13:08:58 -04:00
Filipe Herculano
dde20960f3 converting Scale to typescript 2019-08-04 13:08:43 -04:00
Yotam Mann
dd0158d0bf exposing ToneAudioBuffers 2019-08-04 11:04:48 -04:00
Yotam Mann
6160d4ec70 exposing conversions 2019-08-04 11:02:14 -04:00
Yotam Mann
758a157e5a cleaning up 2019-08-04 10:18:45 -04:00
Yotam Mann
0c44dbae14 small tweaks and cleanup to Add typescript conversion
thank you @this-fifo 🙏
2019-08-04 10:17:42 -04:00
Yotam Mann
1122628ab2 Merge branch 'pr/522' into typescript 2019-08-04 10:09:58 -04:00
Yotam Mann
e852b99a43 adding ConnectTest to automatically test connections 2019-08-04 10:07:19 -04:00
Yotam Mann
dac194b8e2 Normalize is never used anywhere
can put back if it turns out it's necessary
2019-08-04 10:01:51 -04:00
Yotam Mann
8c2979fe8a connection tests and channel property tests 2019-08-04 09:54:53 -04:00
Yotam Mann
cc18de471d exposing ToneAudioNode 2019-08-04 09:54:16 -04:00
Yotam Mann
9ab45ab84c removing channel properties from constructor options
will need to set individually when relevant or come up with another solution to setting in constructor. the relevant nodes are not available at the time of the constructor
2019-08-04 09:54:06 -04:00
Filipe Herculano
9eed11d1c5 converting Add to typescript 2019-08-03 16:37:30 -04:00
Yotam Mann
56db8b3a7a simplifying _internalChannels
channelCount/Mode/Interpretation check the input/output nodes, which removes the need for many classes to have _internalChannels
2019-08-03 12:00:14 -04:00
Yotam Mann
b81310f107 doesn't need to set numberOfOutputs 2019-08-02 21:50:04 -04:00
Yotam Mann
b52103652f doc'ing 2019-08-02 21:49:38 -04:00
Yotam Mann
5e8a32b662 numberOfInputs/Outputs is inferred by looking at the input/output node 2019-08-02 21:48:28 -04:00
Yotam Mann
4364f2f843 no longer necessary to pass in number of inputs
the count is inferred by checking the input or output node
2019-08-02 21:47:57 -04:00
Yotam Mann
59330262bd converting Split to ts 2019-08-02 21:46:36 -04:00
Yotam Mann
52bcac2599 setting name to readonly 2019-08-02 21:09:35 -04:00
Yotam Mann
0b6ae165e0 updating toDestination 2019-08-02 16:31:20 -04:00
Yotam Mann
b77f696412 converting Reverb to typescript 2019-08-02 16:29:09 -04:00
Yotam Mann
be4542b5b1 adding a name 2019-08-02 16:28:57 -04:00
Yotam Mann
1792ff1d05 merging functionality from 'dev'
changes were made to .js files which are no longer there. moving functionality to .ts files
2019-08-02 13:56:51 -04:00
Yotam Mann
22396a8942 Merge branch 'dev' into typescript 2019-08-02 13:52:11 -04:00
Yotam Mann
cf31bb6bda end exponentialApproach with a linearRamp
this makes sure that the value ends at the correct value and time instead of continuously approaching.

also addresses https://bugs.chromium.org/p/chromium/issues/detail?id=990393&can=2&q=small%20timeConstant
2019-08-02 13:09:24 -04:00
Yotam Mann
f393cf5815 version should always be 'dev' until built by travis 2019-08-02 11:37:59 -04:00
Yotam Mann
d20f6e8fe9 Releases all held notes
thanks @lidiovargas! i ended up going with something more similar to your first solution. just removing the arrow function to fix the linting error
2019-08-02 10:43:31 -04:00
Yotam Mann
344bd48bc0 removing js files 2019-08-02 10:37:07 -04:00
Yotam Mann
fd163b3c1e linting 2019-08-02 10:36:59 -04:00
Lidio Vargas
82a9b54de1 Fixing sustained notes on Tone.Sampler (travis checked) 2019-08-01 21:00:05 -03:00
Lidio Vargas
f0febbdade Fixing sustained notes on Tone.Sampler (passing test) 2019-08-01 20:32:24 -03:00
Maximilian Wagenbach
b3392308aa Improved documentation of FrequencyShifter and PhaseShiftAllpass.
Removed unneeded code.
2019-08-01 11:48:06 +02:00
Maximilian Wagenbach
3be1921fc8 Added impulse response test for the PhaseShiftAllpass. 2019-08-01 00:23:25 +02:00
Maximilian Wagenbach
7193f721b8 Added FrequencyShifter, a single side band modulation based frequency shifter. 2019-07-31 14:01:51 +02:00
Yotam Mann
a16df958a9 local version should always be 'dev' 2019-07-30 16:05:12 -04:00
Yotam Mann
858af77521 fixing offset errors 2019-07-30 15:53:19 -04:00
Yotam Mann
e97ea7d5df better type checking for sampler url parameters 2019-07-30 15:53:10 -04:00
Yotam Mann
6e5e8b3399 using specific types
importing them so there are not multiple import type errors
2019-07-30 15:35:27 -04:00
Yotam Mann
474ec85408 fixing default duration
made it so that the player never started when Player was synced.
2019-07-30 14:51:07 -04:00
Yotam Mann
d1716266e7 had slice logic backwards
oops
2019-07-30 10:52:49 -04:00
Yotam Mann
312e99e5b3 exporting 'start' 2019-07-30 10:26:13 -04:00
Yotam Mann
a88e9b5a84 making time optional 2019-07-30 10:25:17 -04:00
Yotam Mann
c0bd377805 export 'connect' 2019-07-30 10:24:13 -04:00
Maximilian Wagenbach
866d019228 Added PhaseShiftAllpass.
It implements a 90° phase shift between its two outputs using IIR filters.
2019-07-29 16:21:38 +02:00
Lidio Vargas
65098a0229 Fixing released-sustained notes on Tone.Sampler 2019-07-28 14:01:50 -03:00
Yotam Mann
84a8fb0255 updating docs 2019-07-26 11:56:33 -04:00