use clap::Subcommand;
use std::path::PathBuf;
#[derive(Subcommand)]
pub(crate) enum CaptionsCommand {
Generate {
#[arg(short, long)]
input: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long, default_value = "srt")]
format: String,
#[arg(long, default_value = "en")]
language: String,
#[arg(long)]
model: Option<PathBuf>,
#[arg(long)]
vocab: Option<PathBuf>,
},
Sync {
#[arg(short, long)]
input: PathBuf,
#[arg(long)]
reference: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long, default_value = "5000")]
max_shift_ms: i64,
},
Convert {
#[arg(short, long)]
input: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long)]
from_format: Option<String>,
#[arg(long)]
to_format: String,
},
Burn {
#[arg(long)]
video: PathBuf,
#[arg(long)]
captions: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long, default_value = "24")]
font_size: u32,
#[arg(long, default_value = "FFFFFF")]
font_color: String,
},
Extract {
#[arg(short, long)]
input: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(long, default_value = "srt")]
format: String,
#[arg(long, default_value = "0")]
track: usize,
},
Validate {
#[arg(short, long)]
input: PathBuf,
#[arg(long, default_value = "fcc")]
standard: String,
#[arg(long)]
report: Option<PathBuf>,
},
}