Commit graph

1080 commits

Author SHA1 Message Date
Michael "Z" Goddard
90589b861d
fix: fix taking a SoundPlayer's state 2018-06-12 12:48:54 -04:00
Michael "Z" Goddard
5c822e6542
fix: listen to ended event to note playback stopping
- Fix playing a sound a second time once the first playback finished
2018-06-12 12:47:56 -04:00
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
Ray Schamp
224fdeedf1
Merge pull request #86 from mzgoddard/test-for-effect
Test for effect
2018-06-11 13:11:17 -04:00
Michael "Z" Goddard
f6d5353e83
split travis testing into lint, tap, build tasks 2018-06-08 12:39:30 -04:00
Michael "Z" Goddard
26e972a62d
add tap script to package.json 2018-06-08 12:39:30 -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
e40e6e0b1b
add Effect tests and mocks 2018-06-08 12:39:29 -04:00
Eric Rosenbaum
6c8edf52b9
Merge pull request #85 from mzgoddard/volume-effect
add and use VolumeEffect in AudioPlayer
2018-06-07 13:53:26 -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
Eric Rosenbaum
2f05e45a6d
Merge pull request #84 from mzgoddard/effects-same-api
extend existing effects from Effect
2018-06-05 17:05:22 -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
Eric Rosenbaum
220483119b
Merge pull request #83 from mzgoddard/break-up-index
break up index.js into files per class
2018-06-05 10:56:36 -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
Ray Schamp
c40105cf07
Merge pull request #81 from mzgoddard/dependents-no-boiler
Use src/index for browser entry point
2018-05-31 17:46:55 -04:00
Ray Schamp
33fba91bcb
Merge pull request #80 from mzgoddard/babel-preset-env
Replace babel-preset-es2015 with babel-preset-env
2018-05-08 16:50:03 -04:00
Michael "Z" Goddard
ee5aafc862 Replace babel-preset-es2015 with babel-preset-env 2018-05-08 16:49:24 -04:00
Ray Schamp
a9182ab10e
Merge pull request #79 from mzgoddard/webpack-4
Update to webpack 4
2018-05-08 12:58:07 -04:00
Michael "Z" Goddard
d5d6ab9eb8
Depend on script dependencies for downstream webpack
Downstream webpack will need any dependencies src/ depends on so it can
successfully build. Also if multiple packages being built into a larger
script share a common dependency version range, they can share the
dependency instead of duplicating it. This will save built file size,
execution time, and memory.
2018-05-08 11:13:05 -04:00
Michael "Z" Goddard
df13e181eb
Update to webpack 4 2018-05-07 12:41:19 -04:00
kchadha
6cbe1b9e0f
Merge pull request #76 from kchadha/decode-sound-refactor
Refactor decodeSound function
2018-04-17 11:02:34 -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
77a1f17b1b
Merge pull request #71 from LLK/bugfix/disconnect-on-dispose
Disconnect audio nodes on dispose
2018-01-10 09:56:15 -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
97e099e6de
Merge pull request #69 from LLK/feature/dezippering
Set gain using setTargetAtTime
2017-12-20 15:55:12 -05: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
44879d5965
Merge pull request #66 from paulkaplan/fix-stop-all-error
Remove leftover references to drum and note player
2017-11-22 09:59:52 -05:00
Paul Kaplan
dce5316551 Remove leftover references to adrum and note player 2017-11-22 09:55:02 -05:00
Eric Rosenbaum
d31494fed6
Merge pull request #65 from LLK/feature/remove-music-stuff
Remove music functionality
2017-11-21 13:45:25 -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
eb27dcd03a
Merge pull request #64 from LLK/feature/get-audioplayer-input-node
Add a function to get an AudioPlayer’s input node
2017-11-14 18:50:53 -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
3cad765e76 Merge pull request #60 from LLK/bugfix/safari-stop
Safely stop sounds in safari
2017-08-22 14:13:36 -04:00
Eric Rosenbaum
283049e514 Safely stop sounds in safari 2017-08-22 11:33:18 -04:00
Paul Kaplan
e57484c2f5 Merge pull request #58 from paulkaplan/start-audio-ios
Use StartAudioContext to allow playing on mobile safari
2017-07-27 09:54:51 -04:00
Paul Kaplan
a9168f04aa Use StartAudioContext to allow playing on mobile safari 2017-07-26 20:20:39 -04:00