Added support for CUE files that reference multiple BINs#20
Open
jakemkz wants to merge 6 commits intohessu:masterfrom
Open
Added support for CUE files that reference multiple BINs#20jakemkz wants to merge 6 commits intohessu:masterfrom
jakemkz wants to merge 6 commits intohessu:masterfrom
Conversation
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.
This pull request adds the following features to bchunk which may be useful to individuals seeking to archive CDs and handle a few corner cases in CD preservation. I have attempted to maintain backwards compatibility with existing bchunk usage while extending its capabilities
1. Added support for handling CUE sheets with multiple BIN files
This was added with the use of a new flag "-m" for merge. In this mode the file passed in the <image.cue> argument is used to identify files based on FILE line descriptors in the CUE file. The referenced .BIN files should be in the same directory as <image.cue>. The meaning of <image.bin> in this mode is changed from being an input file to being an output file that is the combination of all .BIN files. A .CUE file with the same basename as <image.bin> is also created with adjusted INDEX times to match the merged .BIN.
If merge mode is used with only two arguments bchunk will only create the merged bin/cue files and take no further actions but it can also be used with other flags such as -w to create the merged bin and produce the normal output wav/iso files.
2. Adjustment of INDEX handling logic and support for pre-gap audio
The handling logic for identifying the separation point between tracks was adjusted to ensure that this occurs at INDEX 01 even for CUE files that may have multiple INDEX entries, this is intended to match the behavior of a CD player where data in INDEX 00 would be played as part of the previous TRACK.
Special handling was added for INDEX 00 on TRACK 01 that creates a separate "track 0" for pre-gap audio if it exists.
3. Minor datatype and makefile adjustments
A few of the data types were changed from variable length to fixed length types. These changes aren't necessary but reduce some of the compiler warnings using the most pedantic settings.
Added the 'make debug' option to the makefile which uses the -g flag for debugging with gdb along with very pedantic warnings from the compiler
Other notes: