[feat] integrate progress manager into speaker name prompts for better coordination

This commit is contained in:
2025-08-12 09:04:45 +02:00
parent 9b4bd545dd
commit eb1bf9e02d

View File

@@ -133,7 +133,12 @@ fn sanitize_speaker_name(raw: &str) -> String {
raw.to_string() raw.to_string()
} }
fn prompt_speaker_name_for_path(path: &Path, default_name: &str, enabled: bool) -> String { fn prompt_speaker_name_for_path(
path: &Path,
default_name: &str,
enabled: bool,
_pm: Option<&polyscribe::ui::progress::ProgressManager>,
) -> String {
if !enabled { if !enabled {
return default_name.to_string(); return default_name.to_string();
} }
@@ -323,6 +328,12 @@ fn run() -> Result<()> {
)); ));
} }
// Initialize progress manager early to coordinate prompts
let mut pm = polyscribe::ui::progress::ProgressManager::default_for_files(inputs.len());
// Initialize progress manager early to coordinate prompts
let mut pm = polyscribe::ui::progress::ProgressManager::default_for_files(inputs.len());
// Collect all speaker names up front (one per input), before any file reading/transcription // Collect all speaker names up front (one per input), before any file reading/transcription
let speakers: Vec<String> = inputs let speakers: Vec<String> = inputs
.iter() .iter()
@@ -333,7 +344,7 @@ fn run() -> Result<()> {
.and_then(|s| s.to_str()) .and_then(|s| s.to_str())
.unwrap_or("speaker"), .unwrap_or("speaker"),
); );
prompt_speaker_name_for_path(path, &default_speaker, args.set_speaker_names) prompt_speaker_name_for_path(path, &default_speaker, args.set_speaker_names, Some(&pm))
}) })
.collect(); .collect();