Michael "Z" Goddard
a5702a7d49
add decodeSoundPlayer to AudioEngine
...
- decodeSoundPlayer returns a SoundPlayer instance instance of the
sound id
- Write deprecation notes in AudioEngine about audioBuffers
2018-06-11 16:16:14 -04:00
Michael "Z" Goddard
06a9af4dc3
implement new SoundPlayer
...
- Add GreenPlayer as SoundPlayer replacement
- Standalone playback separate from an AudioPlayer
- Each GreenPlayer has their own VolumeEffect for fading out
- play() while already isPlaying fades out the last copy
- stop() fades the sound out
- stopImmediate() hard stops the sound
2018-06-11 16:16:14 -04:00
Michael "Z" Goddard
16883f60f8
support null AudioPlayer in Effect
...
Support null AudioPlayer so Effect chains can be declared without it.
2018-06-11 16:16:13 -04:00
Michael "Z" Goddard
87f400b27d
set DECAY_TIME to 25ms
...
Use a DECAY_TIME that envelopes half of the lowest frequency a person
can hear.
2018-06-11 16:16:13 -04:00
Michael "Z" Goddard
0059ff53e1
start audio param transition at now
...
Explicitly start the param transitions at the audio context's now time.
2018-06-11 16:16:13 -04:00
Michael "Z" Goddard
841b029d7f
streamline connecting Effects
...
- Add sanity checks to connect
2018-06-08 12:39:30 -04:00
Michael "Z" Goddard
65702e7722
use VolumeEffect in AudioPlayer
2018-06-06 14:42:05 -04:00
Michael "Z" Goddard
1d9e530df2
add VolumeEffect
2018-06-06 14:40:21 -04:00
Michael "Z" Goddard
8a75061a19
fix Effect bugs
2018-06-06 14:38:26 -04:00
Michael "Z" Goddard
618239654f
fixup! extend existing effects from Effect
2018-06-05 14:42:46 -04:00
Michael "Z" Goddard
5b8f0fce65
fixup! extend existing effects from Effect
2018-06-05 13:59:53 -04:00
Michael "Z" Goddard
61e54b2457
extend existing effects from Effect
...
Add Effect class that manages connecting the effects in a chain from
their AudioPlayer to the AudioEngine.
2018-06-05 12:46:29 -04:00
Michael "Z" Goddard
d5b6290d45
break up index.js into files per class
...
- Add AudioEngine.js
- Add AudioPlayer.js
- Add Loudness.js
2018-06-04 18:11:44 -04:00
Karishma Chadha
8d67c6a4c3
Update variable name.
2018-04-17 09:36:21 -04:00
Karishma Chadha
a3ecd2ddc2
More refactoring/code-cleanup addressing PR comments.
2018-04-13 17:46:09 -04:00
Karishma Chadha
158adb0868
refactor decodeSound function, to only use sound data buffer to decode the sound instead of relying metadata from the project json
2018-04-13 11:40:34 -04:00
Eric Rosenbaum
84fdf5c76a
Merge pull request #70 from towerofnix/fix-firefox-loudness
...
Don't use mediaStream property, which is missing on Firefox
2018-01-16 15:39:58 -05:00
Eric Rosenbaum
d2b6cb40e3
Disconnect audio nodes on dispose
2018-01-09 18:18:49 -05:00
Florrie
3318b14457
Don't use mediaStream property
...
..which is missing on Firefox. Fixes #67 .
2018-01-04 08:31:09 -04:00
Eric Rosenbaum
734f976585
New name and value for DECAY_TIME
2017-12-20 15:17:26 -05:00
Eric Rosenbaum
1c8a545a8a
Set gain using setTargetAtTime
2017-12-20 12:07:53 -05:00
Paul Kaplan
dce5316551
Remove leftover references to adrum and note player
2017-11-22 09:55:02 -05:00
Eric Rosenbaum
b15312702e
Remove log
2017-11-21 10:50:59 -05:00
Eric Rosenbaum
730c57a976
Remove instruments and drums
2017-11-21 10:44:50 -05:00
Eric Rosenbaum
202d6d8b02
Add a function to get an AudioPlayer’s input node
2017-11-09 16:28:03 -05:00
Eric Rosenbaum
283049e514
Safely stop sounds in safari
2017-08-22 11:33:18 -04:00
Paul Kaplan
a9168f04aa
Use StartAudioContext to allow playing on mobile safari
2017-07-26 20:20:39 -04:00
Paul Kaplan
20d05ee5c9
Merge pull request #57 from paulkaplan/use-uid-not-md5
...
Play sounds by unique sound ID and allow getting/setting buffers by sound ID
2017-07-26 08:59:43 -04:00
Paul Kaplan
e8334e5a9b
Fix getter
2017-07-25 12:55:23 -04:00
Paul Kaplan
062f39244b
Add public getter/setter for buffers
2017-07-25 12:30:30 -04:00
Eric Rosenbaum
f26dbde03b
Merge pull request #56 from LLK/feature/decodeaudiodata-safari
...
Fall back to the older callback API for decodeAudioData
2017-07-25 11:35:09 -04:00
Eric Rosenbaum
5cb4146aa7
Merge pull request #55 from LLK/feature/panner
...
Implement panning without panner node
2017-07-25 11:34:51 -04:00
Paul Kaplan
0555407406
Use uid instead of md5 for keying audio buffer cache
2017-07-25 11:33:56 -04:00
Eric Rosenbaum
aa2adf6c03
Fall back to the older callback API for decodeAudioData
...
If promises are not supported, such as on Safari
2017-07-21 12:35:21 -04:00
Eric Rosenbaum
68d5ac2e34
Lint
2017-07-21 12:10:32 -04:00
Eric Rosenbaum
89cdb92c23
Implement panning without panner node
2017-07-21 12:04:43 -04:00
Eric Rosenbaum
643d33e482
Use audio-context module for shared audiocontext
...
To prevent creating multiple audio contexts
2017-07-21 10:50:15 -04:00
Eric Rosenbaum
dd0d9556ed
Explain loudness scaling, and clamp to 100
2017-06-23 13:13:30 -04:00
Eric Rosenbaum
5add85bd60
Fix comments
2017-06-23 11:58:04 -04:00
Eric Rosenbaum
dba8c6f91d
Adjust loudness smoothing
2017-06-23 10:59:10 -04:00
Eric Rosenbaum
a081333ddd
Fix comment
2017-06-22 11:07:24 -04:00
Eric Rosenbaum
b7ff586ca1
Inline the interval to frequency function
2017-06-22 11:06:12 -04:00
Eric Rosenbaum
66b4ae3795
Remove unused variable
2017-06-22 10:54:52 -04:00
Eric Rosenbaum
0bc892f03d
Use “audioContext” to refer to webAudioContext
2017-06-22 10:51:57 -04:00
Eric Rosenbaum
90af375b03
Use arrow functions
2017-06-21 11:23:32 -04:00
Eric Rosenbaum
43e0408434
Lint
2017-06-21 10:46:42 -04:00
Eric Rosenbaum
2974a5e65b
Re-implement loudness block
2017-06-20 18:34:12 -04:00
Eric Rosenbaum
03034dd2f7
Remove dependency on Tone.js
2017-06-20 16:50:02 -04:00
Eric Rosenbaum
865d3cde88
Correctly call this.intervalToFrequencyRatio
2017-06-19 17:41:08 -04:00
Eric Rosenbaum
e515bf4026
Cleanup
2017-06-19 17:40:53 -04:00