Commit graph

147 commits

Author SHA1 Message Date
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
Eric Rosenbaum
5e6e33264d Remove tone.js dependency 2017-06-19 17:25:11 -04:00
Eric Rosenbaum
ff6cd4a094 Remove all audio effects except pitch and pan 2017-06-19 14:33:23 -04:00
Paul Kaplan
5c4a88b739 Make a copy before using audio buffer 2017-06-14 09:10:35 -04:00
Eric Rosenbaum
e8864387c6 Use native audio buffer source node
Instead of the Tone js wrapper for it, because a recent update to Tone changed the ‘onended’ callback in a way that broke our “play sound until done” block.
2017-04-18 18:40:06 -04:00
Ray Schamp
ea3c4a47f2 Fix while condition, disable eslint complaint 2017-04-18 18:05:36 -04:00
Ray Schamp
fa879cee9d Fix static getters
Thanks @ericrosenbaum!
2017-04-18 17:59:37 -04:00
Ray Schamp
9874cf006f Update to use ES6 class syntax 2017-04-18 12:22:06 -04:00
Ray Schamp
e50ba400f9 Update syntax for eslint-config-scratch 2017-04-17 11:52:12 -04:00
Ray Schamp
ee8462f53f Pass with eslint --fix 2017-04-17 11:52:12 -04:00
Ray Schamp
cd699dbc0f Install and configure eslint-config-scratch 2017-04-17 11:52:12 -04:00
Ray Schamp
0610f8a6ce Update packages, fix lint error 2017-04-17 11:11:06 -04:00
Eric Rosenbaum
c354189385 Merge pull request #33 from LLK/feature/loudness
Add mic input for loudness block
2017-04-07 14:02:22 -04:00
Paul Kaplan
6128309d93 Add jsdoc for decodeSound function 2017-03-31 12:09:07 -04:00
Paul Kaplan
cc454f2f72 Return the loader promise for chaining 2017-03-31 12:02:36 -04:00
Eric Rosenbaum
04467673b3 Add stub for loadSounds function with warning
… so that the gui can call it without breaking, until it is updated.
2017-03-31 10:50:21 -04:00
Eric Rosenbaum
b14852ab3c If mic is not enabled, return -1
To match Scratch 2.0 behavior
2017-03-27 13:23:01 -04:00
Eric Rosenbaum
83afeb1916 Tidy up sound decoding 2017-03-27 11:51:01 -04:00
Eric Rosenbaum
3608a5947f Decode sounds in audio engine
Remove logic for loading sounds, since that is handled by Scratch Storage
2017-03-22 18:09:42 -04:00
Eric Rosenbaum
c5daccef7c Rename to ADPCMSoundDecoder, and only decode
Scratch Storage now handles asset loading, so this class is now just the decoder
2017-03-22 18:08:44 -04:00
Eric Rosenbaum
7d6adf5864 Add mic input for loudness block 2017-03-20 18:49:37 -04:00
Eric Rosenbaum
ce9766451f Update jsdocs 2017-02-09 15:48:37 -05:00
Eric Rosenbaum
b91226f9e8 playnote uses volume from vm to set gain 2017-02-09 14:53:59 -05:00
Eric Rosenbaum
5e0e4e2e82 added a comma to a comment 2017-02-02 15:52:36 -05:00
Eric Rosenbaum
bea203e122 fix JSDoc comment 2017-02-02 15:48:26 -05:00
Eric Rosenbaum
7e671791b8 use an enum for audio effect names 2017-02-02 15:41:16 -05:00
Eric Rosenbaum
de99228cd8 check for own property in for (var _ in _ ) 2017-02-02 15:25:36 -05:00
Eric Rosenbaum
1c4709e5b9 bind to set isPlaying flag on ended 2017-02-02 15:25:26 -05:00