diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-03-30 12:36:53 +0200 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-03-30 15:25:56 +0200 |
| commit | 950158eaadd8db9ef0eb48187e825524499422d3 (patch) | |
| tree | 381093bd7033e5181aab3119c832ac7cbd015259 /mumd/src | |
| parent | 25687fb7c98f7d7d8b1f0a04d32092f394ec4c44 (diff) | |
| download | mum-950158eaadd8db9ef0eb48187e825524499422d3.tar.gz | |
config error
Diffstat (limited to 'mumd/src')
| -rw-r--r-- | mumd/src/error.rs | 9 | ||||
| -rw-r--r-- | mumd/src/state.rs | 9 |
2 files changed, 16 insertions, 2 deletions
diff --git a/mumd/src/error.rs b/mumd/src/error.rs index a171f1f..84c1958 100644 --- a/mumd/src/error.rs +++ b/mumd/src/error.rs @@ -1,3 +1,4 @@ +use mumlib::error::ConfigError; use std::fmt; pub enum AudioStream { @@ -36,6 +37,7 @@ impl fmt::Display for AudioError { pub enum StateError { AudioError(AudioError), + ConfigError(ConfigError), } impl From<AudioError> for StateError { @@ -44,10 +46,17 @@ impl From<AudioError> for StateError { } } +impl From<ConfigError> for StateError { + fn from(e: ConfigError) -> Self { + StateError::ConfigError(e) + } +} + impl fmt::Display for StateError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { StateError::AudioError(e) => write!(f, "Audio error: {}", e), + StateError::ConfigError(e) => write!(f, "Config error: {}", e), } } } diff --git a/mumd/src/state.rs b/mumd/src/state.rs index 9202e9f..b52b330 100644 --- a/mumd/src/state.rs +++ b/mumd/src/state.rs @@ -64,7 +64,7 @@ pub struct State { impl State { pub fn new() -> Result<Self, StateError> { - let config = mumlib::config::read_default_cfg(); + let config = mumlib::config::read_default_cfg()?; let phase_watcher = watch::channel(StatePhase::Disconnected); let audio = Audio::new( config.audio.input_volume.unwrap_or(1.0), @@ -574,7 +574,12 @@ impl State { } pub fn reload_config(&mut self) { - self.config = mumlib::config::read_default_cfg(); + match mumlib::config::read_default_cfg() { + Ok(config) => { + self.config = config; + } + Err(e) => error!("Couldn't read config: {}", e), + } if let Some(input_volume) = self.config.audio.input_volume { self.audio.set_input_volume(input_volume); } |
