Commit graph

616 commits

Author SHA1 Message Date
Yotam Mann
ed367e0f9b adding nominal range to properties 2019-09-24 17:21:59 -04:00
Yotam Mann
df24096376 filter rolloff enum 2019-09-24 17:18:52 -04:00
Yotam Mann
f2285a12b6 setting min and max range for properties 2019-09-24 17:12:46 -04:00
Yotam Mann
03aa301c75 adding filter rolloff type 2019-09-21 13:10:19 -04:00
Yotam Mann
70df9df641 fixing type for ratio 2019-09-21 13:09:06 -04:00
Yotam Mann
f8e7a81490 linting 2019-09-20 17:50:14 -04:00
Yotam Mann
3f6bcd9438 undoing additional lookAhead
turns out to not be necessary
2019-09-20 00:16:03 -04:00
Yotam Mann
abc6ef0e2b removing old classes 2019-09-17 14:46:35 -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
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
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
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
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
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
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
3d26c3adba converting Solo to ts 2019-09-10 10:07:50 -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
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
736106de5f accidentally put extra tab before name 2019-09-04 19:18:44 -04:00
Yotam Mann
75a35108af name is a readonly string 2019-09-04 18:38:04 -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
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
1dba46a822 removing converting files 2019-08-27 10:06:34 -07:00
Yotam Mann
230287f813 updating docs 2019-08-27 10:02:31 -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
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
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
c2e7c3af04 linting 2019-08-19 10:11:48 -07: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
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
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
3a3d563c6e schedule volume from time = 0 2019-08-07 00:52:31 -04:00
Yotam Mann
2c2c71dd43 updating to new API 2019-08-06 22:54:58 -04:00
Yotam Mann
adce8e2e70 linting 2019-08-04 15:47:02 -04:00
Yotam Mann
e852b99a43 adding ConnectTest to automatically test connections 2019-08-04 10:07:19 -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
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
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
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
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
a88e9b5a84 making time optional 2019-07-30 10:25:17 -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
Yotam Mann
84a8fb0255 updating docs 2019-07-26 11:56:33 -04:00
Yotam Mann
69c6238d4c Adding some ASCII art 2019-07-25 15:14:54 -04:00
Yotam Mann
e3f5940afd only relative imports 2019-07-25 13:32:34 -04:00
Yotam Mann
bfc3d7ed15 toMaster() -> toDestination()
more consistent with the Web Audio API
2019-07-25 11:32:56 -04:00
Yotam Mann
9a49c873df exporting modules from main entry 2019-07-25 11:29:36 -04:00
Yotam Mann
3e6484eef6 converting Merge to ts 2019-07-25 10:45:27 -04:00
Yotam Mann
ef19d2e6e8 input and output are no longer arrays
simplifies connect/disconnect logic greatly. Simplifies API to just have clearly named inputs/outputs instead of overloading input/output connect numbers
2019-07-25 10:43:47 -04:00
Yotam Mann
386d96360e adding some ascii art to better explain 2019-07-25 09:08:47 -04:00
Yotam Mann
2f7d4111ee convert CrossFade to ts
now uses StereoPannerNode
2019-07-24 23:18:09 -04:00
Yotam Mann
ffad8c1475 confirm that an instance was disposed
implement Tone.prototype.dispose which flips a boolean wasDisposed.
2019-07-23 12:11:57 -04:00
Yotam Mann
c39dacf22d adding name prop 2019-07-18 14:06:32 -04:00
Yotam Mann
7f47b50917 converting AmplitudeEnvelope to ts 2019-07-18 11:24:32 -04:00
Yotam Mann
9d131effb1 converting Envelope to ts 2019-07-18 10:21:27 -04:00
Yotam Mann
5d36e4a523 only use relative imports 2019-07-17 13:12:21 -04:00
Yotam Mann
990c0f56ed using type instead of string types 2019-07-15 15:37:25 -04:00
Yotam Mann
80e5da5bd4 making paths relative 2019-07-11 17:33:04 -04:00
Yotam Mann
219462fe9e cleaning up circular deps 2019-07-11 09:57:06 -04:00
Yotam Mann
f48696a69e Revert "every class calls super.dispose()"
This reverts commit 60a63cacf8.
2019-07-11 00:36:16 -04:00
Yotam Mann
60a63cacf8 every class calls super.dispose()
makes sure that things don't get disposed twice, which seems to be a common source of issues
2019-07-10 23:35:29 -04:00
tambien
7687ae512e moving some config into the constructor
since multiband split was not yet declared, some of the properties were undefined
2019-06-24 14:35:25 -04:00
tambien
96628e0984 ensuring context is passed to subclasses 2019-06-24 14:34:17 -04:00
tambien
2e177c4ed0 adding multiband split tests 2019-06-24 14:33:54 -04:00
Yotam Mann
02cfefa7ef
Merge branch 'typescript' into fix-typescript-linting 2019-06-24 13:33:18 -04:00
Yotam Mann
f3076e206f
Merge pull request #504 from garrensmith/eq3-multiband
convert multibandsplit and eq3 to typescript
2019-06-24 13:28:45 -04:00
tambien
a887660792 updating docs 2019-06-23 14:48:21 -04:00
Garren Smith
efbd3c7f5f Fix linting issues
Also add in no-unused-expression-chai rule so that chai works with
tslint.
2019-06-23 12:53:57 +02:00
Garren Smith
ac627ab332 convert multibandsplit and eq3 to typescript 2019-06-23 11:36:42 +02:00
tambien
eef868e8a1 matching functionality to Filter.js 2019-06-21 14:42:50 -04:00
Garren Smith
d215e01914 remove unneeded imports in tests 2019-06-21 19:32:06 +02:00
Garren Smith
30425572c9 Convert filter.js to typescript 2019-06-21 19:29:46 +02:00
tambien
ef55dc9bb8 Create Analyser.test.ts 2019-06-19 14:24:30 -04:00
tambien
962610587b converting Volume to ts 2019-06-19 09:53:18 -04:00
tambien
730a818bcb organizing into sub folders 2019-05-23 14:00:49 -04:00
tambien
39cf110fe4 Merge branch 'dev' of https://github.com/Tonejs/Tone.js into typescript 2019-05-21 23:53:46 -04:00
Colin
bb67e9c83d Improved explanation of size in FFT/Analyser docs (#477) 2019-04-12 10:45:34 -04:00
tambien
6fb2b30dce Merge branch 'dev' into typescript 2019-04-12 10:40:10 -04:00
Colin
aa92ea6162 Correct description for Tone.FFT (#476) 2019-04-11 17:43:21 -04:00
tboie
8f08316b41 #471 (#472) 2019-04-04 15:10:03 -04:00
tambien
184102ab4c removing shims
will replace with standardized-audio-context
2019-03-25 22:58:36 -07:00
tambien
c1d748deed adding case where attack time is 0
fixes #425
2019-03-12 13:22:25 -04:00
tambien
3083677249 removing mute
could set "amplitude" to 0, LFO does not need to match Source API
2019-02-01 11:22:10 -05:00
tambien
4a270c2ed5 removing unused return statement 2019-02-01 11:21:29 -05:00
tambien
2780cac504 using Tone.connect for connections with native nodes
addresses #421
2019-01-28 11:02:15 -05:00
tambien
ed71d8141b amd to es6 import/export
no longer using AMD (require.js) style imports, and beginning to move to es6 "import/export" statements everywhere.
2019-01-27 13:05:20 -05:00
tambien
f38c87271f Split can optionally handle more than 2 channels 2019-01-26 20:12:07 -05:00
tambien
4c0659a0ed merge optionallly accepts more than 2 channels 2019-01-26 20:06:07 -05:00
tambien
b2efc57a2a updating docs to reflect FFT output data
fixes #423
2019-01-11 14:30:59 -05:00
tambien
c712219198 lowering meter size
to increase performance
2019-01-08 20:23:54 -05:00
tambien
68f1c78d9a get the frequency response curve 2018-12-28 16:07:39 -05:00
tambien
7be27c65d8 Tone.Channel combines Tone.Solo and Tone.PanVol
provides a channel strip interface similar to DAWs
2018-12-26 17:16:31 -05:00
tambien
2d7879a32e fix linear decayCurve cancelling attack curve
schedule the decay curve to start 1 sample after the attack curve ends
2018-12-21 15:17:39 -05:00
Eric Lewis
f675f74eba Add documentation for Tone.Envelope's decay and release minimum values. (#414)
Fixes #411
2018-12-19 11:21:15 -05:00
tambien
3d1202043a all modules are relative paths
simplifies deep references to individual files
2018-08-26 22:29:17 -04:00
tambien
38897d7bae pass the options object to the next class 2018-07-28 10:20:36 -04:00
Yotam Mann
8a74995f2e making logs more descriptive 2018-06-20 14:56:11 -04:00
Yotam Mann
4dbd48943e using exponentialApproach instead of targetRampTo
reduces call to cancelScheduledValuesAtTime
2018-06-12 23:48:51 -04:00
Yotam Mann
baeb20a17c fixing order of gate connections
had wrong behavior bc of connection order.

fixes #298
2018-06-07 12:49:32 -04:00
Yotam Mann
049bfd04de exponent passed into constructor is applied
fixes #356
2018-06-07 12:21:38 -04:00
Yotam Mann
616af3b9de filter gain is in decibels 2018-06-07 12:12:28 -04:00
Yotam Mann
a441ce3ade changing LPCF implementation to avoid positive feedback loop
Fixes #198
2018-06-07 12:11:53 -04:00
tambien
982bc16b71 gate uses just smoothing instead of attack/release 2018-06-05 22:43:01 -04:00
tambien
765de3c6b8 follower uses a single smoothing value 2018-06-05 22:14:46 -04:00
Yotam Mann
3c2b822b43 can make decayCurve linear or exponential
fixes #354
2018-05-28 18:51:44 -04:00
Yotam Mann
ec4e9a3fdf searches for envelope position in attack curve 2018-05-28 17:59:31 -04:00
tambien
ade4946ff3 removing peak
only use RMS value
2018-05-17 11:40:59 -04:00
David Sherman
c66c453e95 Added type property to Tone.Meter (#276)
* Added 'type' property to Tone.Meter that accepts 'peak' or 'rms' and defaults to 'rms'. Calculation methods + sources added to Tone.Meter. Tests added to Tone.Meter + assertion sources.

* Fixed a number of formatting issues

* more formatting fixes

* Formatting for CI

* fixed variable names

* Updated to use existing gainToDb method.

* Removed tests of removed method.

* Removed whitespaces and tabs.

* Moved Supports.ONLINE_TESTING to original position

* Moded Supports.ONLINE_TESTING to top
2018-05-16 10:41:02 -04:00
tambien
ddbfa81bc3 no need to set the splitter defaults
this is no longer configurable and throws an error when set.

addresses #340
2018-05-03 16:26:45 -04:00
Yotam Mann
62e2cf5dfc fixing docs 2018-04-09 13:24:10 -04:00
Jon Wheeler
1da36262fe Fixed variable name in example (#324) 2018-04-01 11:38:51 -04:00
Yotam Mann
a5503e02d2 linting 2018-03-05 12:25:33 -05:00
Yotam Mann
56c12fb627 Tone.Mono coerces the incoming mono or stereo signal into a mono signal 2018-02-05 16:40:55 -05:00
Yotam Mann
ea5d3880c0 using SignalBase.connect instead of Signal.connect 2018-02-04 11:40:47 -05:00
Yotam Mann
dded291a25 linting 2018-01-02 10:37:27 -05:00
Yotam Mann
dc8111665f Envelope uses Signal not TimelineSignal 2017-12-29 20:42:01 -05:00
Yotam Mann
46df5578d9 removing TimelineSignal 2017-12-29 20:41:49 -05:00
Yotam Mann
4316530b16 linting 2017-10-26 16:03:00 -04:00
Yotam Mann
c58fad41f0 linting 2017-10-26 15:26:04 -04:00
Yotam Mann
2d2424e639 envelope uses Signal instead of TimelineSignal
they are equivalent now bc of the AudioParam shim
2017-10-26 00:51:31 -04:00
Yotam Mann
183bd1e94d using StereoPannerNode shim when not supported 2017-10-26 00:07:02 -04:00
Yotam Mann
eb162526bb moving shim to it's own file 2017-10-25 23:01:42 -04:00
Yotam Mann
a82ab45132 linting 2017-10-25 17:57:52 -04:00
Yotam Mann
cb2a982c39 linting 2017-10-21 19:02:46 -04:00
Yotam Mann
1d18b1c53b removing Tone.Expr from classes 2017-10-21 18:29:50 -04:00
Yotam Mann
a908d6bd92 correcting 'pan' type 2017-10-21 15:22:14 -04:00
Yotam Mann
42634bd453 using exponential approach for decay and release curves 2017-09-13 11:04:13 -04:00
Yotam Mann
892668b01e linearRampToValue -> linearRampTo 2017-08-31 12:45:25 -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
e51fc401ef updating private method jsdocs 2017-08-28 11:08:20 -04:00
Yotam Mann
e6faa39dba classes which generate or process sound extend Tone.AudioNode 2017-08-27 17:50:31 -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
63fcb4af1e updating private variable 2017-08-12 10:45:28 -04:00
Yotam Mann
9f31807cf4 sampleTime and blockTime should be instance variables not static 2017-07-27 17:54:57 -04:00
Yotam Mann
effd317acd Merge branch 'dev' of https://github.com/Tonejs/Tone.js into dev 2017-07-27 17:46:15 -04:00
Yotam Mann
7734e70421 removing unnecessary returnType setting 2017-07-08 11:46:27 -04:00
Yotam Mann
3a08d9fd2e return type is always float32
removing byte analysis since it isn’t very useful
2017-07-08 11:21:26 -04:00
Yotam Mann
1c2e9afc0c float is default analyser return type 2017-06-19 17:13:46 -04:00
Yotam Mann
fc1496182a making channel mode explicit
fixes splitting problem in FF
2017-05-16 22:51:51 -07:00
Yotam Mann
c9203221aa making blockTime and sampleTime static vars 2017-05-07 19:15:35 -07:00
Yotam Mann
7159700f11 making connectSeries static 2017-05-01 14:06:36 -04:00
Yotam Mann
b927395825 making defaultArg static 2017-04-30 15:03:49 -04:00
Yotam Mann
0354a87dab hasStereoPanner is now static 2017-04-30 14:11:44 -04:00
Yotam Mann
3a0a55be7b Solo makes it easier to solo one of many sources
will mute all other instances of Tone.Solo when an instance.solo=true
2017-04-30 12:39:09 -04:00
Yotam Mann
f7b7600ac9 fixing jsdoc errors
[skip ci]
2017-04-30 11:16:35 -04:00
Yotam Mann
4bda177b83 gainToDb, dbToGain, intervalToFrequencyRatio now static functions 2017-04-26 23:21:26 -04:00
Yotam Mann
4bd1044cb4 using only static type queries 2017-04-26 00:27:28 -04:00
Yotam Mann
edfa168713 moving to static type queries
i.e. this.isString -> Tone.isString
2017-04-26 00:24:19 -04:00
Yotam Mann
6e585e8f82 components using new defaults api
also invoking super constructor first in preparation for es6 migration
2017-04-25 23:08:23 -04:00
Yotam Mann
b82f2bd6d7 surfaced returnType in docs
[skip ci]
2017-04-20 15:13:30 -04:00
Yotam Mann
88c0ea4fb6 fixed example to new UserMedia API
[skip ci]
2017-04-20 15:12:16 -04:00
Yotam Mann
2073ccdf8c fixing panning in example
[skip ci]
2017-03-28 21:14:48 -04:00
Yotam Mann
4499e80b2e uses passed in volume for _unmutedVolume 2017-03-26 16:40:00 -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
bef5457c01 using Math.SQRT1_2
I didn’t know this existed
2017-03-22 15:21:21 -04:00
Yotam Mann
af58fd34de updating to new getConstant API 2017-03-22 11:43:36 -04:00
Yotam Mann
d81ad3e8c7 polyfilling getFloatTimeDomainData 2017-03-13 00:56:04 -04:00
Yotam Mann
19a41080ba moving constants to Context 2017-02-19 11:48:23 -05:00
Yotam Mann
11d6da77cc updating docs to UserMedia instead of Microphone
[skip ci]
2017-01-08 15:58:58 -05:00
Yotam Mann
0681181d67 speeding up the ramp time constant 2016-12-15 13:38:41 -05:00
Yotam Mann
267d78d4a4 ease renamed to cosine
[skip ci]
2016-11-22 22:38:58 -08:00
Yotam Mann
5efa85081c making all of Compressor's parameters Tone.Params 2016-10-19 01:01:31 -04:00
Yotam Mann
b5ba9e072c ramping position values
this gets rid of a lot of clicking
2016-10-05 00:18:41 -04:00
Yotam Mann
bab37aea07 SpatialPanner and Listener wrappers 2016-10-01 21:45:22 -04:00
Yotam Mann
ac0e3db386 updated docs
[skip ci]
2016-09-25 19:00:10 -04:00
Yotam Mann
b1765f71b0 moving the minimum timing to the Instrument classes 2016-09-24 10:38:57 -04:00
Yotam Mann
1c3e06c2e5 schedule immediate envelopes one block in the future
this avoids some pops
2016-09-23 20:07:41 -04:00
Yotam Mann
3d36324b8d updating Q value so it doesn't feedback
Fixes #166

thanks @mmckegg
2016-09-23 10:16:10 -04:00
Yotam Mann
372053a029 using Tone.Delay everywhere instead of DelayNode 2016-09-20 00:01:27 -04:00
Yotam Mann
a60328345e using Tone.Gain everywhere instead of GainNode 2016-09-19 23:53:07 -04:00
Yotam Mann
76ad44360d updating to new API 2016-09-19 23:02:42 -04:00
Yotam Mann
c135392f55 changing sync to match new Source sync API 2016-09-18 19:37:31 -04:00
Yotam Mann
0824582274 update the octaves when updating the baseFrequency
otherwise it remains at the previous value
2016-07-20 15:37:51 -04:00
Yotam Mann
a40aa6bd12 Fixing case where partial envelope is retriggered using one of the predefined envelopes 2016-06-17 13:13:20 -04:00
Yotam Mann
eea938094c renaming cosine->sine and ease->sine
Fixes #69
2016-06-12 09:56:18 -04:00
Yotam Mann
4628f8c47a prefixing errors with class name. 2016-05-25 20:50:46 -04:00