include!("./lib.rs"); pub fn main () -> Usually<()> { MixerCli::parse().run() } #[derive(Debug, Parser)] #[command(version, about, long_about = None)] pub struct MixerCli { /// Name of JACK client #[arg(short, long)] name: Option, /// Number of tracks #[arg(short, long)] channels: Option, } impl MixerCli { fn run (&self) -> Usually<()> { Tui::run(JackClient::new("tek_mixer")?.activate_with(|jack|{ let mut mixer = Mixer::new(jack, self.name.as_ref().map(|x|x.as_str()).unwrap_or("mixer"))?; for channel in 0..self.channels.unwrap_or(8) { mixer.track_add(&format!("Track {}", channel + 1), 1)?; } Ok(mixer) })?)?; Ok(()) } }