aboutsummaryrefslogtreecommitdiffstats
path: root/mumd/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-03-30 12:36:53 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-03-30 15:25:56 +0200
commit950158eaadd8db9ef0eb48187e825524499422d3 (patch)
tree381093bd7033e5181aab3119c832ac7cbd015259 /mumd/src
parent25687fb7c98f7d7d8b1f0a04d32092f394ec4c44 (diff)
downloadmum-950158eaadd8db9ef0eb48187e825524499422d3.tar.gz
config error
Diffstat (limited to 'mumd/src')
-rw-r--r--mumd/src/error.rs9
-rw-r--r--mumd/src/state.rs9
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);
}