john32b / cbae

Cue Bin CD Audio Encoder
ISC License
12 stars 1 forks source link

Not parsing the track titles from .cue #3

Open Coloris opened 1 year ago

Coloris commented 1 year ago

Hi,

Your tool is not using the title from the cue file to rename the splitted tracks

ex :

FILE "mycd.bin" BINARY TRACK 01 AUDIO TITLE "My Title 01" PERFORMER "ABCD" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "My Title 02" PERFORMER "DEFG" INDEX 00 02:36:64 INDEX 01 02:38:64

I'd expect to get

My Title 01.flac My Title 02.flac

john32b commented 1 year ago

Yes, it is lacking this feature, I made the cd parser explicitly for game cds. It is not implementing the whole cue file specification which is mostly for audio cds, so many metadatas are ignored. Currently the only metadata CBAE can extract is the root level TITLE for the whole CD.

I could look into it, sure. Did you encounter a game release that has metadata in the .cue file? or is it an audio CD?

Coloris commented 1 year ago

Not exactly, it's actually from an audio CD that includes background music from video games! :P

john32b commented 1 year ago

Oh interesting! Turns out I did code the parser to read and store the individual track titles, but in the generateCue function they are ignored. (doh!)

Seems like a nice feature to have, I will add it soon! 😸

john32b commented 1 year ago

Pushed a new version, check it out. Can now read both TITLE and PERFORMER tags (from tracks + root CD), and will autoname the output files accordingly, also added an option to customize the track filenames based on a template.

I tested it on a few scenarios and it worked fine. Let me know if you encounter any weird behavior or something.

Coloris commented 1 year ago

I'd love to but it seems that the windows binary is not updated ?

john32b commented 1 year ago

yeah.. when I updated the codebase to use the newer ECM modules for including files, it entirely broke the thing that I was using to convert it to .exe 😕

I'll take a look for other tools that can produce an .exe, but no promises. Try setting up node.js and installing the script with npm.