use clap::Subcommand;
use std::path::PathBuf;
#[derive(Subcommand)]
pub(crate) enum RestoreCommand {
Audio {
#[arg(short, long)]
input: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long, default_value = "vinyl")]
mode: String,
#[arg(long)]
sample_rate: Option<u32>,
#[arg(long)]
declip: bool,
#[arg(long)]
decrackle: bool,
#[arg(long)]
dehum: bool,
#[arg(long)]
denoise: bool,
#[arg(long, help = "Treat input as raw PCM float32 LE")]
raw: bool,
},
Video {
#[arg(short, long)]
input: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long, default_value = "full")]
mode: String,
#[arg(long)]
width: Option<u32>,
#[arg(long)]
height: Option<u32>,
},
Analyze {
#[arg(short, long)]
input: PathBuf,
#[arg(long, default_value = "auto")]
analysis_type: String,
},
Batch {
#[arg(short, long)]
input_dir: PathBuf,
#[arg(short, long)]
output_dir: PathBuf,
#[arg(long, default_value = "vinyl")]
mode: String,
#[arg(long)]
extension: Option<String>,
},
Compare {
#[arg(long)]
original: PathBuf,
#[arg(long)]
restored: PathBuf,
},
}