diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-11-16 02:20:00 +0100 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-11-16 02:20:00 +0100 |
| commit | f9c1001b540348670feb64675699a7cd4f4401ea (patch) | |
| tree | e66690af210cb73c4dd0d80d319862d2e71786fa | |
| parent | 1bf223de5aca7d39347efa468558e14c02fe8d6a (diff) | |
| download | mum-f9c1001b540348670feb64675699a7cd4f4401ea.tar.gz | |
fix on how sound is played when muting
| -rw-r--r-- | mumd/src/state.rs | 14 |
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); |
