HydrogenAudio

CD-R and Audio Hardware => CD Hardware/Software => Topic started by: DrGreen on 2006-02-15 23:05:44

Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-15 23:05:44
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 (http://wiki.hydrogenaudio.org/index.php?title=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!
Title: Noncompliant to single wav cuesheet
Post by: smz on 2006-02-16 01:43:13
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 (http://www.daemon-tools.cc/).

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 (http://www.ezbsystems.com/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
Title: Noncompliant to single wav cuesheet
Post by: Cosmo on 2006-02-16 02:54:18
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.
Title: Noncompliant to single wav cuesheet
Post by: smz on 2006-02-16 03:23:44
actually, just burning the non-compliant cuesheet to a cd-rw and then re-rip at you heart will suffice...
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-16 11:57:55
Thanks for the replies guys, and sorry for the wrong section...

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 

Thanks
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-16 12:12:40
Quote
maybe some good tool-making guy around here will solve the problem meanwhile
[a href="index.php?act=findpost&pid=364703"][{POST_SNAPBACK}][/a]

Maybe .  No promises though .
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-17 10:53:09
I got a good start on it tonight.  I should have something to share soon .
Title: Noncompliant to single wav cuesheet
Post by: Synthetic Soul on 2006-02-17 11:52:35
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#?
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-17 21:06:01
@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 (http://www.hydrogenaudio.org/forums/index.php?showtopic=33525) to join the files.  It's written in C# and will require the .NET Framework v2.0.
Title: Noncompliant to single wav cuesheet
Post by: Synthetic Soul on 2006-02-17 21:15:45
Thanks for the reply.

Looking forward to playing with it.
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-17 21:33:44
 

Moitah, thank you so much

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

Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-18 00:43:45
[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) 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 ).
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-18 11:57:00
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

Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-18 12:15:56
@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 (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link].
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-18 12:52:54
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!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-18 12:57:11
@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).
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-18 13:13:16
Yeah! I guess we have a winner!

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  Thanks!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-18 13:17:00
Glad it's working now .  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.
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-18 14:14:15
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: [Select]
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!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-18 14:17:29
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 (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link]
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-18 14:28:09
found the problem with my cuesheet.

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

Everything is working now!
Title: Noncompliant to single wav cuesheet
Post by: liekloo on 2006-02-20 21:04:27
Wow!

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.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-20 22:13:53
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.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-20 22:31:20
Thanks for the feedback .

@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?
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-21 01:31:02
Quote
Thanks for the feedback .

@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?
[a href="index.php?act=findpost&pid=365888"][{POST_SNAPBACK}][/a]


I edit my cue sheets so that they have a ".flac" extension, because EAC doesn't do it on its own.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-21 14:26:43
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 (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link]
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-22 01:52:03
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!
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-22 12:14:46
Moitah, this is getting even better  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!
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-22 18:47:09
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!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-22 19:52:36
I thought I tested that... wow, what a stupid bug .  Anyway, it should just be simply "min = t".

EDIT:  I'll have a new version out soon with that fix and the other suggestions.
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-22 20:14:29
You're bug might be stupid... but my solution is way more stupid than that
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-22 22:47:17
CUE Tools v1.2.0:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link]
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-22 22:56:23
OMG! Awesome, Moitah. Another useful tools from you. 

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!

Hey, now you got yourself another (beta) tester here.
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  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  ...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:and if you really feel like it:Well, thanks a lot for this tool! (It's the small things that can make people happy.)
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-22 23:35:29
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.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-22 23:47:03
@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: [Select]
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: [Select]
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: [Select]
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...

[span style=\'font-size:8pt;line-height:100%\']Moderation: Amended to use codebox[/span]

[span style=\'font-size:8pt;line-height:100%\']-- Thx, Synthetic Soul. I knew there was a BBcode like this but I forgot its name.[/span]
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-22 23:56:59
Quote
@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.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-23 00:22:25
Quote
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.
[a href="index.php?act=findpost&pid=366469"][{POST_SNAPBACK}][/a]


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  ) 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.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-23 00:37:55
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?
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-23 00:48:28
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.  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.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-23 18:57:34
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 .

EDIT:  Left out a word.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-23 19:26:04
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.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-23 19:44:59
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...    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.
Title: Noncompliant to single wav cuesheet
Post by: Cosmo on 2006-02-23 19:51:13
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)
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-23 19:53:49
@Cosmo:  WAV Tools (http://www.hydrogenaudio.org/forums/index.php?showtopic=33525) will let you do it either way.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-23 20:38:20
Quote
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.  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.
[a href="index.php?act=findpost&pid=366483"][{POST_SNAPBACK}][/a]


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?
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-23 20:58:57
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.
Title: Noncompliant to single wav cuesheet
Post by: Cosmo on 2006-02-23 22:13:16
Quote
@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!!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-23 22:59:12
I see what you're asking now.  Yeah, I think I will add this.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-23 23:18:40
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: [Select]
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.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-23 23:28:43
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.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-24 00:21:56
Quote
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.
[a href="index.php?act=findpost&pid=366684"][{POST_SNAPBACK}][/a]


Yeah, foobar2000 (0.8.3) still doesn't read it.  I don't think they added it to 0.9.0 either.  Plus, EAC doesn't write it to the cuesheet in the first place.  I would currently have to manually add it for each of my cuesheets.  I will see if I can request support for both EAC and foobar2000.
Title: Noncompliant to single wav cuesheet
Post by: djet on 2006-02-24 01:35:22
This tool is just a dream! It saved a lot of manual work for me. 

However, not all CUEs parsed successfully, forex, this one:
Code: [Select]
REM GENRE "Dance Hall"
REM DATE 1995
REM DISCID C10D540F
REM COMMENT "ExactAudioCopy v0.95b2"
PERFORMER "Buju Banton"
TITLE "'Til Shiloh"
FILE "01 - Shiloh.flac" WAVE
  TRACK 01 AUDIO
    TITLE "Shiloh"
    PERFORMER "Buju Banton"
    PREGAP 00:00:33
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Til I'm Laid To Rest"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 00:16:20
FILE "02 - Til I'm Laid To Rest.flac" WAVE
    INDEX 01 00:00:00
  TRACK 03 AUDIO
    TITLE "Murderer"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 04:20:32
FILE "03 - Murderer.flac" WAVE
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    TITLE "Champion"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 03:52:65
FILE "04 - Champion.flac" WAVE
    INDEX 01 00:00:00
  TRACK 05 AUDIO
    TITLE "Untold Stories"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 03:55:48
FILE "05 - Untold Stories.flac" WAVE
    INDEX 01 00:00:00
  TRACK 06 AUDIO
    TITLE "Not An Easy Road"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 04:32:12
FILE "06 - Not An Easy Road.flac" WAVE
    INDEX 01 00:00:00
  TRACK 07 AUDIO
    TITLE "Only Man"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 03:57:35
FILE "07 - Only Man.flac" WAVE
    INDEX 01 00:00:00
  TRACK 08 AUDIO
    TITLE "Complaint feat. Garnett Silk"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 02:47:43
FILE "08 - Complaint feat. Garnett Silk.flac" WAVE
    INDEX 01 00:00:00
  TRACK 09 AUDIO
    TITLE "Chuck It So"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 03:57:25
FILE "09 - Chuck It So.flac" WAVE
    INDEX 01 00:00:00
  TRACK 10 AUDIO
    TITLE "How Could You"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 03:54:00
FILE "10 - How Could You.flac" WAVE
    INDEX 01 00:00:00
  TRACK 11 AUDIO
    TITLE "Wanna Be Loved"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 03:52:15
FILE "11 - Wanna Be Loved.flac" WAVE
    INDEX 01 00:00:00
  TRACK 12 AUDIO
    TITLE "It's All Over"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 04:01:60
FILE "12 - It's All Over.flac" WAVE
    INDEX 01 00:00:00
  TRACK 13 AUDIO
    TITLE "Hush Baby Hush"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 04:01:40
FILE "13 - Hush Baby Hush.flac" WAVE
    INDEX 01 00:00:00
  TRACK 14 AUDIO
    TITLE "What Ya Gonna Do feat. Wayne Wonder"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 04:17:70
FILE "14 - What Ya Gonna Do feat. Wayne Wonder.flac" WAVE
    INDEX 01 00:00:00
  TRACK 15 AUDIO
    TITLE "Champion (Remix)"
    PERFORMER "Buju Banton"
    INDEX 00 03:39:40
FILE "15 - Champion (Remix).flac" WAVE
    INDEX 01 00:00:00

got trasnformed to:
Code: [Select]
REM GENRE "Dance Hall"
REM DATE 1995
REM DISCID C10D540F
REM COMMENT "ExactAudioCopy v0.95b2"
PERFORMER "Buju Banton"
TITLE "'Til Shiloh"
FILE "CDImage.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Shiloh"
    PERFORMER "Buju Banton"
    INDEX 00 00:00:00
    INDEX 01 00:00:33
  TRACK 02 AUDIO
    TITLE "Til I'm Laid To Rest"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 00:16:53
    INDEX 01 00:20:43
  TRACK 03 AUDIO
    TITLE "Murderer"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 04:41:00
    INDEX 01 04:44:65
  TRACK 04 AUDIO
    TITLE "Champion"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 08:37:55
    INDEX 01 08:41:45
  TRACK 05 AUDIO
    TITLE "Untold Stories"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 12:37:18
    INDEX 01 12:41:08
  TRACK 06 AUDIO
    TITLE "Not An Easy Road"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 17:13:20
    INDEX 01 17:17:10
  TRACK 07 AUDIO
    TITLE "Only Man"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 21:14:45
    INDEX 01 21:18:35
  TRACK 08 AUDIO
    TITLE "Complaint feat. Garnett Silk"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 24:06:03
    INDEX 01 24:09:68
  TRACK 09 AUDIO
    TITLE "Chuck It So"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 28:07:18
    INDEX 01 28:11:08
  TRACK 10 AUDIO
    TITLE "How Could You"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 32:05:08
    INDEX 01 32:08:73
  TRACK 11 AUDIO
    TITLE "Wanna Be Loved"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 36:01:13
    INDEX 01 36:05:03
  TRACK 12 AUDIO
    TITLE "It's All Over"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 40:06:63
    INDEX 01 40:10:53
  TRACK 13 AUDIO
    TITLE "Hush Baby Hush"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 44:12:18
    INDEX 01 44:16:08
  TRACK 14 AUDIO
    TITLE "What Ya Gonna Do feat. Wayne Wonder"
    PERFORMER "Buju Banton"
    FLAGS DCP
    INDEX 00 48:34:03
    INDEX 01 48:37:68
  TRACK 15 AUDIO
    TITLE "Champion (Remix)"
    PERFORMER "Buju Banton"
    INDEX 00 52:17:33
    INDEX 01 52:21:23

As you see, PREGAP got transformed to non-existing INDEX 00 in the image leading to biased all further track positions.


EDIT:
Just noticed it must be used in conjunction with WAVTools to generate a CUE matching to the image. But I used fb2k for joining single tracks. Please either write a precaution in big letters or (better) make an option to write the 1st (missing?) INDEX 00 as a PREGAP.
Title: Noncompliant to single wav cuesheet
Post by: Duble0Syx on 2006-02-24 02:07:15
Quote
As you see, PREGAP got transformed to non-existing INDEX 00 in the image leading to biased all further track positions.
[a href="index.php?act=findpost&pid=366763"][{POST_SNAPBACK}][/a]

Personally I wish EAC would just append the track 1 pregaps to the beginning of the track, as it would make life easier, especially in the world of cuesheets.  Since EAC v0.95b1 it at least started using the PREGAP line for track 1 pregaps.  Obviously having the audio start there is a bad thing.  Not sure if single file cue's can also have a PREGAP line though, as that seem like what would be needed in order to duplicate the original disc.  Otherwise you'd have a short gap prior to track 1.  Definitely a bug that needs attention.  I love this tool.  Haven't even needed it yet, but there are phases where I will need a tool like this several times a day for a week, and then not at all for weeks.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-24 03:51:11
Quote
Quote
As you see, PREGAP got transformed to non-existing INDEX 00 in the image leading to biased all further track positions.
[a href="index.php?act=findpost&pid=366763"][{POST_SNAPBACK}][/a]

Personally I wish EAC would just append the track 1 pregaps to the beginning of the track, as it would make life easier, especially in the world of cuesheets.  Since EAC v0.95b1 it at least started using the PREGAP line for track 1 pregaps.  Obviously having the audio start there is a bad thing.  Not sure if single file cue's can also have a PREGAP line though, as that seem like what would be needed in order to duplicate the original disc.  Otherwise you'd have a short gap prior to track 1.  Definitely a bug that needs attention.  I love this tool.  Haven't even needed it yet, but there are phases where I will need a tool like this several times a day for a week, and then not at all for weeks.
[a href="index.php?act=findpost&pid=366770"][{POST_SNAPBACK}][/a]


Couldn't EAC rip the pregap to a separate file if it contains audio, calling it Track 0, and if it is all silence, append it to the beginning of the first track, and properly denote it in the cuesheet?

What is is currently doing with the pregap?
Title: Noncompliant to single wav cuesheet
Post by: Martin H on 2006-02-24 04:47:05
Quote
I don't think they added it to 0.9.0 either.  Plus, EAC doesn't write it to the cuesheet in the first place.  I would currently have to manually add it for each of my cuesheets.  I will see if I can request support for both EAC and foobar2000.

EAC places "REM DATE XXXX" entries in the cuesheets it produces, and for consistency between tagging formats then fb2k v0.9 RC parses this to a global "DATE" metadata field which is mapped to "Year" for formats using APEv2 tagging.
Title: Noncompliant to single wav cuesheet
Post by: Duble0Syx on 2006-02-24 05:48:12
Quote
Quote
Quote
As you see, PREGAP got transformed to non-existing INDEX 00 in the image leading to biased all further track positions.
[a href="index.php?act=findpost&pid=366763"][{POST_SNAPBACK}][/a]

Personally I wish EAC would just append the track 1 pregaps to the beginning of the track, as it would make life easier, especially in the world of cuesheets.  Since EAC v0.95b1 it at least started using the PREGAP line for track 1 pregaps.  Obviously having the audio start there is a bad thing.  Not sure if single file cue's can also have a PREGAP line though, as that seem like what would be needed in order to duplicate the original disc.  Otherwise you'd have a short gap prior to track 1.  Definitely a bug that needs attention.  I love this tool.  Haven't even needed it yet, but there are phases where I will need a tool like this several times a day for a week, and then not at all for weeks.
[a href="index.php?act=findpost&pid=366770"][{POST_SNAPBACK}][/a]


Couldn't EAC rip the pregap to a separate file if it contains audio, calling it Track 0, and if it is all silence, append it to the beginning of the first track, and properly denote it in the cuesheet?

What is is currently doing with the pregap?
[a href="index.php?act=findpost&pid=366788"][{POST_SNAPBACK}][/a]

Currently, if you want gaps appended to the ends of tracks, which is the defualt and best for listening, the pregap on track 1 is left out if it any longer than 2 seconds.  Of course one can make a single file image, or append gaps to the next track and the cuesheets for each of those settings will work.  But when using the standard settings and noncompliant cuesheets there is no audio from the track 1 pregap included.  It's been mentioned many times on EAC's forums, and all thats been done is the addition of the PREGAP portion, which is great unless there is actual audio in that gap.
Title: Noncompliant to single wav cuesheet
Post by: Cosmo on 2006-02-24 15:31:47
Quote
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: [Select]
FILE "01.wav" WAVE
 TRACK 01 AUDIO
  ISRC USEW19900316
  PREGAP 00:00:32
  INDEX 01 00:00:00

Ah...! Older versions of EAC did not add the PREGAP spec, and I did not think of adding it myself.

Thanks!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-24 17:52:18
I have the code working to convert to non-compliant style, I just need to clean it up and update the GUI .
Title: Noncompliant to single wav cuesheet
Post by: brimstone on 2006-02-24 18:40:37
Quote
Quote
Quote
Quote
As you see, PREGAP got transformed to non-existing INDEX 00 in the image leading to biased all further track positions.
[a href="index.php?act=findpost&pid=366763"][{POST_SNAPBACK}][/a]

Personally I wish EAC would just append the track 1 pregaps to the beginning of the track, as it would make life easier, especially in the world of cuesheets.  Since EAC v0.95b1 it at least started using the PREGAP line for track 1 pregaps.  Obviously having the audio start there is a bad thing.  Not sure if single file cue's can also have a PREGAP line though, as that seem like what would be needed in order to duplicate the original disc.  Otherwise you'd have a short gap prior to track 1.  Definitely a bug that needs attention.  I love this tool.  Haven't even needed it yet, but there are phases where I will need a tool like this several times a day for a week, and then not at all for weeks.
[a href="index.php?act=findpost&pid=366770"][{POST_SNAPBACK}][/a]


Couldn't EAC rip the pregap to a separate file if it contains audio, calling it Track 0, and if it is all silence, append it to the beginning of the first track, and properly denote it in the cuesheet?

What is is currently doing with the pregap?
[a href="index.php?act=findpost&pid=366788"][{POST_SNAPBACK}][/a]

Currently, if you want gaps appended to the ends of tracks, which is the defualt and best for listening, the pregap on track 1 is left out if it any longer than 2 seconds.  Of course one can make a single file image, or append gaps to the next track and the cuesheets for each of those settings will work.  But when using the standard settings and noncompliant cuesheets there is no audio from the track 1 pregap included.  It's been mentioned many times on EAC's forums, and all thats been done is the addition of the PREGAP portion, which is great unless there is actual audio in that gap.
[a href="index.php?act=findpost&pid=366801"][{POST_SNAPBACK}][/a]


You can rip the first track pregap by copying the first track index-based and then rip all of the tracks with gaps appended to previous track. If you join everything up you can use it together with an image cue.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-25 13:20:48
CUE Tools v1.3.0:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required


(http://www.moitah.net/CUETools-1_3_0.png)


For the filename patterns, you may use (case sensitive):
%D - Album artist
%C - Album title
%N - Track number
%A - Track artist
%T - Track title

"Special characters" are anything other than a-z, A-Z, 0-9, and spaces/underscores.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-25 13:31:15
I think I am going to add the ability to process the WAV files as well (i.e. splitting/joining, adding silence to fill up gaps where necessary), although it won't be able to offset the audio like WAV Tools can.
Title: Noncompliant to single wav cuesheet
Post by: HeadLessException on 2006-02-25 19:20:17
thanks for this great tool. keep up the good work
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-25 19:53:19
Quote
Quote
I don't think they added it to 0.9.0 either.  Plus, EAC doesn't write it to the cuesheet in the first place.  I would currently have to manually add it for each of my cuesheets.  I will see if I can request support for both EAC and foobar2000.

EAC places "REM DATE XXXX" entries in the cuesheets it produces, and for consistency between tagging formats then fb2k v0.9 RC parses this to a global "DATE" metadata field which is mapped to "Year" for formats using APEv2 tagging.
[a href="index.php?act=findpost&pid=366793"][{POST_SNAPBACK}][/a]


Which version of EAC does this?  I have prebeta 5, and it doesn't place REM DATE entries in the cuesheets.
Title: Noncompliant to single wav cuesheet
Post by: djet on 2006-02-25 21:53:26
Moitah, what about that PREGAP bug?
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-25 22:08:31
I don't consider it a bug.  The next version will handle the WAV files so it won't be a concern unless the user wants to do it manually.  I might put note about it when I get around to updating my site or making some documentation.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-26 02:33:31
The code to process the WAV files is done and tested .  It can convert between all the CUE sheet styles.  Just the GUI work is left now.
Title: Noncompliant to single wav cuesheet
Post by: Martin H on 2006-02-26 03:11:05
Quote
Which version of EAC does this?  I have prebeta 5, and it doesn't place REM DATE entries in the cuesheets.

As of EAC v0.95b1.
Title: Noncompliant to single wav cuesheet
Post by: djet on 2006-02-26 05:54:49
Quote
I don't consider it a bug.  The next version will handle the WAV files so it won't be a concern unless the user wants to do it manually.  I might put note about it when I get around to updating my site or making some documentation.
[a href="index.php?act=findpost&pid=367270"][{POST_SNAPBACK}][/a]

But some people use fb2k for joining tracks. Why one should use WAVs if all could be done in 1 action without intermediate steps? Is it that hard not expanding just 1st pregap?
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-26 06:01:19
I'll think about it.  I'd have to test to make sure Nero and other software supports PREGAP for a single WAV file.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-26 08:56:02
Quote
Quote
Which version of EAC does this?  I have prebeta 5, and it doesn't place REM DATE entries in the cuesheets.

As of EAC v0.95b1.
[a href="index.php?act=findpost&pid=367331"][{POST_SNAPBACK}][/a]


Odd how I thought I had the latest version, but actually somehow had a two year old pre-beta.  Either way, looks like I am going to need to come up with a program that will read the date information from any one of the FLAC files referenced in the cuesheet, and then add this REM DATE info to it.  Can anybody think of an easier way to get the date info than that?
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-26 12:36:08
Quote
Either way, looks like I am going to need to come up with a program that will read the date information from any one of the FLAC files referenced in the cuesheet, and then add this REM DATE info to it.  Can anybody think of an easier way to get the date info than that?
[a href="index.php?act=findpost&pid=367372"][{POST_SNAPBACK}][/a]


I'd suggest... foobar2000! [span style='font-size:8pt;line-height:100%']What a surprise...[/span]

When 0.9 RC1 supports reading the "REM DATE" line then I'm sure it can also write it. So when you load the cue of an album and at least one track, you copy the date either manually quite fast (right-clicking tracks+properties and getting/setting the dates) or write a masstagger script.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-26 23:12:56
CUE Tools v1.4.0:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required


(http://www.moitah.net/CUETools-1_4_0.png)


Only WAV files are currently supported for full conversion, but FLACs can still be used for CUE sheet only conversion.
Title: Noncompliant to single wav cuesheet
Post by: DrGreen on 2006-02-26 23:35:57
Sweet

Just made a couple of tests and it's really nice.

Thanks again for you great work mate!

Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-27 03:15:21
CUE Tools v1.4.1:The settings are located in "%AppData%\CUE Tools\settings.txt", set UsePregapForFirstTrackInSingleFile to 1 to enable this new option.  See 2 posts above for screenshot and download link.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-02-27 06:08:11
This is great!

As easy as drag and drop now, I hope word about it starts to spread real soon.

@Mods/Moitah: Maybe it's a good idea to make a new thread or cut this one at Moitahs first post so the links and changelog can be at top and updated properly.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-02-27 07:38:39
It would be awesome to have it eventually handle FLAC files, but no rush.  Excellent work!
Title: Noncompliant to single wav cuesheet
Post by: Vietwoojagig on 2006-02-27 11:06:31
Quote
CUE Tools v1.4.1:
  • Added: Hidden option to write PREGAP instead of INDEX 00 for the first track of a single file CUE sheet (only when the "Create CUE sheet only" option is used).
The settings are located in "%AppData%\CUE Tools\settings.txt", set UsePregapForFirstTrackInSingleFile to 1 to enable this new option.  See 2 posts above for screenshot and download link.
[a href="index.php?act=findpost&pid=367639"][{POST_SNAPBACK}][/a]


Nice Tool!

Two things I want to mention:

1. International characters in the filename still not work (éàç...)
2. What happens, if you choose "Gaps Left Out", and the gaps are not silent? If you remove them, could you add an option to add them in the previous track, if they are note empty and mark them somehow in the cue (e.g REM PAUSE 04:03:23)

thanks
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-27 16:40:12
CUE Tools v1.4.2:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required

@Vietwoojagig:  Thanks for the bug report, I should have looked into this when DrGreen said something on the first page.  It should be fine now.  Regarding "Gaps Left Out", it will remove them even if they contain audio.  This is the same behavior as EAC, and I would suggest using one of the other CUE styles if you want to keep them.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-27 17:42:35
CUE Tools v1.4.3:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required

Oops, so it wasn't completely fixed in 1.4.2 (certain characters such as € and ™ didn't work).
Title: Noncompliant to single wav cuesheet
Post by: djet on 2006-02-27 22:36:34
Great!! Thank you!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-02-28 22:26:43
FLAC input files are now fully supported (output is converted to WAV, though).  A new version will be released after I do some benchmarking and optimization if needed.  For those curious, I accomplished this by writing a wrapper for libFLAC in Managed C++ for simple decoding (no encoding, reading/writing tags, etc).
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-03-01 00:21:44
I am assuming you haven't posted the FLAC decoding one?  Either way, thanks a lot!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-01 01:04:16
Not yet, it needs more testing.  But either tonight or tomorrow I'll release it.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-01 03:58:14
CUE Tools v1.5.0:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-03-01 05:28:06
There is something about parenthesis that this new version doesn't like.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-01 05:45:44
Only for FLAC files?  You are talking about the filename, right?  Can you give me an example?

EDIT:  Probably unrelated, but it doesn't properly close FLAC files.  This will be fixed tomorrow.
Title: Noncompliant to single wav cuesheet
Post by: Vietwoojagig on 2006-03-01 14:59:51
Quote
Regarding "Gaps Left Out", it will remove them even if they contain audio.  This is the same behavior as EAC, and I would suggest using one of the other CUE styles if you want to keep them.
[a href="index.php?act=findpost&pid=367795"][{POST_SNAPBACK}][/a]


OK. But maybe you could easily add two new Output syles:
* Gaps Left Out (if not silent: Append)
* Gaps Left Out (if not silent: Prepend)

This would ensure, that only silent gaps would be removed.

You know, I already have these "Gaps Appended"-Cue-Sheeds and the only thing I need is the removement of only the silent Gaps at the end of each file, and keep the non-silent gaps. I know of CD's where both types of gaps (silent & non-silent) occure.

Please. You've done a great job so far and this shouldn't be too complicated for someone with your programming-skills. 
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-01 20:34:13
CUE Tools v1.5.1:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required

For FLAC decompression, the loop that copies the samples to a managed Int32 array has been optimized (takes less than half the time it used to), which saved about 1.5 seconds of CPU time when I tested decompressing a ~41 minute CD image.
Title: Noncompliant to single wav cuesheet
Post by: mmortal03 on 2006-03-02 04:03:41
Quote
CUE Tools v1.5.1:

  • Fixed: Possible problem opening FLAC files with strange characters in the filename.


By the way, I am really sorry if you spent a lot of time looking for this "bug", because there actually wasn't a bug regarding parantheses, as I instead miscontrued a misnamed file in a cuesheet that ALSO contained parantheses as the bug that I reported to you.  Wow, and the funny thing is that I picked one with a wrong name in it randomly, out of all my cuesheets on my computer.  Thanks again for all your hard work!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-02 04:25:44
It's okay, the fact that libFLAC didn't accept Unicode filenames bothered me when I started working on FLAC support, and even if it's not noticable in CUE Tools (I'm not sure...), I'm glad to have Unicode filenames working in case I or anyone else reuse FLACDotNet in other software.
Title: Noncompliant to single wav cuesheet
Post by: djet on 2006-03-02 15:49:02
Is it possible to enable WavPack output?
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-02 15:51:18
I'd rather work on FLAC output first, but if I get that done I'll see about supporting WavPack.
Title: Noncompliant to single wav cuesheet
Post by: Vietwoojagig on 2006-03-07 09:40:55
Quote
CUE Tools v1.4.2:
  • Rejects CUE sheets with POSTGAP command.
[a href="index.php?act=findpost&pid=367795"][{POST_SNAPBACK}][/a]
Why do you reject CUEs with POSTGAP? What is the reason?
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-03-07 11:07:50
I didn't realize there was a POSTGAP command until recently after I read the CDRWIN manual.  The older versions will just pass it through directly which is probably wrong.  Instead of figuring out how to handle it, I made it reject CUE sheets with POSTGAP because I've never seen one.  Do you know of any application that creates CUE sheets like this?
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-03-24 22:09:29
I get this error: "Index length cannot be 0."

This is the cue sheet, what's wrong?

Code: [Select]
PERFORMER "Can"
TITLE "Sacrilege CD1"
FILE "01 - Pnoom, Moon Up Mix.flac" WAVE
  TRACK 01 AUDIO
    TITLE "Pnoom / Moon Up Mix"
    PERFORMER "Can"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Spoon / Sonic Youth Mix"
    PERFORMER "Can"
    INDEX 00 00:54:40
FILE "02 - Spoon, Sonic Youth Mix.flac" WAVE
    INDEX 01 00:00:00
  TRACK 03 AUDIO
    TITLE "Blue Bag (Inside Paper) / Toroid Mix"
    PERFORMER "Can"
    INDEX 00 06:05:53
FILE "03 - Blue Bag (Inside Paper), Toroid Mix.flac" WAVE
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    TITLE "Tango Whiskeyman / A Guy Called Gerald Mix"
    PERFORMER "Can"
    INDEX 00 06:52:23
FILE "04 - Tango Whiskeyman, A Guy Called Gerald Mix.flac" WAVE
    INDEX 01 00:00:00
  TRACK 05 AUDIO
    TITLE "TV Spot / Bruce Gilbert Mix"
    PERFORMER "Can"
    INDEX 00 05:10:52
FILE "05 - TV Spot, Bruce Gilbert Mix.flac" WAVE
    INDEX 01 00:00:00
  TRACK 06 AUDIO
    TITLE "Vitamin C / U.N.K.L.E. Mix"
    PERFORMER "Can"
    INDEX 00 03:50:03
FILE "06 - Vitamin C, U.N.K.L.E. Mix.flac" WAVE
    INDEX 01 00:00:00
  TRACK 07 AUDIO
    TITLE "Halleluhwah / Halleluwa Orbus 2"
    PERFORMER "Can"
    INDEX 00 08:17:00
FILE "07 - Halleluhwah, Halleluwa Orbus 2.flac" WAVE
    INDEX 01 00:00:00
  TRACK 08 AUDIO
    TITLE "Oh Yeah / Sunroof Mix"
    PERFORMER "Can"
    INDEX 00 09:18:50
FILE "08 - Oh Yeah, Sunroof Mix.flac" WAVE
    INDEX 01 00:00:00


Btw, what's up with cue sheets that contain data tracks. Did you get my PM? Will you support them in some way? Either pass the file+track through or omit the data track completely?
Title: Noncompliant to single wav cuesheet
Post by: valnar on 2006-05-16 14:55:03
I get this error: "Index length cannot be 0."


I am having the same problem.  Is there a fix (or workaround)?

Robert
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-05-27 18:44:32
seems like Moitah's taking a break... ^^
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-07-05 07:42:01
I get this error: "Index length cannot be 0."

This is the cue sheet, what's wrong?

Let's assume the length of the first file was 00:54:40.  Converting it to a single-file CUE would result in:

Code: [Select]
TRACK 01 AUDIO
  INDEX 01 00:00:00
TRACK 02 AUDIO
  INDEX 00 00:54:40
  INDEX 01 00:54:40

Which doesn't make any sense to me (that's why I throw an error in this case).  Was this file written by EAC?  If you rip the CD in single-file mode does EAC or whatever write any duplicate timestamps like that in the cuesheet?

Btw, what's up with cue sheets that contain data tracks. Did you get my PM? Will you support them in some way? Either pass the file+track through or omit the data track completely?

Yeah I got it, sorry for not responding until now .  Is the data track saved to a file somewhere during the ripping process?
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-08-02 19:04:57
Quote
If you rip the CD in single-file mode does EAC or whatever write any duplicate timestamps like that in the cuesheet?
I don't know... 

I got that rip from a good friend...  so I can only speculate about the way it was created, sorry.  It could be that the cue sheet got messed up in a text editor. Maybe. At least that's my guess.

I think valnar might be able to test this... in case he didn't get his rip from a good friend, too.


Quote
Is the data track saved to a file somewhere during the ripping process?
No.

Well, this problem here is rooted in EAC's non-compliant way of creating cue sheets and its incapability of extracting data tracks. When creating all four kinds of cue sheets for a Audio+Data CD, the only cue sheet with this "TRACK 08 MODEx/2xxx" in it was the one made with the method labeled "(non-compliant)". There's also no corresponding "FILE", which also brakes the standard apart from the MODEx/2xxx and the obvious fact that mixing single WAV and a raw data track in one cue isn't really supported by a lot of apps (I know none).

Anyway this is what EAC gives us for such a Multi-Session CD in case the non-compliant cue sheet was created:
Quote
TRACK 08 MODEx/2xxx
    TITLE "CD-Rom Track For PC and Mac "
    PERFORMER "Creation Rebel"
    INDEX 00 04:10:15


But a slightly more compliant data track entry would look like this:
Quote
FILE "Track 8.bin" BINARY
  TRACK 08 MODE2/2352
    TITLE "CD-Rom Track For PC and Mac "
    PERFORMER "Creation Rebel"
    ISRC 000000000000
    INDEX 00 04:10:15

Since the data track won't be extracted by EAC, when using copy - EAC has no data extraction capabilities whatsoever, thus creating only a pseudo data track entry - it could at least write the cue sheet differently, commenting the data track entry out for instance. 

Ok, so back to CUETools:

The error messages of CUETools are as follows: When using the unmodified cue sheet I get the "Track type must be audio." which makes sense because CUETools think TRACK 08 belongs to the last FILE which is audio.

When correcting the cue sheet my way, but entering a bogus FILE path, I get the error message that the file is missing. That's correct, too.

When providing a .bin file. I get the error message "Unsupported audio input file". Which doesn't make sense since FILE "" BINARY is binary and not audio.  At least CUETools is trying!

So, what to do?

That's very, very tricky IMHO.

Deleting the last TRACK by hand works just fine, but of course it's more comfortable if CUETools would ignore or correct them in some way. Since EAC does create these broken cue sheets and you can't expect a newbie to edit his cue sheets... it's important that you do something: Either omitting, appending or automatically correcting these MODEx/2xxx tracks... simply leaving them out would be the easiest way and EAC's standard behaviour anyway when converting from non-compliant to any of the other three cue sheet modes.

In case you want to go beyond EAC compatibility, for example putting Audio+Data in one raw image file in case the Data Session was extracted with another ripping application other than EAC or was recreated with mkisofs from the copied files, then here are some thoughts of mine:

I'm not that familiar with the cue sheet standards, but still I thought a fixed FILE '' BINARY won't do any sane application any harm. So I've tested it with two "single WAV" cue sheets - one appended with the broken and unchanged data track and one with a fixed and compliant one - and loaded them into foobar2000 0.9: got me the complaint about data tracks not being supported. Then I've tested the same two cue sheets with Burrrn, both gave me erros. Even IsoBuster does not support single audio wav + data track. Well, this is not a surprise at all, since it's not much different from a non-compliant cue sheet like EAC is popular for, with the exception that not the INDEX/TRACK order is the problem but two image files in one cue sheet being of incompatible format, one WAV and the other one RAW (or BINARY).

Nevertheless my suggestion is to support at least two of the things I mentioned above, making it selectable via a check box: omitting the data track or commenting it out (for EAC compliance and even 100% reconstruction of a non-compliant cue sheet later with that MODEc/2xxx if you like) is a must IMHO. Then either simply appending + autofixing the TRACK ?? MODE2/2352 (like I did in my second code snippet - FILE path might be requested via a "open file dialog" or simply "" used) or the making of a true single RAW image and compliant cue sheet (like IsoBuster creates them for example). Personally I would go for implementing the latter since it is more widely supported than this double image cue sheet I made by hand. All applications I tested it with (foobar2000, Burrrn, IsoBuster and burnatonce) refused to accept it for the various reasons. So people who want to make a true 1:1 backup can use the single RAW image + cue, and those wanting to do stuff with the audio can shoose the EAC (omitting) approach.

Cheers!
Title: Noncompliant to single wav cuesheet
Post by: greynol on 2006-08-02 21:04:24
Quote
Code: [Select]
TRACK 01 AUDIO
  INDEX 01 00:00:00
TRACK 02 AUDIO
  INDEX 00 00:54:40
  INDEX 01 00:54:40

It looks like you are working with wave files that were created with gaps left out (EDIT: or gaps appended to the next track) and are trying to use a noncompliant CUE to put them back together.

My guess is the person that you downloaded them from either ripped them incorrectly or split an image with the wrong option.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-08-02 22:29:06
Thanks for your reply, I will update CUE Tools after I finish working on a few other programs.
Title: Noncompliant to single wav cuesheet
Post by: shrinkmail on 2006-08-02 22:50:31
Thanks for your reply, I will update CUE Tools after I finish working on a few other programs.

Glad to hear that you are still working on it. So far your program is working like a gem. Special thanks for this.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-08-03 00:35:24
Yes, it always worked like flawlessly. The conversion quality even surpassed the cue sheet interpreter of fb2k 0.8.x and in fact I've never found a difference between a CUETool-created conversion and test rips done with EAC set to the corresponding modes.
Title: Noncompliant to single wav cuesheet
Post by: greynol on 2006-08-03 01:01:23
I wrote this a while back.

It's a batch file that that you just drag and drop a separate track CUE onto and it will create a single wave CUE based on the size of the wave files called out in the separate track CUE.

It will accept noncompliant, corrected gaps, as well as leftout gaps CUEs.  If you feed it a corrected gaps CUE it will ask if the waves were created with gaps apended to the beginning or end of the track.  If you feed it a leftout gaps CUE it will ask you if you want to proceed assuming the tracks were created with gaps appended to the end of the track.

Code: [Select]
@ECHO OFF

SET _outfile="%~dpn1 (single wav).cue"

IF EXIST %_outfile% (
  ECHO "%~n1 (single wav).cue"
  ECHO already exists!
  ECHO.
  ECHO Press any key to end . . .
  PAUSE>nul
  GOTO end
)

SET _line=
SET _skip=
SET _file=0
SET _total_frames=0
SET _correct_cue=

GOTO start

:get_next_line
SET /A _line+=1
SET _skip=skip=%_line%

:start
FOR /F "usebackq tokens=1,2* %_skip%" %%X IN (%1) DO (
  SET _x=%%X
  SET _y=%%Y
  SET _z=%%Z
  GOTO generate_cue
)
GOTO end

:generate_cue
IF "%_x%" == "FILE" (
  CALL :file "%~dp1%_y:~1% %_z:~0,-5%
  GOTO check_for_error
)
IF "%_x%" == "PREGAP" (
  IF %_file% GTR 1 (
    IF "%_correct_cue%" NEQ "c" (
      GOTO leftout_gaps
    ) ELSE (
      GOTO lg_index
    )
  )
)
IF "%_x%" NEQ "INDEX" GOTO other
IF "%_z%" == "00:00:00" (
  GOTO start_index
) ELSE (
  GOTO non_start_index
)
:other
IF %_file% NEQ 0 (
  IF "%_x%" == "TRACK" (
    SET _x=  TRACK
  ) ELSE (
    SET _x=    %_x%
  )
)
IF DEFINED _z (
  ECHO %_x% %_y% %_z%>>%_outfile%
  GOTO get_next_line
)
IF DEFINED _y (
  ECHO %_x% %_y%>>%_outfile%
  GOTO get_next_line
)
ECHO %_x%>>%_outfile%
GOTO get_next_line


:start_index
IF "%_y%" == "01" GOTO new_start_index
IF "%_correct_cue%" == "" GOTO corrected_gaps
IF /I "%_correct_cue%" == "p" GOTO get_next_line

:new_start_index
CALL :format_index %_prev_ftotal%
ECHO    INDEX %_y% %mm%:%ss%:%ff%>>%_outfile%
GOTO get_next_line


:non_start_index
IF "%_y%" == "01" (
  IF /I "%_correct_cue%" == "p" (
    CALL :new_00_index %_z%
    GOTO new_start_index
  )
)
CALL :extract_index %_z%
SET /A _iframes=_prev_ftotal + mm*4500+ss*75+ff - _pregap
CALL :format_index %_iframes%
ECHO    INDEX %_y% %mm%:%ss%:%ff%>>%_outfile%
GOTO get_next_line


:new_00_index
CALL :extract_index %1
SET /A _pregap=mm*4500+ss*75+ff
IF %_file% == 1 GOTO :pregap
SET /A _iframes=_prev_ftotal - _pregap
CALL :format_index %_iframes%
ECHO    INDEX 00 %mm%:%ss%:%ff%>>%_outfile%
GOTO :eof

:pregap
ECHO    PREGAP %1>>%_outfile%
GOTO :eof


:file
IF NOT "%~x1"==".wav" (
  ECHO The source CUE sheet must reference wave files!
  SET _error=1
  GOTO :eof
)
IF NOT EXIST %1 (
  ECHO "%~nx1"
  ECHO does not exist!
  SET _error=2
  GOTO :eof
)
SET /A _boundry=(%~z1 - 44)%%2352
IF %_boundry% GTR 0 (
  ECHO The time for
  ECHO "%~n1"
  ECHO cannot be accurately calculated.
  ECHO.
  ECHO The file may not end on a frame boundry.
  SET _error=3
  GOTO :eof
)
SET _prev_ftotal=%_total_frames%
SET /A _total_frames+=(%~z1 - 44)/2352
SET /A _file+=1
SET _pregap=
IF %_file% GTR 1 GOTO :eof
ECHO FILE "Range.wav" WAVE>>%_outfile%
GOTO :eof

:check_for_error
IF "%_error%" NEQ "" GOTO error
GOTO get_next_line


:extract_index
SET _z=%1
IF %_z:~0,1% == 0 (
  SET mm=%_z:~1,1%
) ELSE (
  SET mm=%_z:~0,2%
)
IF %_z:~3,1% == 0 (
  SET ss=%_z:~4,1%
) ELSE (
  SET ss=%_z:~3,2%
)
IF %_z:~6,1% == 0 (
  SET ff=%_z:~7,1%
) ELSE (
  SET ff=%_z:~6,2%
)
GOTO :eof

:format_index
SET /A mm=%1/4500
SET /A ss=%1%%4500/75
SET /A ff=%1%%4500%%75
IF %mm% LSS 10 (SET mm=0%mm%)
IF %ss% LSS 10 (SET ss=0%ss%)
IF %ff% LSS 10 (SET ff=0%ff%)
GOTO :eof


:corrected_gaps
ECHO The source CUE sheet was likely created using
ECHO the Multiple WAV Files With Corrected Gaps option.
ECHO.
ECHO Enter "P" to continue assuming the corresponding files were created
ECHO with the Append Gaps To (P)revious Track (default) option selected,
ECHO.
ECHO enter "N" to continue assuming the corresponding files were created
ECHO with the Append Gaps To (N)ext Track option selected, or
ECHO.
SET /P _correct_cue=press ^<Enter^> to exit:
IF /I "%_correct_cue%" == "p" GOTO get_next_line
IF /I "%_correct_cue%" == "n" GOTO new_start_index
GOTO del_outfile


:leftout_gaps
ECHO The source CUE sheet was likely created using
ECHO the Multiple WAV Files With Leftout Gaps option.
ECHO.
ECHO Enter "c" to continue assuming the corresponding files were created
ECHO with the Append Gaps To Previous Track (default) option selected or
SET /P _correct_cue=press ^<Enter^> to exit:
IF /I "%_correct_cue%" NEQ "c" GOTO del_outfile

:lg_index
CALL :new_00_index %_y%
SET _pregap=
GOTO get_next_line


:error
ECHO.
ECHO Press any key to end . . .
PAUSE>nul

:del_outfile
DEL %_outfile%

:end
Title: Noncompliant to single wav cuesheet
Post by: directjj on 2006-08-14 02:19:31
Thanks for your reply, I will update CUE Tools after I finish working on a few other programs.


I just joined this thread, just heard about Cue Tools.

Can Cue Tools be used to automate the change of cast to proper case (Title Case) for Song Titles & Performers in Audio cue sheets?

Can it help me understand what is wrong with a .cue file (e.g. won't play in FooBar, plays track 2 twice in FooBar, plays track 12 for every track in WinAmp)?

In a nutshell what can Cue Tools Do.

I was referred to the download page and downloaded it but don't see a description at Moitah.net.

Thanks
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-10-10 08:54:59
[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link]

This fixes the "Index length cannot be 0" and data track issues.  It also adds an option for FLAC output, though the resulting files don't have seektables (which is why it's not 1.6.0 final), and the ability to stop/cancel during the writing of the audio files.
Title: Noncompliant to single wav cuesheet
Post by: Fandango on 2006-10-14 16:33:59
Ah, that's great news! Thanks for this new release. I've tested the Data Track conversion already and it works as expected... ignoring the Data Track when converting seperate track cue sheets to single WAV cue sheet.

Then I have a suggestion for the opposite conversion scenario: add an option like "data track present". This will add an "EAC compliant" data track entry at the end of a seperate track cue sheet, they all look pretty much the same:
Code: [Select]
  TRACK 08 MODEx/2xxx
    TITLE "CD-Rom Track For PC and Mac "
    PERFORMER "Creation Rebel"
    ISRC 000000000000
    INDEX 00 04:10:15

The only thing that needs to be calculated is the "INDEX 00" line, it's the length of the last track. This way the user who knows what he is doing can easily "fake back" a seperate track cue sheet when he made a single wav rip of a CDDA disc with a data track. Also note that TITLE "CD-Rom Track For PC and Mac " is actually correct, the space between Mac and " is a typo in EAC's code, and for compliant's sake I'd adopt it because of that. 

Unfortunately I'm not able to test the "Index length cannot be 0" thing anymore since I've deleted that rip some time ago. The remixes of those Can songs weren't that good anyway...

I also like the FLAC output, too. And I'm sure it will be the most awaited feature by most people.

Btw, how about starting your own thread here in the CD-HW/SW forum? It would be much easier to keep track of CUETools development and also easier to guide people in need of a tool like yours to that thread. Maybe it even becomes a sticky. And I'd contact a moderator to split this thread (at the point where you came up with your tool) and append it to that new thread, so the discussion about CUETools development will remain in one dedicated thread.
Title: Noncompliant to single wav cuesheet
Post by: Xenion on 2006-10-19 11:46:44
cool! thanks for the work. VERY useful
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-11-02 09:15:45
CUE Tools v1.6.0:Download (http://www.moitah.net/download/latest/CUETools.zip) (Binary and Source) - .NET Framework 2.0 required

This version uses the FLAC 1.1.3 beta 2 library for decoding and encoding.  The compression level and "verify" settings can be changed by editing "%AppData%\CUE Tools\settings.txt".  The FLACCompressionLevel setting can range from 0 to 8 (inclusive), FLACVerify is 0 for disabled and 1 for enabled.  The encoded FLAC files do have seektables and were bit-identical when I compared with the official "flac.exe" command line encoder with padding set to 4096 bytes.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-11-03 05:46:34
[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link]

This adds WavPack decoding (no encoding, I'll see how much work that would involve).  I haven't tested it with lossy+correction files but I think it should work.
Title: Noncompliant to single wav cuesheet
Post by: ChangFest on 2006-11-03 19:15:40
CUE Tools v1.7.0 Beta 1 (http://www.moitah.net/download/byversion/CUETools-1_7_0-Beta1.zip)

This adds WavPack decoding (no encoding, I'll see how much work that would involve).  I haven't tested it with lossy+correction files but I think it should work.

Appreciated very much. Thanks!
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-11-04 04:34:01
CUE Tools v1.7.0:[Link removed, see here (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113) for updated link] - .NET Framework 2.0 required

(http://www.moitah.net/CUETools-1_7_0.png)

I tested the WavPack reader with lossy+correction and it works fine.  The WavPack writer uses the default settings, currently there isn't a way to change the compression level.
Title: Noncompliant to single wav cuesheet
Post by: Moitah on 2006-11-12 06:52:46
CUE Tools now has its own thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=50113), please post any new replies there instead of in this thread.