Repository navigation
Audio tracks, subtitles, stream copying, HDR, plus safety fixes and tests - #1
Merged
Merged
Conversation
- Project themes: a project's own themes folder is only loaded once the user allows it (Menu tab), so opening a project from someone else can't run the code that came with it. Projects the app creates are trusted; the command line is unchanged. - Probe cache: JSON (build/probe.json) instead of pickle, so a build folder can't run anything and the cache survives changes to the Media class. - App state: requests, probing, measuring and the job thread now take turns on the project, film facts, job status and settings. Concurrent edits used to collide on the project's .tmp file while saving. - Film fields: a theme's extra field can no longer overwrite a film's own file, title, year, place or spin-off flag. - File serving: bad Range headers no longer raise, ranges past the end get a 416, and the allowed-folder check ignores case the way Windows does. - Builds: check free disk space before encoding (stop when clearly short, warn when tight) and keep Windows awake while a build or disc image runs. - Tests for all of the above (python -m pytest tests). Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QWNfnbj42fbmY3tZEnjd3r
Features - Every audio track of a film can go on the disc (up to 8), not only the first. - Subtitles: text subtitles (in the file or in a file beside it) are drawn as Blu-ray picture subtitles; 1080p PGS is copied. - Films whose picture is already Blu-ray video are copied, not re-encoded, and Dolby Digital and DTS-core sound is copied with them. - HDR10 and HLG are tone-mapped to SDR. - 24 and 30 fps are slowed 0.1% instead of dropping frames; 30, 50, 59.94 and 60 fps are accepted and converted. - The app says when a newer release is out (one request to GitHub at start). Projects made before these settings existed keep the old behaviour until the switches are turned on, so nothing already encoded is encoded again. Hygiene - One settings module shared by the app and the build. - The release build stamps the version from the tag. - Unit tests and short real encodes; CI runs them on Windows with the bundled FFmpeg, on pull requests too. - Pinned Python packages, FFmpeg (version and checksum) and GitHub Actions; the WebView2 installer's Microsoft signature is checked. - Optional code signing when certificate secrets are present. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QWNfnbj42fbmY3tZEnjd3r
… saw Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QWNfnbj42fbmY3tZEnjd3r
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One update covering the review list.
Features
.srtbeside it) are drawn as Blu-ray picture subtitles; 1080p PGS is copied. Off until chosen with the remote.Projects made before these settings existed keep the old behaviour until the new switches (Films tab, under Save space) are turned on, so films already encoded are not encoded again. Two exceptions, on purpose: 24.000 fps films and HDR films are re-encoded on the next build, because their output changes.
Safety and robustness
themesfolder only loads after the user allows it.Rangeheaders and Windows path case.Project hygiene
settings.pyshared by the app and the build (replaces two sets of defaults).WINDOWS_CERT_PFXandWINDOWS_CERT_PASSWORDsecrets exist.Tested
Not tested
Generated by Claude Code