use self::softmixer::SoftMixer; pub mod softmixer; pub trait Mixer { fn start(&self); fn stop(&self); fn set_volume(&self, volume: u16); fn volume(&self) -> u16; fn get_audio_filter(&self) -> Option> { None } } pub trait AudioFilter { fn modify_stream(&self, data: &mut [i16]); } pub fn find>(name: Option) -> Option> { match name { _ => Some(Box::new(SoftMixer::new())), } }