BETA7:
- Remove "--keep-foreign-metadata" FLAC parameter. This parameter was originally added because we believed that it would be needed for being able to restore the original WAV files including all WAV headers. We believed that the checksum of the singletrack WAVs or at least the re-joined full-disc-image WAV would be wrong. However testing has shown that the checksums are okay. Question / TODO: What IS the "foreign-metadata" actually?
- Explicitely tell the user whether hidden track one audio (HTOA) exists.
- Print detected track count
- Upon AccurateRip checksum validation failure, do not abort immediately anymore. Instead, print all AccurateRip checksums and then abort. This helps debugging.
- Bugfix AccurateRip checksum validation: Also allow AccurateRip v1 checksums. I've learned that EAC will still produce v1 checksums for some discs. Maybe because there are not enough v2 checksums for those in the database?
- Bugfix HTOA AccurateRip handling: Exclude track 0 in computations.
- Bugfix removal of leading 0 in tracknumber for HTOA: shntool will number the hidden track as 0, the old code would remove the whole tracknumber. We only remove the first 0 now.
- Bugfix code for getting total track count for AccurateRip+HTOA: Use trackcount from CUE instead of number of WAV files (requires cuetools). The hidden track is a separate WAV file but should not be included in total track count because it is labled as track 0. In other words: The track count of the old code would be one too much, resulting in the accuraterip-checksum tool not being able to detect the last track which should have caused a wrong checksum of the last track. What is weird: The v1 checksum of the last track did not change with the new code. Maybe the AccurateRip developers can answer why.
- Add TODO: shntool generates a "00 - pregap.wav" for HTOA. Decide what to do about this and check MusicBrainz for what they prefer. Options are: Keep as track 0? Merge with track 1? Shift all tracks by 1?
- Add TODO: I saw that "shntool len" is able to detect common problems of WAV files. Maybe we should do "shntool len" and check for problems? Or will those problems never happen with EAC?
- Add TODO: Decide about a good filename for the CUE/LOG which are copied to the output. Ideally we should use a filename which makes it easy to understand for non-experts what those files are for. Something which explains that the CUE is for being able to burn the original disc again and the LOG is a proof of quality. On the other hand, we already have writing out a README.txt on the TODO list already, we will explain the purpose of CUE/LOG there anyway.
- Add TODO: "Pre-"Tag FLACs from cuesheet with a separate tool I wrote. This tool will be available on github soon. "Pre-" because it will only copy the UPC/EAN/ISRC because those are actually stored on the disc. The real tagging will happen with MusicBrainz because it is the perfect tagging solution.
- Add TODO: We should really write all output to a perfect-flac-encode.log and copy it to the output directory.
- Add TODO: Replace Windows/Mac reserved filename characters in filenames generated from CUE by shntool
- Internal stuff: Cleanup regexp usage: Use grep+sed instead of bash regexp because the bash ones seem to be buggy and grep+sed is less lines of code than the bash workarounds. Also, get rid of copypasted regexp, use variables instead. Further, there was some pure grep regexp parsing. Use grep+sed to make it more readable (we use sed for direct access to capturing groups by number) and more failsafe.
- Internal stuff: Make regexp match full lines instead of parts of lines. This makes them more failsafe
- Internal stuff: Abort when wrong parameters are passed to functions
- Internal stuff: Make variables local which were global accidentially