Add completion sound, preserve directory structure support
- Play system notification sound via canberra-gtk-play when enabled - Implement preserve_directory_structure in output_path_for to maintain relative paths from input directory in output
This commit is contained in:
@@ -89,6 +89,19 @@ impl ProcessingJob {
|
|||||||
})
|
})
|
||||||
.unwrap_or("bin");
|
.unwrap_or("bin");
|
||||||
|
|
||||||
self.output_dir.join(format!("{}.{}", stem, ext))
|
let filename = format!("{}.{}", stem, ext);
|
||||||
|
|
||||||
|
if self.preserve_directory_structure {
|
||||||
|
// Maintain relative path from input_dir
|
||||||
|
if let Ok(rel) = source.path.strip_prefix(&self.input_dir) {
|
||||||
|
if let Some(parent) = rel.parent() {
|
||||||
|
if parent.components().count() > 0 {
|
||||||
|
return self.output_dir.join(parent).join(filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.output_dir.join(filename)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1682,6 +1682,17 @@ fn show_results(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Play completion sound (if enabled in settings)
|
||||||
|
if config.play_completion_sound {
|
||||||
|
std::thread::spawn(|| {
|
||||||
|
// Use canberra-gtk-play for system sound (standard on GNOME)
|
||||||
|
let _ = std::process::Command::new("canberra-gtk-play")
|
||||||
|
.arg("--id=complete")
|
||||||
|
.arg("--description=Processing complete")
|
||||||
|
.output();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Auto-open output folder if enabled
|
// Auto-open output folder if enabled
|
||||||
if config.auto_open_output {
|
if config.auto_open_output {
|
||||||
let output = ui.state.output_dir.borrow().clone();
|
let output = ui.state.output_dir.borrow().clone();
|
||||||
|
|||||||
Reference in New Issue
Block a user