feat: play_all-subset ordering, commentary relabel, disc10/disc11 fixtures#20
Merged
feat: play_all-subset ordering, commentary relabel, disc10/disc11 fixtures#20
Conversation
When the play_all decomposition yields more episodes than individual playlists AND the individual episode clips are a strict subset of the play_all clips, prefer play_all. This handles discs where only some episodes have individual playlists (e.g. for commentary audio) while the full set is only available through the play_all. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When a special feature's classification is 'episode' (individual playlist bypassed in favour of play_all decomposition), relabel it as 'commentary' since these are alternate-audio tracks, not distinct episodes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disc10 is a five-episode bonus disc with commentary specials: - Play_all (00002.mpls) decomposes into 5 episodes at IG chapter marks [0, 6, 12, 18, 24], each ~24 min - 3 individual playlists (00003-00005) are commentary tracks for episodes 1-3, detected via IG menu page 4 buttons - Exercises the play_all-subset ordering fix and commentary relabeling Adds disc10 to all 6 matrix parametrizations. 203 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disc11 is a six-episode bonus disc with one short special: - Play_all (00002.mpls, 7 clips, 37 chapters) decomposes into 6 episodes at IG chapter marks [0, 6, 12, 18, 24, 30], each ~24 min - 1 special feature (00003.mpls, ~3.5 min extra) - No individual episode playlists — all episodes from play_all - No parsing fixes needed; existing logic handles this correctly Adds disc11 to all 6 matrix parametrizations. 219 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disc12 is a five-episode bonus disc with 3 commentary specials (same structure as disc10): play_all decomposes into 5 episodes at IG chapter marks [0, 6, 12, 18, 24]; 3 individual playlists are commentary tracks. No parsing fixes needed. 235 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…e playlists Disc13 (6 episodes + 9 specials) is the most complex special features disc in the box set: 2 commentary tracks, 5 creditless OP/ED, 2 extras. Fix: in the title-hint supplement loop, episode-classified playlists that are NOT actually used as episode sources (episodes came from play_all decomposition) are now relabeled as commentary specials instead of being silently skipped. This catches 00003.mpls on disc13 which was missed because all 9 IG special-feature buttons use register-indirect JumpTitle routing to a single title. - 253 tests pass, ruff clean Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
Add disc10-13 fixtures and fix analysis bugs for bonus disc patterns (play_all with commentary tracks).
Changes
Bug fixes
Play_all-subset ordering (ordering.py): When individual episode playlists are a clip-subset of a play_all playlist and the play_all has more episodes, prefer play_all decomposition. Previously, individual playlists were incorrectly preferred even when they only covered a subset of episodes (e.g. 3 commentary playlists vs 5 play_all episodes).
Commentary relabeling (
__init__.py): After play_all episodes are chosen, individual playlists classified asepisodethat appear as special features are relabeled tocommentary.Title-hint commentary detection (
__init__.py): In the title-hint supplement loop, episode-classified playlists that are NOT used as episode sources (episodes from play_all) are now treated as commentary specials instead of being silently skipped. Fixes disc13 where 00003.mpls was missed because all 9 IG special-feature buttons use register-indirect JumpTitle routing.Fixtures
Tests
test_disc10_scan.py: 5 episodes from play_all, 3 commentary specialstest_disc11_scan.py: 6 episodes from play_all, 1 short extratest_disc12_scan.py: 5 episodes from play_all, 3 commentary specialstest_disc13_scan.py: 6 episodes from play_all, 9 specials (2 commentary + 5 creditless + 2 extra)test_disc_matrix.py: disc10-13 added to all 6 matrix parametrizationsValidation