Merged
Conversation
…ives - add helper to prefer CUE, then GDI, then CCD, then ISO entries - build expected CHD outputs from filtered archive entries only - avoid treating descriptor-backed component files as separate discs - add debug logging for selected archive entries
- prefer CUE, then GDI, then CCD, then ISO after archive extraction - keep extracted file discovery consistent with archive entry selection - add debug logging for selected extracted disc files - avoid reintroducing duplicate component-file handling in extracted sets refactor: reuse descriptor-priority selection for disc candidates
- stop warning for WAV files referenced by CUE sheets - log WAV audio tracks at DEBUG level instead - continue warning for lossy/unsupported audio formats such as MP3 and OGG
- allow WAV audio tracks referenced by CUE sheets - reject lossy audio formats such as MP3 and OGG - reject FLAC conservatively until chdman input support is confirmed - keep missing referenced files as hard validation failures
- add --allow-unverified-cue-audio / -a flag - allow lossy or unverified CUE audio references when explicitly requested - keep strict validation as the default behaviour - log a warning when the override is enabled
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
This PR fixes incorrect handling of CUE-based disc sets in archives and improves CUE validation for audio track references.
Previously, archives containing a
.cueplus component.isofiles could produce multiple CHDs for what should have been a single disc image. The script also incorrectly warned on valid.wavaudio tracks referenced by CUE sheets.This change makes archive/extracted disc selection descriptor-aware, allows valid WAV-based mixed-mode CUE sets, and adds stricter validation for lossy or otherwise unverified CUE audio references, with an explicit override flag for permissive workflows.
Changes
prioritise descriptor files when selecting disc candidates
CUE, thenGDI, thenCCD, thenISOfix incorrect multi-CHD output for CUE-based archives
.cueplus component.isofiles now produce a single CHD from the descriptor instead of extra unintended CHDsimprove CUE audio validation
.wavaudio tracks referenced by CUE sheetsmp3oggopusm4aflac(conservatively blocked untilchdmaninput support is confirmed)--allow-unverified-cue-audio/-ato permit these references with warningsimprove logging and diagnostics
Why
This fixes three practical problems:
Incorrect output selection
False warnings
Safer validation
Example fixed
A translated PC Engine CD archive containing:
Castlevania Rondo of Blood [English].cue.wavtracks.isofiles inside the archivepreviously produced multiple CHDs and noisy warnings.
It now:
.cue.wavtracks without false warningsTesting
Verified
archive containing
.cue+ component.isofilesWAV-based mixed-mode CUE set
CHD accounting for the above case
Notes
Bonk III - Bonk's Big Adventure (USA).zip) still fails inchdman createcd, but this appears unrelated to descriptor selection or WAV validation and should be investigated separatelyNew CLI option