include!("./lib.rs"); pub fn main () -> Usually<()> { PluginCli::parse().run() } #[derive(Debug, Parser)] #[command(version, about, long_about = None)] pub struct PluginCli { /// Name of JACK client #[arg(short, long)] name: Option, /// Path to plugin #[arg(short, long)] path: Option, } impl PluginCli { fn run (&self) -> Usually<()> { Tui::run(JackConnection::new("tek_plugin")?.activate_with(|jack|{ let mut plugin = Plugin::new_lv2( jack, self.name.as_ref().map(|x|x.as_str()).unwrap_or("mixer"), self.path.as_ref().expect("pass --path /to/lv2/plugin.so") )?; Ok(plugin) })?)?; Ok(()) } }