use colored::*;
use mp3rgain::mp4meta;
use std::path::Path;
use std::time::SystemTime;
use crate::cli::options::{Options, OutputFormat};
pub fn restore_timestamp(file: &Path, mtime: SystemTime) {
let _ = std::fs::File::options()
.write(true)
.open(file)
.and_then(|f| f.set_times(std::fs::FileTimes::new().set_modified(mtime)));
}
pub fn save_original_mtime(file: &Path, opts: &Options) -> Option<SystemTime> {
if opts.preserve_timestamp && !opts.dry_run {
std::fs::metadata(file).ok().and_then(|m| m.modified().ok())
} else {
None
}
}
pub fn warn_aac_multi_track(file: &Path, filename: &str, opts: &Options, dry_run_prefix: &str) {
if opts.output_format != OutputFormat::Text || opts.quiet {
return;
}
let track_count = mp4meta::count_audio_tracks(file);
if track_count > 1 {
eprintln!(
" {} {}{} - {} audio tracks detected, processing first track only",
"!".yellow(),
dry_run_prefix,
filename,
track_count
);
}
}