make it skip ones that are already made

This commit is contained in:
Arthur Beck 2025-05-08 16:25:33 -05:00
parent 3d1b39d973
commit c87d411f29
Signed by: ArthurB
GPG key ID: CA200B389F0F6BC9

View file

@ -153,43 +153,45 @@ async fn main() -> elevenlabs_rs::Result<()> {
}
text = text.trim_end_matches("You can also ").to_string();
}
std::fs::write(
base_out_dir.join(track.id.clone() + ".mp3"),
speak_text(
client.clone(),
text,
track.voice.unwrap_or(game.meta.default_voice.clone()),
if !std::fs::exists(base_out_dir.join(track.id.clone() + ".mp3")).unwrap() {
std::fs::write(
base_out_dir.join(track.id.clone() + ".mp3"),
speak_text(
client.clone(),
text,
track.voice.unwrap_or(game.meta.default_voice.clone()),
)
.await?,
)
.await?,
)
.unwrap();
std::process::Command::new("ffmpeg")
.args(vec![
"-f",
"lavfi",
"-i",
"anullsrc=channel_layout=stereo:sample_rate=44100:duration=10",
"-i",
&base_out_dir
.join(track.id.clone() + ".mp3")
.to_string_lossy(),
"-filter_complex",
"[1:a] [0:a] concat=n=2:v=0:a=1",
&base_out_dir
.join(track.id.clone() + "_slience.mp3")
.to_string_lossy(),
])
.spawn()
.unwrap()
.wait()
.unwrap();
std::process::Command::new("ffmpeg")
.args(vec![
"-f",
"lavfi",
"-i",
"anullsrc=channel_layout=stereo:sample_rate=44100:duration=10",
"-i",
&base_out_dir
.join(track.id.clone() + ".mp3")
.to_string_lossy(),
"-filter_complex",
"[1:a] [0:a] concat=n=2:v=0:a=1",
&base_out_dir
.join(track.id.clone() + "_slience.mp3")
.to_string_lossy(),
])
.spawn()
.unwrap()
.wait()
.unwrap();
std::fs::remove_file(base_out_dir.join(track.id.clone() + ".mp3")).unwrap();
std::fs::rename(
base_out_dir.join(track.id.clone() + "_slience.mp3"),
base_out_dir.join(track.id.clone() + ".mp3"),
)
.unwrap();
std::fs::remove_file(base_out_dir.join(track.id.clone() + ".mp3")).unwrap();
std::fs::rename(
base_out_dir.join(track.id.clone() + "_slience.mp3"),
base_out_dir.join(track.id.clone() + ".mp3"),
)
.unwrap();
}
out_cue.add_ref(cue::CueItem::File {
path: (track.id + ".mp3").into(),