sound_to_patch/cli/
render.rs1use std::path::PathBuf;
4
5use clap::Args;
6
7use super::analyze::parse_bpm;
8use crate::render::file::Backend;
9use crate::synth::SynthArg;
10use crate::units::Bpm;
11
12#[derive(Debug, Args)]
14pub struct RenderArgs {
15 pub preset: PathBuf,
17 #[arg(long, value_name = "FILE")]
19 pub midi: PathBuf,
20 #[arg(long, value_name = "BPM", value_parser = parse_bpm, allow_negative_numbers = true)]
22 pub bpm: Bpm,
23 #[arg(short, long, value_name = "WAV")]
25 pub out: PathBuf,
26 #[arg(long, value_name = "BUNDLE")]
29 pub plugin: Option<PathBuf>,
30 #[command(flatten)]
32 pub synth: SynthArg,
33 #[arg(long)]
35 pub force: bool,
36 #[arg(long, value_enum, default_value_t = Backend::Plugin, hide = true)]
38 pub backend: Backend,
39}