Commit graph

188 commits

Author SHA1 Message Date
Pavle Goloskokovic
25a11687c2 Replaced pausedTime field with config seek value 2017-12-05 20:01:06 +01:00
Pavle Goloskokovic
f347bcc45a Limiting seek value to be between 0 and current duration in seek property setter 2017-12-05 19:57:07 +01:00
Pavle Goloskokovic
7920ad3b6d Setting config seek value to value provided to seek property setter 2017-12-05 19:55:48 +01:00
Pavle Goloskokovic
d7f65cc003 Added comments to make it easier to figure out isPaused and isPlaying current values at any time 2017-12-05 19:51:15 +01:00
Pavle Goloskokovic
1590ab2dda Returning config seek value in seek property getter if is not playing 2017-12-05 19:48:52 +01:00
Pavle Goloskokovic
5a5444e936 Returning value from getCurrentTime in seek property getter only if sound is currently playing 2017-12-05 19:47:41 +01:00
Pavle Goloskokovic
6c7f7ae732 Setting pausedTime to current seek value 2017-12-05 19:45:33 +01:00
Pavle Goloskokovic
aa503131a4 Returning value from getCurrentTime in seek property getter 2017-12-05 19:44:37 +01:00
Pavle Goloskokovic
a27f32b3a3 Added getCurrentTime method to WebAudioSound class to precisely calculate current sound time 2017-12-05 19:43:08 +01:00
Pavle Goloskokovic
0543b8d5ef Calling resetConfig after starting buffer sound 2017-12-05 19:41:07 +01:00
Pavle Goloskokovic
b2950775a1 Applying config right before calling start on buffer source 2017-12-05 19:36:59 +01:00
Pavle Goloskokovic
7bde818fa5 Override applyConfig method and moved rateUpdates resetting logic there 2017-12-05 19:35:26 +01:00
Pavle Goloskokovic
97441f3bc8 Adding initial rate update to help calculate seek 2017-12-05 19:21:23 +01:00
Pavle Goloskokovic
ad687016ad Included config seek into calculation when playing sound 2017-12-05 19:19:19 +01:00
Pavle Goloskokovic
3176293f53 Resetting rateUpdates before playing sound source 2017-12-05 19:14:53 +01:00
Pavle Goloskokovic
fb9bc44685 Save rate updates only when sound is playing 2017-12-05 19:13:09 +01:00
Pavle Goloskokovic
7dd0a877ec Save sound current time instead of context current time 2017-12-05 19:12:18 +01:00
Pavle Goloskokovic
54f5e6141d Adding an item to rateUpdates every time setRate method is called 2017-12-05 19:11:30 +01:00
Pavle Goloskokovic
bc486daaa3 Adding rateUpdates field to WebAudioSound class to keep track of all rate changes 2017-12-05 19:09:34 +01:00
Pavle Goloskokovic
6e85e6a419 Adding seek property to WebAudioSound class 2017-12-05 19:07:40 +01:00
Pavle Goloskokovic
de1657de01 Updated comments with private and readonly descriptors 2017-12-04 22:09:41 +01:00
Pavle Goloskokovic
66d216af19 Reading total rate value directly from totalRate property in setRate 2017-12-01 15:41:24 +01:00
Pavle Goloskokovic
786c6913ac Removing WebAudioSpriteSound class, audio sprite creation logic is generic and can be used in base sound manager class, no need for adding more classes and making class hierarchy more complex 2017-11-30 22:15:47 +01:00
Pavle Goloskokovic
9a3d0a4140 Added hasOwnProperty check for traversing spritemap object 2017-11-30 18:56:38 +01:00
Pavle Goloskokovic
5c3a3ebef2 Improve readability with local variable 2017-11-30 18:56:12 +01:00
Pavle Goloskokovic
9a156ec898 Adding marker for each key in spritemap object 2017-11-30 18:55:21 +01:00
Pavle Goloskokovic
d65cf17a4d Added spritemap property to WebAudioSpriteSound that holds reference to 'spritemap' object form json file generated by audiosprite tool. 2017-11-30 18:54:27 +01:00
Pavle Goloskokovic
39edc8a9ac Defaulting config to empty object and calling super method in WebAudioSpriteSound constructor 2017-11-30 18:53:12 +01:00
Pavle Goloskokovic
6412a3c3c2 Added WebAudioSpriteSound class - a Web Audio implementation of audio sprite sound 2017-11-30 18:50:54 +01:00
Pavle Goloskokovic
9ec1fb4cd1 Removing touche events when unlocking only after promise returned from resume method gets resolved 2017-11-30 14:41:46 +01:00
Pavle Goloskokovic
1b94d7eac3 Trying to unlock Web Audio on both touchstart and touchend events 2017-11-30 14:39:24 +01:00
Pavle Goloskokovic
f692aad1b1 Replaced touchstart with touchend event when unlocking Web Audio 2017-11-30 13:37:31 +01:00
Pavle Goloskokovic
65c30b9f7a Removed detune property as it is now defined in BaseSoundManager class 2017-11-27 17:38:43 +01:00
Pavle Goloskokovic
e4cebbf29c Removed rate property as it is now defined in BaseSoundManager class 2017-11-27 17:38:28 +01:00
Pavle Goloskokovic
3c2670a2f9 Removed _detune field as it is now set in BaseSoundManager class 2017-11-27 17:37:41 +01:00
Pavle Goloskokovic
c84a00e248 Removed _rate field as it is now set in BaseSoundManager class 2017-11-27 17:37:11 +01:00
Pavle Goloskokovic
cf46145d7c Calling super method in setRate method of WebAudioSound class, setting returned value to source playback rate audio param and returning the same value to match method signature 2017-11-27 17:32:16 +01:00
Pavle Goloskokovic
881474b7cd Added a TODO to take into account playback rate when pausing and resuming sound 2017-11-27 16:50:45 +01:00
Pavle Goloskokovic
ffc205b400 Calling setRate method on all sound objects when updating global detune value 2017-11-27 16:50:05 +01:00
Pavle Goloskokovic
c57f692c85 Calling setRate method on all sound objects when updating global rate value 2017-11-27 16:49:28 +01:00
Pavle Goloskokovic
9fffd57ad3 Moved sound source not null check from properties' setter methods to setRate method 2017-11-27 16:48:20 +01:00
Pavle Goloskokovic
db06b3d742 Calling setRate in WebAudioSound detune property's setter method 2017-11-27 16:46:42 +01:00
Pavle Goloskokovic
074c60c270 Calling setRate in WebAudioSound rate property's setter method 2017-11-27 16:45:58 +01:00
Pavle Goloskokovic
1fddd3de2a Added setRate method to WebAudioSound class that calculates and sets playback rate based on sound's and manager's detune and rate values 2017-11-27 16:44:23 +01:00
Pavle Goloskokovic
d13fae2260 Preventing negative values for source start call 2017-11-26 18:12:55 +01:00
Pavle Goloskokovic
93ac04329b Updated WebAudioSound update method docs and signature 2017-11-26 17:25:01 +01:00
Pavle Goloskokovic
66dcd9f02f Resetting hasEnded in update method 2017-11-26 17:07:56 +01:00
Pavle Goloskokovic
0a078d26f6 Setting hasEnded when sound ends 2017-11-26 17:07:05 +01:00
Pavle Goloskokovic
f0bc96e68f Checking hasEnded on update in order to call stop method 2017-11-26 17:05:24 +01:00
Pavle Goloskokovic
84e6459b59 Added hasEnded property to WebAudioSound class 2017-11-26 17:03:36 +01:00
Pavle Goloskokovic
ceeef0368c Added a todo to fix race condition 2017-11-26 16:41:46 +01:00
Pavle Goloskokovic
2995b7eaf6 Added short logic explanation for onended event handler 2017-11-26 16:37:03 +01:00
Pavle Goloskokovic
e13b829ab1 Removed redundant check in onended handler and reverted setting source to null before calling stop() on it since it does not invoke onended event handler immediately 2017-11-26 16:35:13 +01:00
Pavle Goloskokovic
007a565700 Just checking for null sound reference isn't enough since because calling play() on already playing sound is not covered by that condition 2017-11-26 16:31:06 +01:00
Pavle Goloskokovic
aab5150016 Setting source to null before calling stop on it to determine if onended event was fired when sound ended or when it was stopped by user 2017-11-26 16:28:54 +01:00
Pavle Goloskokovic
04eb680d52 Checking if source is null before stopping sound on ended handler because it is called also when stop() method is called on it 2017-11-26 16:27:39 +01:00
Pavle Goloskokovic
1808fab27e Calling stop method when sound ends 2017-11-26 16:24:49 +01:00
Pavle Goloskokovic
53dbf050d4 Marked a few methods as private 2017-11-26 16:19:56 +01:00
Pavle Goloskokovic
762c6cb147 Updated a TODO 2017-11-23 13:55:27 +01:00
Pavle Goloskokovic
266ebc4925 Taking into account marker start time on resuming sound 2017-11-23 13:55:08 +01:00
Pavle Goloskokovic
d369d46e35 Taking into account marker start time if marker is currently played 2017-11-23 13:53:57 +01:00
Pavle Goloskokovic
c1b0bc4ee7 Added a TODO for scheduled playback 2017-11-22 18:07:08 +01:00
Pavle Goloskokovic
068fc6d1c9 Renamed 'marker' param of play method to 'markerName' to avoid any confusion for WebAudioSound 2017-11-22 18:06:21 +01:00
Pavle Goloskokovic
de0aefba7e Added default value for config in WebAudioSound constructor 2017-11-22 17:58:05 +01:00
Pavle Goloskokovic
9a143694d1 Using duration property instead of config duration setting in WebAudioSound 2017-11-22 17:56:55 +01:00
Pavle Goloskokovic
92abe3f678 Remove completed TODO 2017-11-22 17:54:38 +01:00
Pavle Goloskokovic
ffe4e49512 Setting duration and totalDuration properties in WebAudioSound constructor 2017-11-22 17:54:00 +01:00
Pavle Goloskokovic
90d2e8cf03 Removed setting duration setting in config for WebAudioSound 2017-11-22 17:51:10 +01:00
Pavle Goloskokovic
cd43f0095c fixed deprecation issues with AudioParam for WebAudioSoundManager 2017-11-21 19:47:43 +01:00
Pavle Goloskokovic
1f32f04036 fixed deprecation issues with AudioParam for WebAudioSound 2017-11-21 19:47:27 +01:00
Pavle Goloskokovic
658e8c0ee6 implemented onBlur and onFocus methods for WebAudioSoundManager 2017-11-21 18:09:30 +01:00
Pavle Goloskokovic
526df860d9 added method for unlocking audio context on mobile devices 2017-11-21 15:43:10 +01:00
Pavle Goloskokovic
cafa91005f updated description for detune setting and added a check to see if it's available, webkit implementation does not support it 2017-11-20 14:54:33 +01:00
Pavle Goloskokovic
82083897aa updated source stopping logic for WebAudioSound class 2017-11-17 18:38:23 +01:00
Pavle Goloskokovic
6577a232a1 adding flag to WebAudioSoundManager indicating if Web Audio implementation is webkit or standards based 2017-11-17 17:30:29 +01:00
Pavle Goloskokovic
9098b806b2 added checks to playback control methods for WebAudioSound 2017-11-17 17:17:06 +01:00
Pavle Goloskokovic
720d2a9665 moved source buffer stopping and removing to separate method for reuse 2017-11-17 17:07:04 +01:00
Pavle Goloskokovic
a6fcb4cf53 added a couple of TODOs 2017-11-17 17:02:11 +01:00
Pavle Goloskokovic
478656df98 moved source buffer creation and starting to separate method for reuse 2017-11-17 17:01:12 +01:00
Pavle Goloskokovic
e6f17744b6 handling source buffer on method calls for WebAudioSound 2017-11-17 16:16:01 +01:00
Pavle Goloskokovic
7b90fc7f90 updating pausedTime value on method calls for WebAudioSound 2017-11-17 15:42:22 +01:00
Pavle Goloskokovic
f7f5bebd72 added pausedTime field to WebAudioSound class 2017-11-17 15:33:42 +01:00
Pavle Goloskokovic
f1a15571ff setting startTime to context current time on play for WebAudioSound 2017-11-17 15:29:49 +01:00
Pavle Goloskokovic
7f0930eec0 stopping source buffer if sound is already playing on play for WebAudioSound 2017-11-17 15:28:27 +01:00
Pavle Goloskokovic
ead02ec186 added super calls to pause and resume methods for WebAudioSound 2017-11-17 15:23:52 +01:00
Pavle Goloskokovic
a9692ce2dd stopping source and resetting fields on stop call for WebAudioSound 2017-11-17 15:05:17 +01:00
Pavle Goloskokovic
0d1fb8a15e added startTime field to WebAudioSound class 2017-11-17 14:57:57 +01:00
Pavle Goloskokovic
3828540ba4 moved web audio implementations into separate folder 2017-11-17 14:17:59 +01:00