enzo1982 / freac

The fre:ac audio converter project
https://www.freac.org/
GNU General Public License v2.0
1.37k stars 70 forks source link

Audio files with embedded cue sheet and embedded cover art #85

Open Gorrrg opened 4 years ago

Gorrrg commented 4 years ago

Is your feature request related to a problem? Please describe. I have some albums ripped to a single audio file with an embedded cue sheet. One thing I noticed right away when loading them up in the application is that it lists all the album tracks in the joblist and not juse one audio file. That's a feature, but how do I disable it? Because when I then try to transcode that audio file, it gives me multiple errors warning me about overwriting the same files, since I've set the output file name to \<filename>. So obviously fre:ac wants to split the album into several tracks using the cue sheet information. I just want to transcode that one single album file with its cue sheet tag.

Then I disabled reading of embedded cue sheet and transcoding worked as I intended, preserving the single album file, but it was missing some of the tags fields, namely the cue sheet tags (CUESHEET and CUE_TRACK01_ARTIST and so on). So I'm wondering if it's even possible to keep the tags 100% untouched when there's a cue sheet in them.

My intention is to use fre:ac as a "dumb" transconding tool, and doing all the splitting and path naming with other tools. But it seems fre:ac only gives two destructive options: read the cue sheet, then interpret it and split up the audio, or not read the cue sheet then remove the tag field. There's no "read the cue sheet but don't interpret it" or maybe am I missing the option?

Similar with cover art, there's "read the cover art from tags and/or from disk"... or not. Or not leading to "don't write it to the transcoded files if there was in the source file". And there's "write it to tags and/or to disk"... or not. It's doing it for all the files in the same way, there's no "leave it as you've found it." That is if for one folder the album art is in the tags, then let the converted files have the cover art in their tags as well, but if the next folder has the cover art in a file, then copy those cover art files to the transcode directory...

I mean it's great if you want to unify a complete garbled collection and I guess that's what fre:ac focuses on, take all kinds of garbled sources and have something unified at the end. But I wish there would be a options where fre:ac simply copied the tags and additional files 1:1 and only change the audio and nothing else.

Describe the solution you'd like Add an option "leave tags exactly as is and don't interpret cue sheets/chapters/etc" to the Tags tab in the General Settings.

Describe alternatives you've considered Nothing really comes to mind.

enzo1982 commented 4 years ago

You are right. There currently is no way to keep a file's chapters intact while not evaluating them when adding the file to fre:ac's joblist. Also, fre:ac does not really support writing cue sheets to a file's metadata yet. This is supported only for APEv2 tags as there is no other way to store chapters with that tagging format.

I think the best option fre:ac currently has for this is to enable reading embedded cue sheets to get the individual tracks in the joblist. Then use the "Encode to a single file" option to create a combined output file with chapters.

I might add an option at some point to keep the original tags when converting between formats using the same tag format (i.e. converting from WavPack to OptimFROG would keep the tags as both use APEv2 or Ogg Vorbis to Opus as both use Vorbis Comments). That option will not be in fre:ac 1.1 though, but might possibly be added for version 1.2.

It might be dangerous in some cases, though, when the tags contain format-specific control parameters (like delay information stored in special tag fields for MP4-AAC). When carried over to another format without considering what the fields actually mean, such tag values might mess up decoding of the newly created file.