Help - Search - Members - Calendar
Full Version: Noncompliant to single wav cuesheet
Hydrogenaudio Forums > CD-R and Audio Hardware > CD Hardware/Software
Pages: 1, 2, 3
DrGreen
Hi,

i'm sorry if this was already asked here, but I couldn't found it with search.

Is there any tool that can convert a multiple files noncompliant cuesheet to a single image one?

The reason for this is that I have some albums stored as multiple files with a noncompliant cuesheet with gaps append to the end of previous track. Now I would like to join the files and create one appropriate cuesheet with all gaps preserved.

I've read the EAC CUE Sheets wiki page, and I see that it contains the method for converting, but it's difficult to apply it to a lot of cues by hand.

So I was thinking on some tool, or other clerver and quicker method to do it.

Thanks!
smz
Good question...

Foobar2000 doesn't seems to handle gaps, nor it is possible to "mount" such non-compliant cuesheets into an Alcohol 120% virtual drive. I don't know if it is possible with Daemon Tools.

The ideal would be to have a "virtual burner" that can be seen by EAC and "burn" an image+cuesheet from EAC. I know about EZB Systems Softdisc, but I never tried it and I don't know if its usable from EAC.

Anybody tried it?

... and, BTW, I'm every day happyier to have ripped to Image+Cuesheet ...

Sergio
Cosmo
The only simple solution involves owning the original CD. Otherwise, if any software/tool exists that would make this process easy, they're doing a good job of keeping it a secret.
smz
actually, just burning the non-compliant cuesheet to a cd-rw and then re-rip at you heart will suffice...

DrGreen
Thanks for the replies guys, and sorry for the wrong section... sad.gif

yes, I guess the burn and re-rip solution is the better, and in that case there's no need to actually rip it again, just extract the cue...

I will keep looking for such tool, maybe some good tool-making guy around here will solve the problem meanwhile lalala.gif

Thanks smile.gif
Moitah
QUOTE(DrGreen @ Feb 16 2006, 07:57 AM)
maybe some good tool-making guy around here will solve the problem meanwhile
*


Maybe wink.gif. No promises though smile.gif.
Moitah
I got a good start on it tonight. I should have something to share soon smile.gif.
Synthetic Soul
You're keen as a jellybean!

Will the app take a list of files and a non-compliant cuesheet, and return a single file cuesheet calculated from the original cuesheet data and track lengths, or will there be other features?

Is it worth sharing your thoughts now so that users can make requests?

Am I right in remembering that you use C#?
Moitah
@Synthetic Soul: Yes, it will read a CUE sheet (any of the 4 types that EAC makes) and get the track lengths from the WAV files (you'll have to make sure they're present and named properly). Then it will output a single-file CUE sheet, and I could add some of the other types later. It won't mess with the WAV files (splitting/joining) but it's not out of the question in the future. For now you can use WAV Tools to join the files. It's written in C# and will require the .NET Framework v2.0.
Synthetic Soul
Thanks for the reply.

Looking forward to playing with it. smile.gif
DrGreen
w00t.gif

Moitah, thank you so much smile.gif

Somehow the mail notifications are not working for me and saw this only now...

Will keep an eye in the thread to see what comes out smile.gif

beer.gif
Moitah
[Link removed, see here for updated link] - .NET Framework 2.0 required. Source code will be released soon.

Please help me test it by inspecting the new CUE sheet for anything strange. The time calculations should be correct, but look for any out-of-place items (commands other than FILE, TRACK, INDEX, and PREGAP are passed through as-is, hopefully in the right location smile.gif).
DrGreen
Thanks Moitah!

I will make some tests and report it back here.

For now I'm getting connection refused on your site. Hopefuly it will come back soon smile.gif

beer.gif
Moitah
@DrGreen: That's strange, usually my hosting is very stable. I can connect to the server via FTP but the HTTP part is down. Anyway, it's now mirrored at my ISP web space: [Link removed, see here for updated link].
DrGreen
Got it now!

Ok, I've made a test rip to disk. Now I'm having a problem. I always have a "Unable to get length of WAV file" error. Checked the files inside cue and they seem to be fine, also tried with full path and got the same error.

Am I missing something here?

btw, are you going to release the source? It would be easier to me to check if is a bug or not.

Thanks mate!
Moitah
@DrGreen: Full paths don't work right now, I'll have to fix that (I'd like to just ignore the directory part, does anyone have the CUE and WAVs in different directories?). When testing I had that problem because EAC doesn't replace spaces with underscores for the filenames inside the CUE sheet, make sure that's not the problem. If that's not it, I'll post a build that will give me more detail about this error (and the source too).
DrGreen
Yeah! I guess we have a winner! smile.gif

Did a quick test and the calculated cue is exactly the same as EAC one.

The problem was with the spaces. May I ask you why is there such problem?

Anyway, you made my day wink.gif Thanks!
Moitah
Glad it's working now smile.gif. I guess the space thing is a bug in EAC. I'll make it replace spaces with underscores or vice-versa if it can't load the file the first time.
DrGreen
I guess I misunderstood you when you talked about spaces and underscores.

If I use a rip with track names without spaces (Track01...) it works well. Now if I use a rip with proper filenames it will give the error mentioned before.

In both cases the tracknames inside the cue match the tracks filenames.

Here's the cue (of course it is useless without the files but...)
CODE
REM GENRE Jazz
REM DISCID 760D6E09
REM COMMENT "ExactAudioCopy v0.95b3"
PERFORMER "Peter Erskine"
TITLE "As It Is"
FILE "Glebe Ascending.wav" WAVE
 TRACK 01 AUDIO
   TITLE "Glebe Ascending"
   PERFORMER "Peter Erskine"
   INDEX 01 00:00:00
 TRACK 02 AUDIO
   TITLE "The Lady In The Lake"
   PERFORMER "Peter Erskine"
   INDEX 00 07:03:21
FILE "The Lady In The Lake.wav" WAVE
   INDEX 01 00:00:00
 TRACK 03 AUDIO
   TITLE "Episode"
   PERFORMER "Peter Erskine"
   INDEX 00 07:57:67
FILE "Episode.wav" WAVE
   INDEX 01 00:00:00
 TRACK 04 AUDIO
   TITLE "Woodcocks"
   PERFORMER "Peter Erskine"
   INDEX 00 04:28:35
FILE "Woodcocks.wav" WAVE
   INDEX 01 00:00:00
 TRACK 05 AUDIO
   TITLE "Esperança"
   PERFORMER "Peter Erskine"
   INDEX 00 07:12:36
FILE "Esperança.wav" WAVE
   INDEX 01 00:00:00
 TRACK 06 AUDIO
   TITLE "Touch Her Soft Lips And Part"
   PERFORMER "Peter Erskine"
   INDEX 00 03:57:23
FILE "Touch Her Soft Lips And Part.wav" WAVE
   INDEX 01 00:00:00
 TRACK 07 AUDIO
   TITLE "Au Contraire"
   PERFORMER "Peter Erskine"
   INDEX 00 04:52:39
FILE "Au Contraire.wav" WAVE
   INDEX 01 00:00:00
 TRACK 08 AUDIO
   TITLE "For Ruth"
   PERFORMER "Peter Erskine"
   INDEX 00 10:17:29
FILE "For Ruth.wav" WAVE
   INDEX 01 00:00:00
 TRACK 09 AUDIO
   TITLE "Romeo And Juliet"
   PERFORMER "Peter Erskine"
   INDEX 00 06:43:46
FILE "Romeo And Juliet.wav" WAVE
   INDEX 01 00:00:00


I'm used to C#, so if you could make the source available I guess I would be able to track down the problem.

Thanks again mate!
Moitah
I fixed the full path issue, added the space/underscore thing, added the ability to drag/drop CUE files onto the path text boxes, and added prompt for overwrite if the output CUE exists. I think it's good enough to call "one-point-oh", so here it is:

[Link removed, see here for updated link]
DrGreen
found the problem with my cuesheet.

It was a non ASCII character in file Esperança.wav

Everything is working now! biggrin.gif
liekloo
Wow! smile.gif

Moitah you've done a terrific job! There has been a real need for a tool that does what yours does, and I think quite some people will take advantage this. smile.gif
mmortal03
Awesome work!

Any chance this could be made to follow the relative subdirectories in the CUE sheet to find the source WAV files? It copies over the information properly linking to the right location, but only if you move them to the directory of the cuesheet temporarily.

Also, might I be the one to request support for FLAC files? I believe a length string is stored inside the FLACs.
Moitah
Thanks for the feedback smile.gif.

@mmortal03: I can fix that. I'd like to have it check in the same directory as the CUE first, but if that doesn't work I could use the directory provided in the CUE sheet (absolute or relative). As for FLACs, I'll see how much work it would be. Do the filenames inside the CUE sheet have ".flac" or ".wav" extension?
mmortal03
QUOTE(Moitah @ Feb 20 2006, 05:31 PM)
Thanks for the feedback smile.gif.

@mmortal03:  I can fix that.  I'd like to have it check in the same directory as the CUE first, but if that doesn't work I could use the directory provided in the CUE sheet (absolute or relative).  As for FLACs, I'll see how much work it would be.  Do the filenames inside the CUE sheet have ".flac" or ".wav" extension?
*



I edit my cue sheets so that they have a ".flac" extension, because EAC doesn't do it on its own.
Moitah
CUE Tools v1.1.0 uses the directory information inside the CUE if it can't find the audio file in the same directory as the CUE, and can read the length of FLAC files. I might have added support WavPack or Monkey's Audio, but I didn't find documentation on their file formats (and I don't feel like digging through the source code right now).

[Link removed, see here for updated link]
mmortal03
The new version works like a charm. One very small thing that I noticed that would make the file naming a lot more convenient process:

Instead of having to type in the name of the output file each time, could you have the output name default to the name of the input cue file and then append something to the end of it? That way, most of the time, you wouldn't have to type in anything.

Example: Input cue name: "C:\CD Rips FLAC\Ready to Archive\Absorption.CUE"

Output cue name: "C:\CD Rips FLAC\Ready to Archive\Absorption (single wav).CUE"

You choose what would best be appended to the end. Or, what would be even better, is if you would let the user choose what is appended onto the name.

Again, excellent work!
DrGreen
Moitah, this is getting even better smile.gif Thanks for the update!

I second the auto output filename thing.

Also, it would be good to be able to choose the filename inside the cue. I always use CDImage.flac, so have to change the default Range.wav. But that's a minor thing I guess.

Anyway, this tool is solving me a lot of problems I used to have, so, thanks mate! smile.gif
DrGreen
I guess you have a little bug on your General.TimeToString method.

For tracks that start after 60 minutes, the indices are wrong.

Shouldn't be "if(t < 60) min = t % 60; else min = (t % 60) + 60;" instead of just "min = t % 60"?

Thanks!
Moitah
I thought I tested that... wow, what a stupid bug tongue.gif. Anyway, it should just be simply "min = t".

EDIT: I'll have a new version out soon with that fix and the other suggestions.
DrGreen
You're bug might be stupid... but my solution is way more stupid than that biggrin.gif
Moitah
CUE Tools v1.2.0:
  • Fixes the bug with writing timestamps over an hour (it accidentally wrapped before, to repair old files written by CUE Tools you can add 60 minutes where necessary).
  • Option to generate output filename by appending something to the input filename.
  • Single-WAV filename in the output CUE sheet can be customized.
[Link removed, see here for updated link]
Fandango
OMG! Awesome, Moitah. Another useful tools from you. biggrin.gif

Ever since the new cue sheet handling was introduced in the foobar2000 v0.9 betas, I wasn't able to listen to all my "non-conpliant" rips if I hadn't sticked to beta 6. I made a thread a few months ago in the fb2k sub-forums with no positive outcome at all. So I kept using beta 6, instead of abandoning my music and using newer betas (I didn't want to re-rip ~80 CDs or worse burn the backups to CD-RWs). And because I didn't want to miss the new features of 0.9 either, I didn't switch back to 0.8.3. That's over now! tongue.gif

Hey, now you got yourself another (beta) tester here. tongue.gif
I did a quick test with two CDs and it got me identical results.

First I tested one of my non-compliant rips (no pre-gap before track 1 tho): made a new cue sheet with CUETools, made a single wav with fb2k and one with WAVTools, then I enqueued all three "rips" into foobar and used the bit-compare tool to verify single tracks. No errors.

Then I ripped a CD to single tracks with a non-compliant cue sheet, and basically did the same as above, result was almost no errors (see below for that). Then I ripped it again to a single file with a compliant cue sheet and did some bit compares again, also almost wink.gif no errors. (so EAC's secure rip proofed to be working too of course - the CD has some bad "spots"). Ok, the only problem was that CDs longer than one hour had wrong indexes (INDEX 00 63:24:44 --> INDEX 00 03:24:44) which you already edit: fixed while I was writing this post ohmy.gif ...but apart from that (and the FILE "Range.wav" WAVE) both CUETools and EAC's cue sheets were identical.

So far it looks good to me. Of course it were only two CDs (without pre-gaps before the first track...), but I'm sure if there is a problem with a special CD someone will find it.

Oh and I already got some suggestions:
  • why not merge "WAVTools" and "CUETools"?
  • add "batch mode"
  • optionally delete old WAV tracks (in case WAVTools gets integrated)
and if you really feel like it:
  • support for CLI de-/encoders
  • and maybe even someone wants to convert single image cues to non-compliant ones, hehe biggrin.gif although that is already possible by mounting the image/cue
  • add support for converting multi-track EAC logs to single track logs, complete with CRC recalculation for the joined wav image laugh.gif really j/k here
Well, thanks a lot for this tool! (It's the small things that can make people happy.)
mmortal03
Yeah, I mean, if you integrated WAVTools and CUETools, you could add FLAC encoding and decoding support, and then I (and others) could just drop the cuesheet into the program, and then it could, obviously only needing the referenced files to be in the specified location (relative or absolute), output the wav image (or FLAC if the source is FLAC) and full cuesheet to a directory of the user's choice all at once. This is because usually, the user isn't just going to convert the cuesheet, but also the music to the single image file all at once.

This would turn out to be an outstanding companion to Burrrn, because Burrrn already natively supports FLAC files and single wav images that are compressed into FLAC.
Fandango
@mmortal03

Yes, and since WAVTools already supports adding first track pre-gap, it is perfect for CUETools which would provide the needed value automagically.


@Moitah

I did another test (with the new version):

Foobar2000 (upto 0.9 beta 6, dunno about newer betas) has the ability to add replaygain info into cue sheets.

For album gain it simply adds the following keywords (followed by the corresponding values) "REM REPLAYGAIN_ALBUM_GAIN" and "REM REPLAYGAIN_ALBUM_PEAK" after TITLE and before the first FILE entry. In the FILE/TRACK section it respectively adds "REM REPLAYGAIN_TRACK_GAIN" and "REM REPLAYGAIN_TRACK_PEAK" at the end. This is roughly how it is done with a single image cue sheet... now with a multi track cue sheet it is also possible but it looks a lot messier.

I dunno how, but CUETools does converting such a replaygained multi track cue sheet quite well, as far as I can see, except for one thing that makes fb2k reject such a single image cue sheet afterwards: the "REM REPLAYGAIN_*" lines are placed before the INDEX lines, but foobar2000 always puts them past the TITLE/*/INDEX lines in these single cues. It's best seen when looking at three example:

A non-compliant cue sheet after being "replaygained" by foobar2000:

CODE
PERFORMER "801"
TITLE "Live"
REM REPLAYGAIN_ALBUM_GAIN -1.16 dB
REM REPLAYGAIN_ALBUM_PEAK 0.999969
FILE "01 - Lagrima.wav" WAVE
TRACK 01 AUDIO
TITLE "Lagrima"
PERFORMER "801"
INDEX 01 00:00:00
FILE "02 - T.N.K. (Tomorrow Never Knows).wav" WAVE
REM REPLAYGAIN_TRACK_GAIN +10.39 dB
REM REPLAYGAIN_TRACK_PEAK 0.186646
TRACK 02 AUDIO
TITLE "T.N.K. (Tomorrow Never Knows)"
PERFORMER "801"
INDEX 01 00:00:00
FILE "03 - East Of Asteroid.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -2.03 dB
REM REPLAYGAIN_TRACK_PEAK 0.999969
TRACK 03 AUDIO
TITLE "East Of Asteroid"
PERFORMER "801"
INDEX 01 00:00:00
FILE "04 - Rongwrong.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -1.81 dB
REM REPLAYGAIN_TRACK_PEAK 0.904327
TRACK 04 AUDIO
TITLE "Rongwrong"
PERFORMER "801"
INDEX 01 00:00:00
FILE "05 - Sombre Reptiles.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -0.10 dB
REM REPLAYGAIN_TRACK_PEAK 0.762543
TRACK 05 AUDIO
TITLE "Sombre Reptiles"
PERFORMER "801"
INDEX 01 00:00:00
FILE "06 - Baby's On Fire.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -0.48 dB
REM REPLAYGAIN_TRACK_PEAK 0.814301
TRACK 06 AUDIO
TITLE "Baby's On Fire"
PERFORMER "801"
INDEX 01 00:00:00
FILE "07 - Diamond Head.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -1.19 dB
REM REPLAYGAIN_TRACK_PEAK 0.788879
TRACK 07 AUDIO
TITLE "Diamond Head"
PERFORMER "801"
INDEX 01 00:00:00
FILE "08 - Miss Shapiro.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -0.73 dB
REM REPLAYGAIN_TRACK_PEAK 0.807159
TRACK 08 AUDIO
TITLE "Miss Shapiro"
PERFORMER "801"
INDEX 01 00:00:00
FILE "09 - You Really Got Me.wav" WAVE
REM REPLAYGAIN_TRACK_GAIN -1.06 dB
REM REPLAYGAIN_TRACK_PEAK 0.866943
TRACK 09 AUDIO
TITLE "You Really Got Me"
PERFORMER "801"
INDEX 01 00:00:00
REM REPLAYGAIN_TRACK_GAIN -1.50 dB
REM REPLAYGAIN_TRACK_PEAK 0.784607
TRACK 10 AUDIO
TITLE "Third Uncle"
PERFORMER "801"
INDEX 00 03:21:74
FILE "10 - Third Uncle.wav" WAVE
INDEX 01 00:00:00
REM REPLAYGAIN_TRACK_GAIN -0.50 dB
REM REPLAYGAIN_TRACK_PEAK 0.764374


This was a clean single image compliant cue sheet which got replaygained:

CODE
PERFORMER "801"
TITLE "Live"
REM REPLAYGAIN_ALBUM_GAIN -1.16 dB
REM REPLAYGAIN_ALBUM_PEAK 0.999969
FILE "Live fb2k.wav" WAVE
TRACK 01 AUDIO
TITLE "Lagrima"
PERFORMER "801"
INDEX 01 00:00:00
REM REPLAYGAIN_TRACK_GAIN +10.39 dB
REM REPLAYGAIN_TRACK_PEAK 0.186646
TRACK 02 AUDIO
TITLE "T.N.K. (Tomorrow Never Knows)"
PERFORMER "801"
INDEX 01 02:33:72
REM REPLAYGAIN_TRACK_GAIN -2.03 dB
REM REPLAYGAIN_TRACK_PEAK 0.999969
TRACK 03 AUDIO
TITLE "East Of Asteroid"
PERFORMER "801"
INDEX 01 08:49:35
REM REPLAYGAIN_TRACK_GAIN -1.81 dB
REM REPLAYGAIN_TRACK_PEAK 0.904327
TRACK 04 AUDIO
TITLE "Rongwrong"
PERFORMER "801"
INDEX 01 13:47:15
REM REPLAYGAIN_TRACK_GAIN -0.10 dB
REM REPLAYGAIN_TRACK_PEAK 0.762543
TRACK 05 AUDIO
TITLE "Sombre Reptiles"
PERFORMER "801"
INDEX 01 18:52:72
REM REPLAYGAIN_TRACK_GAIN -0.48 dB
REM REPLAYGAIN_TRACK_PEAK 0.814301
TRACK 06 AUDIO
TITLE "Baby's On Fire"
PERFORMER "801"
INDEX 01 22:13:02
REM REPLAYGAIN_TRACK_GAIN -1.19 dB
REM REPLAYGAIN_TRACK_PEAK 0.788879
TRACK 07 AUDIO
TITLE "Diamond Head"
PERFORMER "801"
INDEX 01 27:16:32
REM REPLAYGAIN_TRACK_GAIN -0.73 dB
REM REPLAYGAIN_TRACK_PEAK 0.807159
TRACK 08 AUDIO
TITLE "Miss Shapiro"
PERFORMER "801"
INDEX 01 33:37:67
REM REPLAYGAIN_TRACK_GAIN -1.06 dB
REM REPLAYGAIN_TRACK_PEAK 0.866943
TRACK 09 AUDIO
TITLE "You Really Got Me"
PERFORMER "801"
INDEX 01 37:58:60
REM REPLAYGAIN_TRACK_GAIN -1.50 dB
REM REPLAYGAIN_TRACK_PEAK 0.784607
TRACK 10 AUDIO
TITLE "Third Uncle"
PERFORMER "801"
INDEX 00 41:20:59
INDEX 01 41:22:07
REM REPLAYGAIN_TRACK_GAIN -0.50 dB
REM REPLAYGAIN_TRACK_PEAK 0.764374


And this is was a replaygained multi track non-compliant cue sheet after being transformed by CUETools:

CODE
PERFORMER "801"
TITLE "Live"
REM REPLAYGAIN_ALBUM_GAIN -1.16 dB
REM REPLAYGAIN_ALBUM_PEAK 0.999969
FILE "Live.wav" WAVE
TRACK 01 AUDIO
TITLE "Lagrima"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN +10.39 dB
REM REPLAYGAIN_TRACK_PEAK 0.186646
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "T.N.K. (Tomorrow Never Knows)"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -2.03 dB
REM REPLAYGAIN_TRACK_PEAK 0.999969
INDEX 01 02:33:72
TRACK 03 AUDIO
TITLE "East Of Asteroid"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -1.81 dB
REM REPLAYGAIN_TRACK_PEAK 0.904327
INDEX 01 08:49:35
TRACK 04 AUDIO
TITLE "Rongwrong"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -0.10 dB
REM REPLAYGAIN_TRACK_PEAK 0.762543
INDEX 01 13:47:15
TRACK 05 AUDIO
TITLE "Sombre Reptiles"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -0.48 dB
REM REPLAYGAIN_TRACK_PEAK 0.814301
INDEX 01 18:52:72
TRACK 06 AUDIO
TITLE "Baby's On Fire"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -1.19 dB
REM REPLAYGAIN_TRACK_PEAK 0.788879
INDEX 01 22:13:02
TRACK 07 AUDIO
TITLE "Diamond Head"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -0.73 dB
REM REPLAYGAIN_TRACK_PEAK 0.807159
INDEX 01 27:16:32
TRACK 08 AUDIO
TITLE "Miss Shapiro"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -1.06 dB
REM REPLAYGAIN_TRACK_PEAK 0.866943
INDEX 01 33:37:67
TRACK 09 AUDIO
TITLE "You Really Got Me"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -1.50 dB
REM REPLAYGAIN_TRACK_PEAK 0.784607
INDEX 01 37:58:60
TRACK 10 AUDIO
TITLE "Third Uncle"
PERFORMER "801"
REM REPLAYGAIN_TRACK_GAIN -0.50 dB
REM REPLAYGAIN_TRACK_PEAK 0.764374
INDEX 00 41:20:59
INDEX 01 41:22:07



So I guess only a small tweaking of the code is necessary here...

Moderation: Amended to use codebox

-- Thx, Synthetic Soul. I knew there was a BBcode like this but I forgot its name.
mmortal03
QUOTE(Fandango @ Feb 22 2006, 06:47 PM)
@mmortal03

Yes, and since WAVTools already supports adding first track pre-gap, it is perfect for CUETools which would provide the needed value automagically.



Yeah, the next version of Burrrn allows you to specify the Write Offset, so once that is set, and you ripped them with the proper Read Offset, you wouldn't even need to use that feature, but it is true that you could if you needed it.


Also, about the ReplayGain...I save all my ReplayGain information into my individual FLACs, and not into the cuesheet. Obviously, you can't do that with WAVs.

But, given this, once the FLAC is encoded to one big wav compressed as a FLAC, the ReplayGain information wouldn't by default transfer over (e.g. FLAC.exe wouldn't know how to do it). As far as burning it replaygained, Burrrn has a ReplayGain option. But as far as for PLAYING back using the cuefiles, yeah, having Moitah's program reconstruct the full Replaygain value from the individual album gain info in the FLACs, and write that as the Replaygain value in the single FLAC image's metadata would be the best bet. I understand why you would want to write it to the cue for WAVs, but for FLACs, it might as well be written to the FLAC file.
Fandango
QUOTE(mmortal03 @ Feb 23 2006, 12:56 AM)
I understand why you would want to write it to the cue for WAVs, but for FLACs, it might as well be written to the FLAC file.
*



Well I just played around a bit and thought of testing how good CUETools handles "REM"-comments.

And the reason why I store the replaygain info in my cues is because I do single image rips nowadays only, so putting the replaygain info into the cue sheet is done automatically by fb2k since it's the cue sheet that was loaded into the playlist, thus all "tags" are stored there (actually rp info are the only tags stored into a cue sheet by fb2k tongue.gif ) and besides that it's the only way to also preserve the track gains and peaks for single image rips.

For multi track rips it's basically the same, because I load the cue sheets into the playlist instead of the FLACs. So again after replaygaining a non-compliant set of tracks and fb2k (0.9b6) will put the rg info in the cues leaving the FLACs untouched. I do this because I like to think of the multi FLACs rips and single FLAC rips both as equal, in fact I was always thinking that some day I am going to convert all my non-compliant rips to single file with integrated cue sheets and EAC logs how I do it now.
mmortal03
How can I properly store the Date Tag information in the cuesheets such that Foobar2000 will recognize it? Also, will CUETools recognize it and copy it over to the single file cuesheet?
Fandango
The problem is not that the DATE line gets ommitted during converting with CUETool... which is not the case!

foobar simply doesn't interpret the "DATE 1544" line as a YEAR tag... and there's no way of adding a "REM YEAR 1544" or so... that would get ignored, too. tongue.gif Maybe that's fixed in the newer betas... as I said I used 0.9b6 with the old cue sheet interpreter.

If this causes some problems for you later... for example you want the albums of one artist to be in the correct order of release then add the year of the release somewhere in the file path. For example make a folder for every album starting with the year of release, or if you use single files with integrated cue sheets use something like <Artist> - <Year> - <Album title>.flac. Then you can sort the playlist according to the file path automatically and don't have to make it manually when you create a new playlist or messed an old one up.

Oh or maybe ask the fb2k devs politely if they would like to implement this (if they haven't done so already). I mean that the DATE line gets interpreted as a YEAR tag when loading a cue sheet.
Moitah
I think I'm just going to remove those ReplayGain lines. The most important reason is because the track gain values can actually change depending on which type of CUE sheet was used. For single file and non-complaint, the track gain value foobar2000 calculates for each track includes the following gaps, but for a CUE sheet where the gaps are prepended ("corrected gaps" as EAC calls it), the track gain value for each track includes the previous gaps.

The other reason is because I still would like for it to be able to produce non-compliant CUE sheets, and I find foobar2000's placement of these lines in non-compliant CUE sheets very strange (at the beginning of a FILE block, or at the end of a TRACK block, depending on if the track has a gap).

I could leave the ReplayGain lines if I wanted to (only discard them if they don't translate properly between the input and output CUE type), but it wouldn't be fun for me (which is why I wrote it... I don't actually have any non-compliant CUE sheets).

As for all the feature suggestions, they're certainly good ideas, but since I'll probably only use CUE Tools rarely (if ever), I'm not sure how much more I feel like improving it tongue.gif.

EDIT: Left out a word.
Moitah
That said, I threw this together really quick. It puts the track gain lines in the correct position, but if you feed it a CUE sheet with gaps prepended or left out, it will copy them even though it's not exactly correct to do so.

[Link removed, outdated]

But expect future versions to remove the ReplayGain lines.
Fandango
Yeah I guess you're absolutely right, preserving replaygain from cue sheets during this kind of conversion won't make much sense when the values are obsolete afterwards anyway. In either case a new run of replaygain is necessary and lots of people might not even be aware of this and they keep the wrong rp info.

And also if leaving rp lines in will brake some future functionality of your tool, it's best to drop it anyway as soon as possible. Thanks for the quick fix tho, because a replaygained cue sheet that was converted and then isn't accepted by fb2k, although fb2k's rp info isn't really an official feature of cue sheets either, might still be considered a bug (either of CUETools or foobar2000, I dunno).

You say you could make it identify cue sheets were rp info gets obsolete after conversion, but it's no big deal if you don't want to implement that. I was more concerned that any comment in a cue sheet might somehow mess things up. I hope that's also fixed now. After all the most important thing is that the cue sheets are valid and that no extra nifty "add-ons" like the replaygain comments mess things up.

But... crying.gif about the other feature requests (especially merging WAVTools and CUETools so one could convert a rip in one go)... that's sad to hear, but understandable.
Cosmo
Nice.

Might it be possible to re-introduce a gap prior to track 1?
(either by manually prepending it to track 1, or by providing a separate file)
Moitah
@Cosmo: WAV Tools will let you do it either way.
mmortal03
QUOTE(Fandango @ Feb 22 2006, 07:48 PM)
The problem is not that the DATE line gets ommitted during converting with CUETool... which is not the case!

foobar simply doesn't interpret the "DATE 1544" line as a YEAR tag... and there's no way of adding a "REM YEAR 1544" or so... that would get ignored, too. tongue.gif Maybe that's fixed in the newer betas... as I said I used 0.9b6 with the old cue sheet interpreter.

If this causes some problems for you later... for example you want the albums of one artist to be in the correct order of release then add the year of the release somewhere in the file path. For example make a folder for every album starting with the year of release, or if you use single files with integrated cue sheets use something like <Artist> - <Year> - <Album title>.flac. Then you can sort the playlist according to the file path automatically and don't have to make it manually when you create a new playlist or messed an old one up.

Oh or maybe ask the fb2k devs politely if they would like to implement this (if they haven't done so already). I mean that the DATE line gets interpreted as a YEAR tag when loading a cue sheet.
*



Yeah, I actually just use the DATE tag as the YEAR tag. Are you saying that foobar2000 cannot read the DATE info from the the cuesheet?
Fandango
Yes, this is correct for the "old" cue sheet interpreter. It is undergoing a massive rewrite since v0.9 beta 7, AFAIK because partly of the new CD-Reader functionality that is going to be in 0.9.

But I have no clue whether the latest versions of 0.9 do interpret the DATE field as an internal year tag. Best if you try out yourself.
Cosmo
QUOTE(Moitah)
@Cosmo: WAV Tools will let you do it either way.

But if I add a pre-gap with WAVTools, the CUE sheet created by CUETools will not be correct. Can you add the "Add Pre-Gap:" option to CUETools?

Thank you!!
Moitah
I see what you're asking now. Yeah, I think I will add this.
Moitah
After checking a non-compliant CUE sheet with a gap before the first track, although EAC doesn't put an INDEX 00, it does put a PREGAP line. So there shouldn't be any need to add it manually.

Example:
CODE
FILE "01.wav" WAVE
 TRACK 01 AUDIO
   ISRC USEW19900316
   PREGAP 00:00:32
   INDEX 01 00:00:00


I may have found a bug when handling files like this, though. EDIT: Nevermind, there's no bug, it works fine.
Fandango
I got another suggestion concerning the file name of the single wav file: add the option to let CUETool build the file name from the album performer and album title of the CD. Because this is the default naming in the latest EAC versions for image rips.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.