Automated release: version and notes generated from pull requests merged since 3.6.4.
Fixed
- Caller text and JSON files are read one way, and odd input is read as ffmpeg reads it or
refused askind: input(#457, #465: A262, A269, A73, A19, A268, A16, A15, A270, A66, A12,
A20, A14, A13, A18, A17). Text files go through one reader that drops a UTF-8 BOM and ends every
line at\n(\r\r\nis one line end):metadata.py --chapters,silence.py --filler-wordsand--wordsandjoin.py --listno longer keep the BOM in their first entry
(join's--listis also refused as input, not a traceback, when it is not UTF-8). SRT cues are
grouped by timing line: an SRT with no blank lines between cues,\r\r\nline ends, position
fields (X1:.. Y1:..) or a second-->reads as ffmpeg's SRT demuxer reads it, and a cue line of
only spaces no longer splits the SRTwrite_srt()writes.caption.py --textsplits a line at
\nonly (not U+2028 or U+0085), and reads3 to 5 applesas text: withtoboth sides must be
clock times (0:03 to 0:05);0-1 Hellostill reads bare seconds. JSON files a caller names
(render projects and plans, batch recipes and their project, brand files,--words,cut.py --snap-source) nested too
deep, or of the wrong type where the run reads them (clips[].speed,audio.stems,
export.preset; a plan'sinputs,unbound_inputs,verify,commands,cwd; a recipe'sglob,project,
output_dir,suffix,ext,clip_key, an absolute glob or a step that is not a list; a brand
that is not an object or whosecaption/styles.captionis not one), are refused as
kind: input; a plan gets the newerror.reasonplan_field_invalid. In a whisper word-timing
JSON, a segment of the wrong shape (a string or a list) contributes no word timings, as the
reader's docstring says, while valid words elsewhere in the file are still read;
silence.py --wordsrefuses a file only when no valid word is left.caption.py --ass
with--offsetrefuses a file that is not UTF-8 on the real run as the dry run does. - fix: one reader for caller text and JSON files; SRT cues keyed on timing lines (#483)
- test(join): cut, crop and join of three H.264 + AAC parts keeps every frame (#482)
- test(join): short H.264 + AAC MP4 clips keep their frames (#481)
What's Changed
- test(join): short H.264 + AAC MP4 clips keep their frames (#475) by @kajisho5 in #481
- test(join): cut, crop and join of three H.264 + AAC parts keeps every frame (#479) by @kajisho5 in #482
- fix: one reader for caller text and JSON files; SRT cues keyed on timing lines (#457, #465) by @kajisho5 in #483
Full Changelog: v3.6.4...v3.6.5