diff --git a/src/dsp408/client/dsp408.rs b/src/dsp408/client/dsp408.rs index 6e10335..ad40096 100644 --- a/src/dsp408/client/dsp408.rs +++ b/src/dsp408/client/dsp408.rs @@ -18,7 +18,7 @@ use crate::{ response::map_response, }, protocol::{commands, config::decode_config, frame::extract_frame}, - types, + types::{self, DSPMode}, }, }; @@ -32,9 +32,9 @@ fn instances() -> &'static Mutex> { } pub struct DSP408 { - mode: types::DSPMode, connection: types::DeviceConnection, socket: Arc>>, + mode: DSPMode, state: types::DSPState, input_meters: types::InputMeters, output_meters: types::OutputMeters, diff --git a/src/dsp408/default.rs b/src/dsp408/default.rs index 0bd0104..04a2c57 100644 --- a/src/dsp408/default.rs +++ b/src/dsp408/default.rs @@ -17,11 +17,13 @@ pub fn default_dsp_state() -> DSPState { DSPState { name: "Default".to_string(), - flags: DeviceFlags { is_locked: false }, + flags: DeviceFlags { is_locked: true }, presets: default_preset_bank(), current_config: default_config(), + + mode: super::types::DSPMode::Disconnected, } } diff --git a/src/dsp408/types.rs b/src/dsp408/types.rs index 937af52..6f035da 100644 --- a/src/dsp408/types.rs +++ b/src/dsp408/types.rs @@ -398,6 +398,18 @@ impl DSPConfigState { } } +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum DSPMode { + Demo, + Normal, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ConnectionStatus { + Connected, + Disconnected, +} + #[cfg_attr(feature = "serialization", derive(Serialize, Deserialize))] #[derive(Debug, Clone, PartialEq)] pub struct DSPState { @@ -405,14 +417,7 @@ pub struct DSPState { pub(crate) flags: DeviceFlags, pub(crate) presets: PresetBank, pub(crate) current_config: DSPConfigState, -} - -#[cfg_attr(feature = "serialization", derive(Serialize, Deserialize))] -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum DSPMode { - Demo, - Disconnected, - Connected, + pub(crate) connection: ConnectionStatus, } #[cfg_attr(feature = "serialization", derive(Serialize, Deserialize))]