zk-audio 0.1.0

Audio processing library for voice recording and enhancement
Documentation
use super::models::MicrophoneSimModel;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct MicrophoneSimConfig {
    #[serde(default)]
    pub enabled: bool,
    #[serde(default)]
    pub model: MicrophoneSimModel,
}

impl Default for MicrophoneSimConfig {
    fn default() -> Self {
        Self {
            enabled: false,
            model: MicrophoneSimModel::Off,
        }
    }
}

impl MicrophoneSimConfig {
    pub fn active_model(&self) -> Option<MicrophoneSimModel> {
        if self.enabled && self.model != MicrophoneSimModel::Off {
            Some(self.model)
        } else {
            None
        }
    }
}