From 91b6f962ee29d65e932afd967e1fd2b475137ff7 Mon Sep 17 00:00:00 2001 From: William Toohey Date: Sat, 19 Dec 2015 16:10:34 +1000 Subject: [PATCH] AutoSong+mute fix --- img/vignette.png | Bin 22129 -> 20233 bytes js/SoundManager.js | 15 +++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/img/vignette.png b/img/vignette.png index e697d8add403b39f1de1507b891441471aa0f793..e06ee969db4609c36cd85c3c329883d491db01b3 100644 GIT binary patch delta 4860 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 TT~DcN00000NkvXXu0mjf2Ieso diff --git a/js/SoundManager.js b/js/SoundManager.js index b8e111e..1204d34 100644 --- a/js/SoundManager.js +++ b/js/SoundManager.js @@ -114,6 +114,9 @@ SoundManager.prototype.playSong = function(song, playBuild, callback) { this.gainNode.gain.cancelScheduledValues(0); // Reset original volume this.setVolume(this.lastVol); + if(this.mute) { + this.setMute(true); + } this.loadBuffer(song, function() { // To prevent race condition if you press "next" twice fast @@ -431,8 +434,10 @@ SoundManager.prototype.getVisualiserData = function() { SoundManager.prototype.setMute = function(mute) { if(!this.mute && mute) { // muting this.lastVol = this.gainNode.gain.value; + } + if(mute) { this.gainNode.gain.value = 0; - } else if(this.mute && !mute) { // unmuting + } else { this.gainNode.gain.value = this.lastVol; } this.core.userInterface.updateVolume(this.gainNode.gain.value); @@ -463,8 +468,10 @@ SoundManager.prototype.setVolume = function(vol) { }; SoundManager.prototype.fadeOut = function(callback) { - // Firefox hackery - this.gainNode.gain.setValueAtTime(this.lastVol, this.context.currentTime); - this.gainNode.gain.exponentialRampToValueAtTime(0.01, this.context.currentTime + 2); + if(!this.mute) { + // Firefox hackery + this.gainNode.gain.setValueAtTime(this.lastVol, this.context.currentTime); + this.gainNode.gain.exponentialRampToValueAtTime(0.01, this.context.currentTime + 2); + } setTimeout(callback, 2000); }