summaryrefslogtreecommitdiff
path: root/objects.js
diff options
context:
space:
mode:
authorGubolin <gubolin@fantasymail.de>2014-08-03 12:41:23 +0200
committerGubolin <gubolin@fantasymail.de>2014-08-03 12:41:23 +0200
commitb700eaa3f35b931445df06ba1ff952a709f82cc5 (patch)
tree585c65e055fd1513af005a39df45a6f272746b68 /objects.js
parent51387ddfbc536c5ecc88658682f1894411f60631 (diff)
downloadsnap-b700eaa3f35b931445df06ba1ff952a709f82cc5.tar.gz
snap-b700eaa3f35b931445df06ba1ff952a709f82cc5.zip
add mute functions
Diffstat (limited to 'objects.js')
-rw-r--r--objects.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/objects.js b/objects.js
index fda06f6..c8147d9 100644
--- a/objects.js
+++ b/objects.js
@@ -2619,6 +2619,10 @@ SpriteMorph.prototype.playSound = function (name) {
sound.volume = this.volume;
active = sound.play();
+ if (stage.muted === true) {
+ active.volume = 0;
+ }
+
this.activeSounds.push(active);
this.activeSounds = this.activeSounds.filter(function (aud) {
return !aud.ended && !aud.terminated;
@@ -2651,6 +2655,13 @@ SpriteMorph.prototype.reportVolume = function () {
return this.volume;
}
+SpriteMorph.prototype.unmuteAllSounds = function () {
+ var stage = this.parentThatIsA(StageMorph);
+ stage.muted = false;
+
+ this.doSetVolume(this.volume);
+};
+
SpriteMorph.prototype.reportSounds = function () {
return this.sounds;
};
@@ -4293,6 +4304,7 @@ StageMorph.prototype.init = function (globals) {
this.isFastTracked = false;
this.cloneCount = 0;
this.volume = 100;
+ this.muted = false;
this.timerStart = Date.now();
this.tempo = 60; // bpm
@@ -5507,6 +5519,17 @@ StageMorph.prototype.resumeAllActiveSounds = function () {
});
};
+StageMorph.prototype.muteAllSounds = function () {
+ this.muted = true;
+
+ this.activeSounds.forEach(function (audio) {
+ audio.volume = 0;
+ });
+};
+
+StageMorph.prototype.unmuteAllSounds
+ = SpriteMorph.prototype.unmuteAllSounds;
+
StageMorph.prototype.reportSounds
= SpriteMorph.prototype.reportSounds;