diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-11-02 20:31:50 +0100 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-11-02 20:31:50 +0100 |
| commit | 46861ce465d6f1d86e80007742a850fd1cfa9bad (patch) | |
| tree | dd57d0237227a6de2c34512a0aee3b51d48f009e /mumd/src/state.rs | |
| parent | 8fb4edd72dfcb2b71e91eedc5861360101374967 (diff) | |
| download | mum-46861ce465d6f1d86e80007742a850fd1cfa9bad.tar.gz | |
add mumd support for volume adjustment
Diffstat (limited to 'mumd/src/state.rs')
| -rw-r--r-- | mumd/src/state.rs | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/mumd/src/state.rs b/mumd/src/state.rs index 81b6c98..2060845 100644 --- a/mumd/src/state.rs +++ b/mumd/src/state.rs @@ -209,12 +209,35 @@ impl State { .unwrap(); now!(Ok(None)) } + Command::ConfigReload => { + self.reload_config(); + now!(Ok(None)) + } Command::InputVolumeSet(volume) => { self.audio.set_input_volume(volume); now!(Ok(None)) } - Command::ConfigReload => { - self.reload_config(); + Command::OutputVolumeSet(volume) => { + self.audio.set_output_volume(volume); + now!(Ok(None)) + } + Command::UserVolumeSet(string, volume) => { + if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) { + return now!(Err(Error::DisconnectedError)); + } + let user_id = match self + .server() + .unwrap() + .users() + .iter() + .find(|e| e.1.name() == &string) + .map(|e| *e.0) + { + None => return now!(Err(Error::InvalidUsernameError(string))), + Some(v) => v, + }; + + self.audio.set_user_volume(user_id, volume); now!(Ok(None)) } } |
