Pavle Goloskokovic
|
1f5d4f2769
|
Removed createBufferSource method since its logic was used only in one place
|
2017-12-12 20:13:58 +01:00 |
|
Pavle Goloskokovic
|
67477708b2
|
Ditching loopSource approach as logic would be too complicated when taking playback rate into account
|
2017-12-12 20:11:46 +01:00 |
|
Pavle Goloskokovic
|
c06a2bc78c
|
Setting loop source rate in setRate method if looping is enables
|
2017-12-12 20:00:49 +01:00 |
|
Pavle Goloskokovic
|
dbc4b8b6f2
|
Renamed createLoopBufferSource to createAndStartLoopBufferSource and added some logic for starting loop source
|
2017-12-12 20:00:04 +01:00 |
|
Pavle Goloskokovic
|
d13bdfde62
|
Added createBufferSource to reuse buffer source creation logic
|
2017-12-12 19:58:44 +01:00 |
|
Pavle Goloskokovic
|
648187295e
|
Added method for creating loop buffer source
|
2017-12-12 19:56:18 +01:00 |
|
Pavle Goloskokovic
|
d788ed3a44
|
Stop and remove loopSource in stopAndRemoveBufferSource
|
2017-12-12 19:52:24 +01:00 |
|
Pavle Goloskokovic
|
bca40391fe
|
If value set to loop property is the same as config value skip any further commands
|
2017-12-12 19:47:57 +01:00 |
|
Pavle Goloskokovic
|
c8f43e7a5a
|
Added a bit of logic and couple of TODOs to handle loop source when setting loop property value
|
2017-12-12 19:46:08 +01:00 |
|
Pavle Goloskokovic
|
bcda86c566
|
Setting config value when setting loop property
|
2017-12-12 19:44:41 +01:00 |
|
Pavle Goloskokovic
|
48f86abb65
|
Returning config value when getting loop property
|
2017-12-12 19:43:21 +01:00 |
|
Pavle Goloskokovic
|
02962f316e
|
Defined loop property for WebAudioSound class
|
2017-12-12 19:42:21 +01:00 |
|
Pavle Goloskokovic
|
121672d442
|
Added loopSource field for timed loop sound source
|
2017-12-12 19:40:36 +01:00 |
|
Pavle Goloskokovic
|
c9868d5408
|
Implemented destroy method for WebAudioSound class
|
2017-12-10 13:17:39 +01:00 |
|
Pavle Goloskokovic
|
b5e8a60530
|
Saving seek value only when sound is playing or paused, for consistency
|
2017-12-07 20:58:54 +01:00 |
|
Pavle Goloskokovic
|
8d161ac06d
|
Returning config value when paused and 0 when stopped when getting seek value
|
2017-12-07 20:58:07 +01:00 |
|
Pavle Goloskokovic
|
75d480ffba
|
Added protected access modifier to overridden applyConfig method
|
2017-12-07 20:14:58 +01:00 |
|
Pavle Goloskokovic
|
c3107ca629
|
Setting paused time (seek) before calling stopAndRemoveBufferSource since getCurrentTime depends on startTime value and it gets reset in stopAndRemoveBufferSource method
|
2017-12-07 20:13:52 +01:00 |
|
Pavle Goloskokovic
|
039ed52cf2
|
Resetting startTime value inside of stopAndRemoveBufferSource method to have more consistent sound state
|
2017-12-07 20:11:09 +01:00 |
|
Pavle Goloskokovic
|
58d0be5279
|
Setting duration properties before calling super method
|
2017-12-06 18:06:39 +01:00 |
|
Pavle Goloskokovic
|
99aa2b22c4
|
Resetting sound playback at seek time if sound is playing
|
2017-12-05 20:22:49 +01:00 |
|
Pavle Goloskokovic
|
06b7ad91fd
|
Updated a TODO to add delay config setting
|
2017-12-05 20:21:14 +01:00 |
|
Pavle Goloskokovic
|
b3f5b03e6f
|
Calling getCurrentTime directly when setting seek as paused time since we don't want to self-assign it
|
2017-12-05 20:20:33 +01:00 |
|
Pavle Goloskokovic
|
4e0c274ca4
|
No need to reset config seek value since it is reset in resetConfig method
|
2017-12-05 20:19:02 +01:00 |
|
Pavle Goloskokovic
|
44ce0edd82
|
Moved the same logic for calculating offset duration and startTime into createAndStartBufferSource method
|
2017-12-05 20:17:14 +01:00 |
|
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 |
|