aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEskil Queseth <eskilq@kth.se>2020-11-16 02:20:00 +0100
committerEskil Queseth <eskilq@kth.se>2020-11-16 02:20:00 +0100
commitf9c1001b540348670feb64675699a7cd4f4401ea (patch)
treee66690af210cb73c4dd0d80d319862d2e71786fa
parent1bf223de5aca7d39347efa468558e14c02fe8d6a (diff)
downloadmum-f9c1001b540348670feb64675699a7cd4f4401ea.tar.gz
fix on how sound is played when muting
-rw-r--r--mumd/src/state.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/mumd/src/state.rs b/mumd/src/state.rs
index d719851..640a839 100644
--- a/mumd/src/state.rs
+++ b/mumd/src/state.rs
@@ -255,16 +255,19 @@ impl State {
};
if let Some((mute, deafen)) = action {
+ if server.deafened() != deafen {
+ self.audio.play_effect(if deafen { NotificationEvents::Deafen } else { NotificationEvents::Undeafen });
+ } else if server.muted() != mute {
+ self.audio.play_effect(if mute { NotificationEvents::Mute } else { NotificationEvents::Unmute });
+ }
let mut msg = msgs::UserState::new();
if server.muted() != mute {
msg.set_self_mute(mute);
- self.audio.play_effect(if mute { NotificationEvents::Mute } else { NotificationEvents::Unmute });
} else if !mute && !deafen && server.deafened() {
msg.set_self_mute(false);
}
if server.deafened() != deafen {
msg.set_self_deaf(deafen);
- self.audio.play_effect(if deafen { NotificationEvents::Deafen } else { NotificationEvents::Undeafen });
}
let server = self.server_mut().unwrap();
server.set_muted(mute);
@@ -296,16 +299,19 @@ impl State {
};
if let Some((mute, deafen)) = action {
+ if server.deafened() != deafen {
+ self.audio.play_effect(if deafen { NotificationEvents::Deafen } else { NotificationEvents::Undeafen });
+ } else if server.muted() != mute {
+ self.audio.play_effect(if mute { NotificationEvents::Mute } else { NotificationEvents::Unmute });
+ }
let mut msg = msgs::UserState::new();
if server.muted() != mute {
msg.set_self_mute(mute);
- self.audio.play_effect(if mute { NotificationEvents::Mute } else { NotificationEvents::Unmute });
} else if !mute && !deafen && server.deafened() {
msg.set_self_mute(false);
}
if server.deafened() != deafen {
msg.set_self_deaf(deafen);
- self.audio.play_effect(if deafen { NotificationEvents::Deafen } else { NotificationEvents::Undeafen });
}
let server = self.server_mut().unwrap();
server.set_muted(mute);