Automated release: version and notes generated from pull requests merged since 2.2.3.
- caption.py: an existing
.srt/.assside file is refused without--overwrite, like the
video. Through 2.2.3 only ffmpeg's output was checked:--transcribewarned and then replaced
a hand-corrected transcript, and--text,--write-srtalone, the generated/--write-ass
ASS,_adjusted.srtand_offset.asswere overwritten without a word -- even by a run that
was then refused for the existing video. Every file the run will write is now checked up
front (kindinput, each existing one named), before speech recognition starts and before
the first write; the dry run predicts the same refusal. New_common.refuse_existing_outputs(). - waveform.py:
--titleand--srt/--textstages get the shared flags. graphics.py and
caption.py are now launched with--overwrite,--timeout,--fastand--dry-run
forwarded (as render.py's stages are), so a second run with--overwriteno longer fails in
the caption or title stage. A failed stage keeps the child's own kind and hint instead of
alwayskind: ffmpeg; the_vis/_titledintermediates are removed on failure too; a
missing--srt/--textfile iskind: inputbefore anything is encoded; and
--title --dry-runcompletes. - audio.py:
--music,--effectsand--replacefiles that are missing, empty, unreadable
or have no audio stream are refused together in onekind: inputfailure with
problems: [{flag, path, reason}], before ffmpeg runs (dry run included). - render.py: a real run names every unreadable clip source in its preflight refusal, not
only the first one. - sync.py / multicam.py: "not enough audio to analyse" now names the file.
- fix: caption never overwrites sidecars silently; waveform, audio, sync and render name every bad input (#292)
What's Changed
- fix: caption never overwrites sidecars silently; waveform, audio, sync and render name every bad input by @kajisho5 in #292
Full Changelog: v2.2.3...v2.2.4