Commit graph

581 commits

Author SHA1 Message Date
Pavle Goloskokovic
ff6f7f844c Initializing config property to object with default config values merged with provided config attribute 2018-01-20 21:07:00 +01:00
Pavle Goloskokovic
f925d3f5bd Initializing totalDuration property to 0 2018-01-20 21:01:04 +01:00
Pavle Goloskokovic
65696b17a5 Initializing duration property to 0 2018-01-20 21:00:50 +01:00
Pavle Goloskokovic
d2a3d98abe Initializing totalRate property to 1 2018-01-20 21:00:31 +01:00
Pavle Goloskokovic
a2a19cceb2 Initializing isPaused property to false 2018-01-20 20:59:27 +01:00
Pavle Goloskokovic
0de3b321d2 Initializing isPlaying property to false 2018-01-20 20:59:13 +01:00
Pavle Goloskokovic
d282f3a1cb Initializing key property with provided attribute value 2018-01-20 20:58:31 +01:00
Pavle Goloskokovic
10daa22fb0 Initializing manager property with provided attribute reference 2018-01-20 20:58:02 +01:00
Pavle Goloskokovic
4c2b7b3db7 Added NoAudioSound class that extends EventEmitter 2018-01-20 20:56:49 +01:00
Pavle Goloskokovic
732cb5592a Removed setting unlocked property 2018-01-20 20:35:34 +01:00
Pavle Goloskokovic
1dc28e1119 Added forEachActiveSound method that calls BaseSoundManager forEachActiveSound method 2018-01-20 20:32:30 +01:00
Pavle Goloskokovic
ce5de6e06a Added destroy method that calls BaseSoundManager destroy method 2018-01-20 20:32:15 +01:00
Pavle Goloskokovic
8ee02f8f29 Added update method that does nothing 2018-01-20 20:31:53 +01:00
Pavle Goloskokovic
e9c1ba289e Added stopAll method that does nothing 2018-01-20 20:25:27 +01:00
Pavle Goloskokovic
05d37e00c7 Added resumeAll method that does nothing 2018-01-20 20:25:03 +01:00
Pavle Goloskokovic
534a7a34cd Added pauseAll method that does nothing 2018-01-20 20:24:46 +01:00
Pavle Goloskokovic
50fefeef2e Added removeByKey method that calls BaseSoundManager removeByKey method 2018-01-20 20:24:10 +01:00
Pavle Goloskokovic
2b0765f46a Added remove method that calls BaseSoundManager remove method 2018-01-20 20:23:33 +01:00
Pavle Goloskokovic
5ba2c0338a Added playAudioSprite method which only returns false 2018-01-20 20:13:14 +01:00
Pavle Goloskokovic
4a4a849c6f Added play method which only returns false 2018-01-20 20:12:36 +01:00
Pavle Goloskokovic
cd00b5db79 Added addAudioSprite method which instantiates and returns NoAudioSound as audio sprite sound object with empty spritemap 2018-01-20 20:11:48 +01:00
Pavle Goloskokovic
7511c038b7 Added add method which instantiates and returns NoAudioSound object 2018-01-20 20:10:16 +01:00
Pavle Goloskokovic
f1aea49a9c Initializing unlocked property to false 2018-01-20 20:01:55 +01:00
Pavle Goloskokovic
a1fa271d7c Initializing locked property to false 2018-01-20 20:01:44 +01:00
Pavle Goloskokovic
fdcc4898cc Initializing pauseOnBlur property to true 2018-01-20 20:01:26 +01:00
Pavle Goloskokovic
27b2936ce6 Initializing rate property to 0 2018-01-20 20:01:09 +01:00
Pavle Goloskokovic
526fe77106 Initializing rate property to 1 2018-01-20 20:00:55 +01:00
Pavle Goloskokovic
ee8ce19ef8 Initializing volume property to 1 2018-01-20 20:00:36 +01:00
Pavle Goloskokovic
1c6aa693e9 Initializing mute property to false 2018-01-20 20:00:21 +01:00
Pavle Goloskokovic
c5062a0c90 Initializing sounds property an empty array 2018-01-20 19:59:54 +01:00
Pavle Goloskokovic
e15a5a9c69 Initializing game property with provided attribute reference 2018-01-20 19:59:19 +01:00
Pavle Goloskokovic
4316c22785 Added NoAudioSoundManager class that extends EventEmitter 2018-01-20 19:57:00 +01:00
Pavle Goloskokovic
db5002fa87 Updated BaseSoundManager playAudioSprite method to return value from sound play method call 2018-01-20 19:53:09 +01:00
Pavle Goloskokovic
7a259da22c Updated BaseSoundManager play method to return value from sound play method call 2018-01-20 19:51:54 +01:00
Pavle Goloskokovic
ac7be301f1 Reverting previous commit since it did not fix the issue 2018-01-19 17:12:49 +01:00
Pavle Goloskokovic
999b7d96df skipping looping and ending logic if current time is 0 since some HTML5 Audio implementations set currentTime value to 0 when changing playback rate or performing any other operation on an audio tag object 2018-01-19 16:24:26 +01:00
Pavle Goloskokovic
f7b0dcf56a Inverted condition to prevent nesting 2018-01-19 12:19:02 +01:00
Pavle Goloskokovic
ff8c039cf7 Inverted condition to prevent nesting 2018-01-19 12:17:34 +01:00
Pavle Goloskokovic
8968044d8f Removed ready event 2018-01-18 14:15:15 +01:00
Pavle Goloskokovic
ca614166b1 Using playCatchPromise for delayed sound playback 2018-01-18 14:14:14 +01:00
Pavle Goloskokovic
3a7d06b48a Using playCatchPromise when starting sound playback 2018-01-18 14:13:57 +01:00
Pavle Goloskokovic
ef98de7258 Added playCatchPromise method to handle possible exceptions thrown form audio tag play method 2018-01-18 14:13:29 +01:00
Pavle Goloskokovic
c1cb3c3ab2 Removing touchmove event listener on successful unlock 2018-01-18 14:12:32 +01:00
Pavle Goloskokovic
336f5b9028 Skipping unlocking if touchmove event occurred before touchend event 2018-01-18 14:11:49 +01:00
Pavle Goloskokovic
b036eecd9f Added detectMove method as touchmove event listener 2018-01-18 14:10:51 +01:00
Pavle Goloskokovic
01c246ac0b Added variable and method for keeping track of touch move events 2018-01-18 14:10:03 +01:00
Pavle Goloskokovic
718dce88b8 Setting correct totalDuration property value for all sounds when audio gets unlocked 2018-01-18 14:08:49 +01:00
Pavle Goloskokovic
9400c7ea93 Setting correct duration property value for all sounds when audio gets unlocked 2018-01-18 14:08:33 +01:00
Pavle Goloskokovic
c296ef2eb3 Emitting ready event when sound manager gets unlocked 2018-01-18 14:07:35 +01:00
Pavle Goloskokovic
58d6ab9a56 Emitting ready event if sound manager is not locked 2018-01-18 14:06:29 +01:00
Pavle Goloskokovic
6be1406b8b Renamed locked action name property to prop 2018-01-17 19:16:21 +01:00
Pavle Goloskokovic
252b577ab4 Using manager.isLocked instead of removed checkTouchLocked method for loop property 2018-01-17 19:15:09 +01:00
Pavle Goloskokovic
25f22533fd Using manager.isLocked instead of removed checkTouchLocked method for seek property 2018-01-17 19:14:55 +01:00
Pavle Goloskokovic
216bde9577 Using manager.isLocked instead of removed checkTouchLocked method for detune property 2018-01-17 19:14:43 +01:00
Pavle Goloskokovic
99c9b786c8 Using manager.isLocked instead of removed checkTouchLocked method for rate property 2018-01-17 19:14:33 +01:00
Pavle Goloskokovic
94d7fb7d4f Using manager.isLocked instead of removed checkTouchLocked method for volume property 2018-01-17 19:14:18 +01:00
Pavle Goloskokovic
941b4f5ac8 Using manager.isLocked instead of removed checkTouchLocked method for mute property 2018-01-17 19:14:06 +01:00
Pavle Goloskokovic
4b6287c4cd Using manager.isLocked instead of removed checkTouchLocked method for stop method 2018-01-17 19:13:47 +01:00
Pavle Goloskokovic
5c0c89022e Using manager.isLocked instead of removed checkTouchLocked method for resume method 2018-01-17 19:13:36 +01:00
Pavle Goloskokovic
fb775d4063 Using manager.isLocked instead of removed checkTouchLocked method for pause method 2018-01-17 19:13:21 +01:00
Pavle Goloskokovic
ce6f3400e2 Using manager.isLocked instead of removed checkTouchLocked method for play method 2018-01-17 19:13:09 +01:00
Pavle Goloskokovic
cee22b158c Removed checkTouchLocked from HTML5AudioSound class 2018-01-17 19:11:50 +01:00
Pavle Goloskokovic
da56f97580 Removed touchLockedActionQueue from HTML5AudioSound class 2018-01-17 19:11:28 +01:00
Pavle Goloskokovic
913f388535 Added isLocked method to handle locked actions 2018-01-17 19:10:24 +01:00
Pavle Goloskokovic
b25af58495 Resetting lockedActionsQueue after performing all locked actions 2018-01-17 19:09:36 +01:00
Pavle Goloskokovic
88d26607ec Updated and simplified logic for performing locked actions 2018-01-17 19:07:52 +01:00
Pavle Goloskokovic
aacd7a972d Setting lockedActionsQueue value based on locked property value 2018-01-17 19:03:16 +01:00
Pavle Goloskokovic
19ec0fb735 Added lockedActionsQueue property to HTML5AudioSoundManager class for internal use 2018-01-17 19:02:10 +01:00
Pavle Goloskokovic
bcb11d5c4e Moved queued sound actions logic from update method to unlocked event handler 2018-01-17 18:24:03 +01:00
Pavle Goloskokovic
fb52e3d490 Setting unlocked property to true when audio tags are ready 2018-01-17 18:19:51 +01:00
Pavle Goloskokovic
5f035c80e2 Removed condition since it is already performed in base class constructor 2018-01-17 18:19:26 +01:00
Pavle Goloskokovic
d388c827e4 Added a TODO for setting correct duration value when available 2018-01-17 18:18:22 +01:00
Pavle Goloskokovic
fdbda3cffa Setting locked property to value set in subclass if available 2018-01-17 18:17:31 +01:00
Pavle Goloskokovic
0f6f0ab45e Setting locked property for HTML5AudioSoundManager class 2018-01-17 18:17:01 +01:00
Pavle Goloskokovic
ff4e9616f3 Removed touchUnlocked property form HTML5AudioSoundManager class 2018-01-17 18:16:14 +01:00
Pavle Goloskokovic
6b1b7a1342 Removed touchLocked property form HTML5AudioSoundManager class 2018-01-17 18:15:50 +01:00
Pavle Goloskokovic
c6c3f1da79 Setting unlocked property to true when audio context resumes 2018-01-17 18:14:28 +01:00
Pavle Goloskokovic
bf0c868bf3 Removed condition since it is already performed in base class constructor 2018-01-17 18:13:52 +01:00
Pavle Goloskokovic
a90760f8df Setting locked property for WebAudioSoundManager 2018-01-17 18:13:04 +01:00
Pavle Goloskokovic
8ec82c3a4d Setting locked property to false after unlocking 2018-01-17 18:12:03 +01:00
Pavle Goloskokovic
28b098348b Handling unlocking in update method 2018-01-17 18:11:27 +01:00
Pavle Goloskokovic
fbb1388f2d Added unlocked property to BaseSoundManager class for internal use 2018-01-17 18:10:40 +01:00
Pavle Goloskokovic
9ed999fada Calling unlocked method only if locked property is set to true 2018-01-17 18:09:33 +01:00
Pavle Goloskokovic
31cd229bf2 Added locked property to BaseSoundManager class 2018-01-17 18:09:00 +01:00
Pavle Goloskokovic
94cefc9621 Resetting sound's touchLockedActionQueue 2018-01-17 17:35:54 +01:00
Pavle Goloskokovic
04b9996ac7 Sorting actions to be performed in chronological order 2018-01-17 17:35:33 +01:00
Pavle Goloskokovic
d8e36615e7 Gathering all actions and performing them sequentially 2018-01-17 17:35:08 +01:00
Pavle Goloskokovic
dc3938e8ff Added update method to handle unlocking 2018-01-17 17:32:41 +01:00
Pavle Goloskokovic
5916d9f423 Setting last audio tag event listener to set touchUnlocked when it is ready for playback 2018-01-17 17:31:56 +01:00
Pavle Goloskokovic
644a28cb3c Pushing all tags in an array before loading them 2018-01-17 17:31:01 +01:00
Pavle Goloskokovic
38e59f6f4b Using touchLocked value as condition 2018-01-17 17:29:18 +01:00
Pavle Goloskokovic
f52cfee58a Added touchUnlocked property to HTML5AudioSoundManager class 2018-01-17 17:27:59 +01:00
Pavle Goloskokovic
b9b5489ab3 Added touchLocked property to HTML5AudioSoundManager class 2018-01-17 17:27:28 +01:00
Pavle Goloskokovic
84a20395e6 Using checkTouchLocked with loop property 2018-01-17 17:25:43 +01:00
Pavle Goloskokovic
33bc3d8d5c Using checkTouchLocked with seek property 2018-01-17 17:23:20 +01:00
Pavle Goloskokovic
874b3d5bc1 Defined detune property getter 2018-01-17 17:23:04 +01:00
Pavle Goloskokovic
3ff214da59 Defined rate property getter 2018-01-17 17:22:54 +01:00
Pavle Goloskokovic
eb5be4c75d Defined detune property setter to be able to use checkTouchLocked with it 2018-01-17 17:22:30 +01:00
Pavle Goloskokovic
865f8d06ad Defined rate property setter to be able to use checkTouchLocked with it 2018-01-17 17:22:03 +01:00
Pavle Goloskokovic
c2f7795a98 Using checkTouchLocked with volume property 2018-01-17 17:21:07 +01:00
Pavle Goloskokovic
a9a3c3c2a2 Using checkTouchLocked with mute property 2018-01-17 17:20:44 +01:00
Pavle Goloskokovic
22154ceace Using checkTouchLocked with stop method 2018-01-17 17:19:39 +01:00
Pavle Goloskokovic
796f3657ac Using checkTouchLocked with resume method 2018-01-17 17:19:25 +01:00
Pavle Goloskokovic
893882fe95 Using checkTouchLocked with pause method 2018-01-17 17:19:15 +01:00
Pavle Goloskokovic
300ac5b859 Using checkTouchLocked with play method 2018-01-17 17:19:04 +01:00
Pavle Goloskokovic
093f295389 Added touchLockedActionQueue property to HTML5AudioSound class 2018-01-17 17:06:55 +01:00
Pavle Goloskokovic
be7741ed89 Resetting already started sounds before unlocking 2018-01-17 14:13:44 +01:00
Pavle Goloskokovic
0b4a8b8b2d Removed touchstart event listeners since they don't work for unlocking audio 2018-01-17 14:13:13 +01:00
Pavle Goloskokovic
f510f71213 Implemented unlock method for HTML5AudioSoundManager class 2018-01-17 14:12:04 +01:00
Pavle Goloskokovic
4ca73ae362 Removing unlock call since it is now done in BaseSoundManager class 2018-01-17 14:10:54 +01:00
Pavle Goloskokovic
b33af6d2aa Calling unlock method in BaseSoundManager class constructor 2018-01-17 14:03:34 +01:00
Pavle Goloskokovic
377ab5a4e9 Defined unlock method on BaseSoundManager class as both implementations use it 2018-01-17 14:03:04 +01:00
Pavle Goloskokovic
e8e4a5633d Removed completed TODO 2018-01-14 17:39:29 +01:00
Pavle Goloskokovic
9a4811df32 Emitting loop event when sound loop setting value changes 2018-01-14 17:39:10 +01:00
Pavle Goloskokovic
8b676cf743 Renamed loop event to looped for emitting event when sound has looped 2018-01-14 17:38:59 +01:00
Pavle Goloskokovic
846aefd7c1 Emitting loop event when sound loop setting value changes 2018-01-14 17:38:33 +01:00
Pavle Goloskokovic
8f692b8fb9 Renamed loop event to looped for emitting event when sound has looped 2018-01-14 17:37:52 +01:00
Pavle Goloskokovic
1fe58bc1ef Refactored update method looping and ending logic a bit 2018-01-14 17:32:19 +01:00
Pavle Goloskokovic
2a70eb9c09 Removed completed TODO 2018-01-14 17:23:24 +01:00
Pavle Goloskokovic
ab02e843f3 Checking for loop between two update calls only if loop setting is set to true 2018-01-14 17:23:09 +01:00
Pavle Goloskokovic
4b9c94ebbe Added a TODO to change loop event to looped and emit loop event when loop value changes 2018-01-14 17:22:32 +01:00
Pavle Goloskokovic
919d2d658a Using EventEmitter emit method to dispatch seek update event 2018-01-14 17:21:24 +01:00
Pavle Goloskokovic
dd2bd9695d Using EventEmitter emit method to dispatch volume update event 2018-01-14 17:20:31 +01:00
Pavle Goloskokovic
913c93eca1 Using EventEmitter emit method to dispatch mute update event 2018-01-14 17:20:20 +01:00
Pavle Goloskokovic
1912dd98df Using EventEmitter emit method to dispatch loop event 2018-01-14 17:19:57 +01:00
Pavle Goloskokovic
8ba0c3d39e Using EventEmitter emit method to dispatch ended event 2018-01-14 17:19:37 +01:00
Pavle Goloskokovic
14e7cb4b75 Using EventEmitter emit method to dispatch stop event 2018-01-14 17:18:53 +01:00
Pavle Goloskokovic
ac04061478 Using EventEmitter emit method to dispatch resume event 2018-01-14 17:18:39 +01:00
Pavle Goloskokovic
be03100765 Using EventEmitter emit method to dispatch pause event 2018-01-14 17:18:26 +01:00
Pavle Goloskokovic
d5ffad06aa Using EventEmitter emit method to dispatch play event 2018-01-14 17:18:02 +01:00
Pavle Goloskokovic
cbb055f15c Using EventEmitter emit method to dispatch volume update event 2018-01-14 16:54:11 +01:00
Pavle Goloskokovic
209b0caed3 Using EventEmitter emit method to dispatch mute update event 2018-01-14 16:53:48 +01:00
Pavle Goloskokovic
45eed34095 Passing reference to sound object when emitting volume event 2018-01-14 16:48:55 +01:00
Pavle Goloskokovic
452f9a13ab Passing reference to sound object when emitting mute event 2018-01-14 16:48:25 +01:00
Pavle Goloskokovic
8cfe7bce4e Added a todo to document events 2018-01-14 16:38:01 +01:00
Pavle Goloskokovic
39c35f15f9 Passing reference to sound manager when emitting detune event 2018-01-14 16:37:37 +01:00
Pavle Goloskokovic
f2049195c1 Pasing reference to sound manager when emitting rate event 2018-01-14 16:37:12 +01:00
Pavle Goloskokovic
c715a8a031 Pasing reference to sound manager when emitting stopall event 2018-01-14 16:36:56 +01:00
Pavle Goloskokovic
6cb35024de Pasing reference to sound manager when emitting resumeall event 2018-01-14 16:36:44 +01:00
Pavle Goloskokovic
8c9ba8ce2c Pasing reference to sound manager when emitting pauseall event 2018-01-14 16:36:29 +01:00
Pavle Goloskokovic
a76a721969 Using EventEmitter emit method to dispatch detune update event 2018-01-14 16:13:09 +01:00
Pavle Goloskokovic
7b2ed7f5a9 Using EventEmitter emit method to dispatch rate update event 2018-01-14 16:12:48 +01:00
Pavle Goloskokovic
4be42c3edc Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/sound/BaseSound.js
#	src/sound/webaudio/WebAudioSound.js
2018-01-14 15:50:55 +01:00
Pavle Goloskokovic
8b67797252 Simplified delay calculation logic on focus loose 2018-01-14 15:45:32 +01:00
Pavle Goloskokovic
b0ec0edbbc Calling sound's onFocus method instead of resume when sounds resume on game focus gain 2018-01-14 15:38:11 +01:00
Pavle Goloskokovic
ff885e2ead Added onFocus method to be used when sound resumes when game gains focus 2018-01-14 15:37:38 +01:00
Pavle Goloskokovic
381799b040 Calling sound's onBlur method instead of pause when sounds stop on game focus loss 2018-01-14 15:36:39 +01:00
Pavle Goloskokovic
5c5df3f582 Marking sound as paused on blur to avoid update logic being run on it 2018-01-14 15:35:21 +01:00
Pavle Goloskokovic
bf77380814 Added onBlur method to be used when sound pauses on loose of focus
Saving sound state and stopping it
2018-01-14 15:34:23 +01:00
Pavle Goloskokovic
a6ec0af472 Using loopEndOffset when checking if sound looped 2018-01-14 15:32:30 +01:00
Pavle Goloskokovic
042f778167 Defining loopEndOffset property for HTML5AudioSoundManager class 2018-01-14 15:31:24 +01:00
Pavle Goloskokovic
60693d6da8 Using audioPlayDelay when checking for delay end for delayed playback 2018-01-14 15:30:27 +01:00
Pavle Goloskokovic
7384d9abcb Defining audioPlayDelay property for HTML5AudioSoundManager class 2018-01-14 15:29:27 +01:00
Pavle Goloskokovic
2d20759df9 Fixed ms to s conversion for delay value when setting start time for delayed playback 2018-01-14 15:28:16 +01:00
Pavle Goloskokovic
65538e3408 Properly setting currentTime variable value when detecting missed looping in update method 2018-01-14 15:24:55 +01:00
Pavle Goloskokovic
5b0cf55bfc Properly setting currentTime variable value when detecting looping in update method 2018-01-14 15:24:06 +01:00
Pavle Goloskokovic
f832c35de4 Properly setting previousTime value when setting seek value 2018-01-14 15:22:49 +01:00
Pavle Goloskokovic
de08ac36d5 Properly setting previousTime value when handling delayed playback in update method 2018-01-14 15:22:18 +01:00
Pavle Goloskokovic
ab6c924ccf Properly setting previousTime value when picking and playing audio tag 2018-01-14 15:21:06 +01:00
Pavle Goloskokovic
0efa048015 Taking into account marker start time when calculating seek 2018-01-12 18:23:07 +01:00
Richard Davey
f9a1e27334 Removed un-used event files and references. 2018-01-12 17:20:16 +00:00
Pavle Goloskokovic
f941cabe07 Completed a TODO to clean up html5 audio stuff when calling destroy 2018-01-12 18:16:27 +01:00
Pavle Goloskokovic
44acc440f4 When hijacking audio form other sounds, sorting them by progress rather than just seek, so that we favorize longer sounds to continue their playback 2018-01-12 18:15:52 +01:00
Richard Davey
c625b8735b Updated to using Event Emitter for all key managers and game objects. Events are now dispatched directly using arguments instead of Event objects, all managers updated to emit directly. 2018-01-12 17:09:21 +00:00
Pavle Goloskokovic
9bb138f40d Dispatching event when setting HTML5AudioSoundManager volume property 2018-01-12 17:26:16 +01:00
Pavle Goloskokovic
30027af69e Dispatching event when setting HTML5AudioSoundManager mute property 2018-01-12 17:25:59 +01:00
Pavle Goloskokovic
8f3f88c24d Checking for set audio property instead of isPlaying flag 2018-01-12 17:19:03 +01:00
Pavle Goloskokovic
919665dd96 Fixed scope issue 2018-01-12 17:11:12 +01:00
Pavle Goloskokovic
4038291373 Changed the order of defining startTime and previousTime properties 2018-01-12 16:12:15 +01:00
Pavle Goloskokovic
b2eef5b96e Added a todo 2018-01-12 16:03:15 +01:00
Pavle Goloskokovic
2a76c6eff5 Updating previousTime property when setting seek value 2018-01-12 16:01:19 +01:00
Pavle Goloskokovic
1cdebc80c3 Updating previousTime when picking and playing audio for sound 2018-01-12 16:00:37 +01:00
Pavle Goloskokovic
1180d82c27 Updating previousTime when starting sound with delayed playback 2018-01-12 15:59:40 +01:00
Pavle Goloskokovic
398b337da9 Resetting previousTime property when stopping sound or hijacking audio from another sound 2018-01-12 15:58:43 +01:00
Pavle Goloskokovic
de9e5a0d1f Updating currentTime to new audio currentTime value while handling looping before assigning that value to previousTime property 2018-01-12 15:57:55 +01:00
Pavle Goloskokovic
a51a0bd543 Setting previousTime property to currentTime value at the end of update method
Using condition when current time is less then previous time to indicate sound looping and dispatch an event
2018-01-12 15:39:58 +01:00
Pavle Goloskokovic
1ec66f644f Added previousTime property to keep track of audio tag's playback position recorded on previous update method call 2018-01-12 15:32:30 +01:00
Pavle Goloskokovic
9ec4d9a829 Fixing sound position if sound loops and starts from the beginning between two update calls 2018-01-12 15:30:11 +01:00
Pavle Goloskokovic
735cf10a3f Dispatching SOUND_ENDED event when sound ends, obviously :) 2018-01-12 15:28:06 +01:00
Pavle Goloskokovic
72955bfe30 Handling sound ending in update method 2018-01-12 15:27:25 +01:00
Pavle Goloskokovic
0d0df1900b Added logic for handling looping in update method 2018-01-12 15:23:39 +01:00
Pavle Goloskokovic
81d794b4c6 Setting audio to correct state when starting it since it might be playing already when hijacked form another sound 2018-01-12 15:18:31 +01:00
Pavle Goloskokovic
e68ff2b18a Saving current position of the sound and stopping and releasing audio tag when calling pause method 2018-01-11 18:55:42 +01:00
Pavle Goloskokovic
f6de613fd0 Added stopAndReleaseAudioTag method to stop sound playback and mark audio tag as unused and release it for other sounds to use 2018-01-11 18:53:54 +01:00
Pavle Goloskokovic
8578319171 requiring SoundEvent class 2018-01-11 18:51:02 +01:00
Pavle Goloskokovic
40b2bf79b7 Calling pickAndPlayAudioTag from resume method 2018-01-11 18:50:25 +01:00
Pavle Goloskokovic
9e7ccb1503 Added helpful flags comment 2018-01-11 18:49:44 +01:00
Pavle Goloskokovic
a6b4066468 Moved logic for setting up and playing audio tag so it can be reused 2018-01-11 18:45:34 +01:00
Pavle Goloskokovic
f9093a2d7e Disabling setting seek property on a delayed sound 2018-01-11 18:41:43 +01:00
Pavle Goloskokovic
81e8542af7 Resetting startTime property of a hijacked sound 2018-01-11 18:40:36 +01:00
Pavle Goloskokovic
fb29afedae Preventing resume calls on delayed sounds 2018-01-11 18:39:45 +01:00
Pavle Goloskokovic
c1b24c4adb Preventing pause calls on delayed sounds 2018-01-11 18:39:19 +01:00
Pavle Goloskokovic
fb6b989035 Handling delayed playback in update method 2018-01-11 18:31:36 +01:00
Pavle Goloskokovic
3388fd018f Setting startTime based on delay config when calling play method 2018-01-11 18:30:16 +01:00
Pavle Goloskokovic
d6256c47c5 Defined startTime property 2018-01-11 18:23:28 +01:00
Pavle Goloskokovic
82819ec782 Setting sound position, applying config and starting playback if delay is set to 0 when calling play method 2018-01-11 18:20:18 +01:00
Pavle Goloskokovic
11923621ad Finding available audio tag when calling play method and resetting and returning false if it was not successful 2018-01-11 18:17:50 +01:00
Pavle Goloskokovic
af8666f611 Added reset method that calls super stop method in order to reset sounds state
Calling reset method and setting audio to null after hijacking audio tag from another sound
2018-01-11 18:15:42 +01:00
Pavle Goloskokovic
106e32499f Sorting sounds to hijack audio from by loop and seek properties values 2018-01-11 18:12:52 +01:00
Pavle Goloskokovic
f377b4fa85 Finding another sound to hijack audio tag from if there are no free audio tags and override setting is set to true 2018-01-11 18:11:10 +01:00
Pavle Goloskokovic
fc19a05f0b Returning false if override setting of sound manager is set to false 2018-01-11 18:05:12 +01:00
Pavle Goloskokovic
935ef78102 Added method for finding unused audio tag for playing sound 2018-01-11 18:04:17 +01:00
Pavle Goloskokovic
6730b3b314 Defined seek property for HTML5AudioSound class 2018-01-11 18:00:42 +01:00
Pavle Goloskokovic
d6b11e2fdb Defined seek property's setter for HTML5AudioSound class 2018-01-11 17:59:36 +01:00
Pavle Goloskokovic
afb8075379 Defined seek property's setter for HTML5AudioSound class 2018-01-11 17:58:26 +01:00
Pavle Goloskokovic
110c6891dd Defined volume property for HTML5AudioSound class 2018-01-11 17:57:04 +01:00
Pavle Goloskokovic
8f9eafd315 Defined mute property for HTML5AudioSound class 2018-01-11 17:55:05 +01:00
Pavle Goloskokovic
495a79d4bf Implemented setRate method 2018-01-11 17:51:58 +01:00
Pavle Goloskokovic
91f9629ed2 Implemented setVolume method 2018-01-11 17:50:20 +01:00
Pavle Goloskokovic
162a063f03 Implemented setMute method 2018-01-11 17:49:40 +01:00
Pavle Goloskokovic
ede81f2a03 Added destroy method 2018-01-11 17:48:23 +01:00
Pavle Goloskokovic
0223019290 Added blank update method 2018-01-11 17:47:01 +01:00
Pavle Goloskokovic
d51156fe94 Added stop method implementation that calls super method and dispatches stop event 2018-01-11 17:45:02 +01:00
Pavle Goloskokovic
196258b8ac Added resume method implementation that calls super method and dispatches resume event 2018-01-11 17:43:56 +01:00
Pavle Goloskokovic
5e8d0dcaee Added pause method implementation that calls super method and dispatches pause event 2018-01-11 17:42:18 +01:00
Pavle Goloskokovic
d3c034e5cc Added play method implementation that calls super method and dispatches play event 2018-01-11 17:40:59 +01:00
Pavle Goloskokovic
b452859b78 Assigning duration and totalDuration values to audio tag duration 2018-01-11 17:38:47 +01:00
Pavle Goloskokovic
1d925105bd Audio property docs update 2018-01-11 17:37:28 +01:00
Pavle Goloskokovic
ad858d1475 Throwing an error if no sound with given key was loaded 2018-01-11 17:36:51 +01:00
Pavle Goloskokovic
cf83880fb0 Defined tags property that holds reference to audio tags array 2018-01-11 17:35:25 +01:00
Pavle Goloskokovic
b22116e1f8 Updated override property docs 2018-01-11 17:32:49 +01:00
Pavle Goloskokovic
2372fdd812 Completed a TODO to return HTML5AudioSoundManager instance when necessary 2018-01-11 17:29:57 +01:00
Pavle Goloskokovic
7c715f1ba0 Removed detune property since it is already implemented in BaseSound class 2018-01-11 17:28:52 +01:00
Pavle Goloskokovic
be713af155 Removed rate property since it is already implemented in BaseSound class 2018-01-11 17:28:25 +01:00
Pavle Goloskokovic
98700ffff2 Updating play method to return boolean indicating if play call was done successfully 2018-01-11 17:27:19 +01:00
Pavle Goloskokovic
15562a70e3 Updated override property docs 2018-01-11 17:25:55 +01:00
Pavle Goloskokovic
2903417798 Defining detune property on a BaseSound class since it's the shared behaviour between subclasses 2018-01-11 17:24:53 +01:00
Pavle Goloskokovic
15f2717e9b Defining rate property on a BaseSound class since it's the shared behaviour between subclasses 2018-01-11 17:24:26 +01:00
Pavle Goloskokovic
c0c6e39ccd Updating play method to return boolean indicating if play call was done successfully 2018-01-11 17:22:57 +01:00
Pavle Goloskokovic
e75871adec Added override property to HTML5AudioSoundManager 2018-01-11 16:50:50 +01:00
Pavle Goloskokovic
9fc3aaa0da Moved HTML5AudioSoundManager.js 2018-01-10 16:50:21 +01:00
Pavle Goloskokovic
081908fd7b Moved HTML5AudioSound.js 2018-01-10 16:50:11 +01:00
Pavle Goloskokovic
d0d3a6473d Merge remote-tracking branch 'origin/master' 2018-01-10 16:20:13 +01:00
Richard Davey
d8f1ba03e9 Moved repository location 2018-01-09 21:43:56 +00:00
Richard Davey
0d90f75b5f Splitting the dev branch up into versions. 2016-11-22 01:36:56 +00:00
photonstorm
7b9c4114b2 Preparing for 2.6.2 release. 2016-08-22 12:31:02 +01:00
Richard Davey
33748ece87 Merge pull request #2697 from hilts-vaughan/fix-sound-loop
Sound: Fixes an issue where loopFull would not return the soundinstan…
2016-08-18 15:29:18 +01:00
Vaughan Hilts
067f3cca83 Sound: Fixes an issue where loopFull would not return the soundinstance that it looped from 2016-08-17 22:15:45 -04:00
Richard Davey
e955cf4222 Sound.play would throw the error "Uncaught DOMException: Failed to execute 'disconnect' on 'AudioNode': the given destination is not connected." in Chrome, if you tried to play an audio marker that didn't exist, while a valid marker was already playing. 2016-08-03 04:04:22 +01:00
Richard Davey
6f9bcae23e Docs fixes #2629 2016-07-17 11:23:41 +01:00
photonstorm
521a6c9dbb Sound.stop will check to see if gainNode exists before trying to disconnect from it. 2016-07-08 12:27:12 +01:00
photonstorm
2310e5dc6f Sound.volume was accidentally repeated twice in the source (thanks @LoneStranger #2569) 2016-06-20 12:18:39 +01:00
Richard Davey
1b67850c82 Merge pull request #2529 from TheJasonReynolds/local_dev
Set isPlaying to true if no marker (.play is not called again)
2016-06-05 15:51:43 +01:00
John Rees
e75827d6ab Signal description typo fix 2016-06-04 19:41:54 +01:00
Jason Reynolds
db0a41bedf Set isPlaying to true if no marker (.play is not called again) 2016-06-03 17:08:07 -05:00
photonstorm
63a1336bd5 Sound.addMarker now has a default value for the duration argument (1 second) to avoid the DOM Exception 11 error if you accidentally miss it out (thanks @mari8i #2508) 2016-06-02 15:29:51 +01:00
photonstorm
d161a7f6bc Sounds played using the Audio tag, set to loop, would get caught in an endless pause-play loop cycle (thanks @rroylance #2473) 2016-05-17 16:43:11 +01:00
photonstorm
54683b7fb2 Sounds played using the Audio tag, that were paused and then resumed again (either directly in code, or via a game pause event) would not resume from the point at which they paused (thanks @rroylance #2473) 2016-05-16 15:16:19 +01:00
photonstorm
58af40ca92 Added a bit more info to the SoundManager docs re: #2373 2016-04-07 01:07:19 +01:00
photonstorm
896b32a28c SoundManager.muteOnPause is a new boolean that allows you to control if the Sound system gets muted automatically when a Phaser game pauses, such as when it loses focus. You may need to set this to false if you wish to control the audio system from outside of your Phaser game, i.e. from DOM buttons or similar (#2382) 2016-04-06 02:09:22 +01:00