Automated release: version and notes generated from pull requests merged since 3.8.10.
Fixed
- Compositing and time tools (#460: A168, A169, A170, A173, A174, A177, A178, A179, A180).
loop.py --crossfadeput a picture that starts 0.2 s after its sound 200 ms behind it in every
repeat; both streams are now shifted by the picture's start.background.py --angleoutside
0-90 failed askind: ffmpeg, and inside it the far end of the gradient was a seeded random
point; C1 now sits on the corner the direction starts from and C2 on the opposite one, at any
angle (the picture at 0 and 90 changes too).redact.pyblur/pixelate at an odd--x/--y
left the rectangle's last column and row as they were and changed one outside it;crop.pycut
one pixel left of / above an odd position. An MP4/MOV's chapter text track was copied as a stray
data track holding the old titles bymetadata.py(also--clear-chapters),color.py --retag/--strip-dovi, export's data ladder and the tools that keep subtitle/data streams
throughrun_keeping_subtitles; the muxer's own chapter track is now the only one.reverse.py'smemory_heavywarning is
keyed on the decoded frames (size, chroma, depth, count; the estimateloop.py --boomerang
uses) instead of a length over 60 s. Agraphics.py --template stickerat a bottom position
dropped into place on the drawtext route; it rises, as on the ASS route.grid.pylabels keep
an apostrophe and a percent sign.broll.pyjudges cutaway overlap by time, so windows given
out of order are no longer refused as overlapping.freeze.pyholding the last frame (no
--at) keeps the subtitle track, as--mode extenddoes. - Edge-case inputs (#461: A234, A235, A238, A255, A256, A258).
reverse.pyon a variable
frame rate wrote 51 frames for 49 that ran 81 ms past its sound; the graph now closes on the
rate the output is written at.straighten.py --fit cropwrote 1920x1080 as 1918x1078 (and a
SAR such as 6112:6111); it writes the displayed size, even, with square pixels. Matroska
attachments (a subtitle track's fonts) are kept into.mkv/.mka/.mksby the tools that keep
subtitles (run_keeping_subtitles,export.pyincluding--preset copy,caption.py --mode mux,color.py's re-encoding retag);source_carrygainsattachmentsandvideo_streams(a
second playable picture the tool left out), both with thesource_items_droppedwarning when
dropped.render.py's result carriessource_carryfor a project whose clips are one file with
no other picture or sound source. README and the contract'scommandsdescription say that a
line naming a file the tool removed at exit (a concat list, an ffmetadata file, ...) cannot be
run again as printed. - fix: compositing, time and edge-input findings of the audit (#460, #461) (#513)
What's Changed
Full Changelog: v3.8.10...v3.8.11