Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1
    Senior Member
    Join Date
    Jan 2008
    Posts
    218

    flac images of Multi-disc album

    I have two questions that need help.
    I would like to rip my CDs into flac images and cuesheet (one image and cuesheet per CD) rather than individual files for each track. This seems to be the only way to preserve the correct gap timing between tracks.
    My question is on how to label multi-disc albums in the cuesheet. With ID3/APE/WMA tags, I could label with one album title and then use the tags disc number and total discs to identify each disc in the set. SB3 will show 1 album and multiple discs correctly. How do I lable cuesheets the same way?

    Also, is there better format to rip and tag the CD into? while preserve the correct gaps between tracks?

    Thanks.
    Biu

  2. #2
    Senior Member
    Join Date
    May 2005
    Posts
    584

    flac images of Multi-disc album

    Hi,

    In article <Honva.349lsb1202142901 (AT) no-mx (DOT) forums.slimdevices.com>,
    Honva<Honva.349lsb1202142901 (AT) no-mx (DOT) forums.slimdevices.com> wrote:
    > My question is on how to label multi-disc albums in the cuesheet. With
    > ID3/APE/WMA tags, I could label with one album title and then use the
    > tags disc number and total discs to identify each disc in the set. SB3
    > will show 1 album and multiple discs correctly. How do I lable
    > cuesheets the same way?


    I do pretty much the same as you're asking. Each 'CD' is a single FLAC file,
    with an embedded CUE sheet.

    However, the tags are stored as VORBIS comments in the FLAC file, not in the
    CUE file. This gives great flexibility in the tagging, so you can do pretty
    much what you want to.

    You can then use DISCNUMBER 'tags' just as you would with other formats.
    Works well for me.

    > Also, is there better format to rip and tag the CD into? while preserve
    > the correct gaps between tracks?


    Which operating system?

    Andy


  3. #3
    Senior Member radish's Avatar
    Join Date
    Apr 2005
    Location
    Red Bank, NJ
    Posts
    5,052
    Quote Originally Posted by Honva View Post
    This seems to be the only way to preserve the correct gap timing between tracks.
    Why do you say this? I rip to file-per-track FLAC and have no issues with inter-track gaps (either having them or not having them as appropriate). I know there are plenty of people who like file-per-disc & cuesheets but always seems to cause problems and I've never really understood the need for it.

    I would have left this thread alone (I don't like religous wars!) but you did ask for suggestions

  4. #4
    Senior Member
    Join Date
    Jan 2008
    Posts
    218
    Quote Originally Posted by radish View Post
    Why do you say this? I rip to file-per-track FLAC and have no issues with inter-track gaps (either having them or not having them as appropriate). I know there are plenty of people who like file-per-disc & cuesheets but always seems to cause problems and I've never really understood the need for it.

    I would have left this thread alone (I don't like religous wars!) but you did ask for suggestions
    May be it is my mis-understanding. I always thought that when ripping into indvidual tracks, the gaps are not ripped and therefore the information is loss. Where is the gap length information stored in the tags? I use EAC, is there any setting I need to use? It would be great if I could achieve the same thing with individual tracks. It would in fact be easier.
    Thanks
    Biu

  5. #5
    Senior Member
    Join Date
    Jan 2008
    Posts
    218
    Quote Originally Posted by Andy Hawkins View Post
    Hi,


    I do pretty much the same as you're asking. Each 'CD' is a single FLAC file,
    with an embedded CUE sheet.

    However, the tags are stored as VORBIS comments in the FLAC file, not in the
    CUE file. This gives great flexibility in the tagging, so you can do pretty
    much what you want to.

    You can then use DISCNUMBER 'tags' just as you would with other formats.
    Works well for me.

    > Also, is there better format to rip and tag the CD into? while preserve
    > the correct gaps between tracks?


    Which operating system?

    Andy
    Hi Andy,
    Thanks for the reply. My tools are Windows XP, EAC, Foobar2000, MP3Tag. Could you please tell me a bit more about how to put the cuesheet into VORBIS comments? (or a link to more info?). Would squeezecenter still able to read it correctly?
    Thanks.
    Biu

  6. #6
    Senior Member
    Join Date
    May 2005
    Posts
    584

    flac images of Multi-disc album

    Hi,

    In article <Honva.349wnz1202157001 (AT) no-mx (DOT) forums.slimdevices.com>,
    Honva<Honva.349wnz1202157001 (AT) no-mx (DOT) forums.slimdevices.com> wrote:

    > Thanks for the reply. My tools are Windows XP, EAC, Foobar2000,
    > MP3Tag. Could you please tell me a bit more about how to put the
    > cuesheet into VORBIS comments? (or a link to more info?). Would
    > squeezecenter still able to read it correctly?


    You don't put the cue sheet in the comments, you put the tag information. I
    suspect MP3Tag does this anyway to be honest.

    There is also a flac frontend that will presumably let you see and edit the
    comments.

    You want something like:

    ARTIST=Some artist
    ALBUM=Some album
    DISCNUMBER=2
    TRACKNUMBER[1]=1
    ARTIST[1]=Some other artist
    TITLE[1]=Title for track 1
    TRACKNUMBER[2]=2
    ARTIST[2]=Some artist
    TITLE[2]=Title for track 2

    ....

    Andy


  7. #7
    Senior Member radish's Avatar
    Join Date
    Apr 2005
    Location
    Red Bank, NJ
    Posts
    5,052
    Quote Originally Posted by Honva View Post
    May be it is my mis-understanding. I always thought that when ripping into indvidual tracks, the gaps are not ripped and therefore the information is loss. Where is the gap length information stored in the tags? I use EAC, is there any setting I need to use? It would be great if I could achieve the same thing with individual tracks. It would in fact be easier.
    Thanks
    Biu
    Assuming you use EAC (as I do) then the default is to add the gaps onto the individual files as silence. Then, when you play them back gaplessly you get the correct amount of silence. That's what I do, it works for me. However, EAC also lets you remove the gaps if you want, and some other options. Take a read of this page: http://wiki.hydrogenaudio.org/index....e=Gap_settings

  8. #8
    Senior Member gharris999's Avatar
    Join Date
    Apr 2005
    Location
    Santa Fe, NM
    Posts
    3,299
    I've yet to manage to get multi-disc albums to correctly index in SqueezeCenter using cuesheets only, though it has been a while since I've tried.

    However, I have had good luck if I add a separate DISCNUMBER vorbis comment tag onto the flac file after the cuesheet has been embedded.

    My method goes something like this: for the multi-disc flac album with the following flac files:

    String Quartets - Takács - D1.flac
    String Quartets - Takács - D2.flac
    String Quartets - Takács - D3.flac

    ..etc..

    The cuesheets embedded in each flac file will have the same album title:

    TITLE "String Quartets - Takács"

    ..but otherwise will contain the track info specific to that disc.

    I embed the cuesheets using metaflac:
    Code:
    "%~dp0metaflac.exe" --no-utf8-convert --add-replay-gain "--set-tag-from-file=CUESHEET=%~n1.cue" "--import-cuesheet-from=%~n1.cue" "%~n1.flac"

    I then add a separate DISCNUMBER vorbis comment tag. For this, my batch file again calls metaflac:

    Code:
    for /L %%Z in (1,1,9) do for %%I in ("* - D%%Z.flac") do if "%%I"=="%~n1.flac" if exist "%%I" echo Numbering discs.. & "%~dp0metaflac.exe" --set-tag=DISCNUMBER=%%Z "%%I"
    for /L %%Z in (1,1,9) do for %%I in ("* - D0%%Z.flac") do if "%%I"=="%~n1.flac" if exist "%%I" echo Numbering discs.. & "%~dp0metaflac.exe" --set-tag=DISCNUMBER=0%%Z "%%I"
    for /L %%Z in (10,1,99) do for %%I in ("* - D%%Z.flac") do if "%%I"=="%~n1.flac" if exist "%%I" echo Numbering discs.. & "%~dp0metaflac.exe" --set-tag=DISCNUMBER=%%Z "%%I"
    All this results in multi-track, multi-disc albums that seem to work perfectly with SqeezeCenter's scanner.

    Here is my whole batch file. It calls several tools that I've kludged up myself to help automate this process:
    Code:
    @echo off
    rem File to embed metadata in a flac file
    
    
    :CHGDIR
    rem change to the input file drive and directory..
    %~d1
    cd "%~p1"
    if "%CD%\"=="%~dp1" goto CHK_FLAC
    echo Sorry.  "%CD%\" does not == "%~dp1"
    goto end
    
    
    :CHK_FLAC
    if exist "%~n1.flac" goto IN_DIR
    echo Sorry.  I only process FLAC files.  Better luck next time.
    pause
    goto end
    
    
    :IN_DIR
    echo "%~nx1"
    rem Check all the metadata...extract if it doesn't exist
    
    :CHK_CUE
    if exist "%~n1.cue" goto cHK_PICT
    
    :EXTRACT_CUE
    rem extract the cuesheet..
    "%~dp0metaflac.exe" --no-utf8-convert --show-tag=CUESHEET "%~n1.flac" >"%~n1.cue"
    rem Fixup the cueseet data...Trim off "CUESHEET=" header
    "%~dp0trimfile.exe" /Q /B "%~n1.cue" 9 >nul
    rem "%~dp0fixcue.exe" "%~n1.cue" --no-leading-space-fix --no-various-track-artists-check --match-album-to-cue --no-backup --no-contents-from-ini
    "%~dp0fixcue.exe" "%~n1.cue" --no-leading-space-fix --no-various-track-artists-check --no-backup --no-contents-from-ini
    if errorlevel 1 goto BAD_CUE
    echo Extracted CUESHEET "%~n1.cue"
    goto UTF8_CHK
    
    :BAD_CUE
    rem Perhaps there wasn't an embedded cuesheet file...let's create one from a CUESHEET block...
    "%~dp0metaflac.exe" --export-cuesheet-to="%~n1.cue" "%~n1.flac"
    
    :UTF8_CHK
    rem Check to see if the extracted CUE has a UTF8 Byte-Order-Mark header.
    "%~dp0FileHasBOM.exe" "%~n1.cue"
    if errorlevel 1 goto CHK_PICT
    rem No BOM...translate this file to ANSI...
    "%~dp0utf8toansi.exe" "%~n1.cue"
    
    :CHK_PICT
    if exist "%~n1.jpg" goto CHK_NOTES
    
    :EXTRACT_OLDART
    rem Extract COVERART
    "%~dp0metaflac.exe" --no-utf8-convert --show-tag=COVERART "%~n1.flac" >"%~n1.jpg.b64"
    rem Trim off the "COVERART=" header
    "%~dp0trimfile.exe" /Q /B "%~n1.jpg.b64" 9 >nul
    if errorlevel 1 goto BAD_OLDART
    rem decode the B64 encoded data to a JPG..
    "%~dp0b64.exe" -d "%~n1.jpg.b64" "%~n1.jpg"
    del "%~n1.jpg.b64"
    echo Extracted COVERART "%~n1.jpg"
    goto CHK_NOTES
    
    :BAD_OLDART
    del "%~n1.jpg.b64"
    del "%~n1.jpg"
    
    :EXTRACT_NEWART
    "%~dp0metaflac.exe" "--export-picture-to=%~n1.jpg" "%~n1.flac"
    if errorlevel 1 goto CHK_NOTES
    echo Extracted PICTURE "%~n1.jpg"
    
    
    :CHK_NOTES
    if exist "%~n1.htm" goto CHK_LOG
    if exist "%~n1.html" goto CHK_LOG
    
    :EXTRACT_NOTES
    rem Extract LINERNOTES
    "%~dp0metaflac.exe" --no-utf8-convert --show-tag=LINERNOTES "%~n1.flac" >"%~n1.html"
    rem Trim off the "LINERNOTES=" header
    "%~dp0trimfile.exe" /Q /B "%~n1.html" 11 >nul
    if errorlevel 1 goto BAD_HTM
    
    rem We don't need a BOM in html!
    rem "%~dp0FileHasBOM.exe" "%~n1.html"
    rem if errorlevel 1 "%~dp0trimfile.exe" /Q /B "%~n1.html" 3 >nul
    rem "%~dp0crlf2cr.exe" "%~n1.html" /C
    echo Extracted LINERNOTES "%~n1.html"
    goto CHK_LOG
    
    :BAD_HTM
    del "%~n1.html"
    
    
    :CHK_LOG
    if exist "%~n1.log" goto reflac
    
    :EXTRACT_LOG
    rem Extract log..
    "%~dp0metaflac.exe" --no-utf8-convert --show-tag=LOG "%~n1.flac" >"%~n1.log"
    rem Trim off the "LOG=" header
    "%~dp0trimfile.exe" /Q /B "%~n1.log" 4 >nul
    if errorlevel 1 goto BAD_LOG
    echo Extracted LOG "%~n1.log"
    
    goto REFLAC
    
    :BAD_LOG
    del "%~n1.log"
    
    :REFLAC
    rem check the vendor string in the flac...skip if it's 114
    "%~dp0flacgetv.exe" -q "%~nx1"
    if errorlevel 120 goto ZAP_TAGS
    echo Reflacing..
    "%~dp0flac.exe" -5 --totally-silent -f "%~n1.flac"
    
    
    :ZAP_TAGS
    echo Removing tags..
    "%~dp0metaflac.exe" --remove-all "%~n1.flac" 
    "%~dp0metaflac.exe" --merge-padding "%~n1.flac" 
    "%~dp0metaflac.exe" --sort-padding "%~n1.flac" 
    
    
    :EMBED_CUE
    if not exist "%~n1.cue" goto EMBED_NOTES
    
    
    rem Check to see if this cuesheet is UTF8 encoded..
    "%~dp0FileHasBOM.exe" "%~n1.cue"
    if errorlevel 1 goto IS_UTF8
    
    :NOT_UTF8
    echo Embedding ansi cuesheet..
    rem translate this into UTF8
    "%~dp0ansitoutf8.exe" /U "%~n1.cue"
    rem "%~dp0metaflac.exe" --add-replay-gain "--set-tag-from-file=CUESHEET=%~n1.cue" "--import-cuesheet-from=%~n1.cue" "%~n1.flac"
    rem goto EMBED_NOTES
    
    
    :IS_UTF8
    echo Embedding utf8 cuesheet..
    "%~dp0metaflac.exe" --no-utf8-convert --add-replay-gain "--set-tag-from-file=CUESHEET=%~n1.cue" "--import-cuesheet-from=%~n1.cue" "%~n1.flac"
    
    
    :EMBED_NOTES
    if exist "%~n1.htm" echo Embedding linernotes.. & "%~dp0metaflac.exe" --no-utf8-convert "--set-tag-from-file=LINERNOTES=%~n1.htm" "%~n1.flac"
    
    if not exist "%~n1.html" goto EMBED_LOG
    echo Embedding linernotes..
    "%~dp0metaflac.exe" --no-utf8-convert "--set-tag-from-file=LINERNOTES=%~n1.html" "%~n1.flac"
    
    
    :EMBED_LOG
    if not exist "%~n1.log" goto NUM_DISCS
    echo Embedding logfile..
    "%~dp0metaflac" --no-utf8-convert "--set-tag-from-file=LOG=%~n1.log" "%~n1.flac"
    
    
    :NUM_DISCS
    for /L %%Z in (1,1,9) do for %%I in ("* - D%%Z.flac") do if "%%I"=="%~n1.flac" if exist "%%I" echo Numbering discs.. & "%~dp0metaflac.exe" --set-tag=DISCNUMBER=%%Z "%%I"
    for /L %%Z in (1,1,9) do for %%I in ("* - D0%%Z.flac") do if "%%I"=="%~n1.flac" if exist "%%I" echo Numbering discs.. & "%~dp0metaflac.exe" --set-tag=DISCNUMBER=0%%Z "%%I"
    for /L %%Z in (10,1,99) do for %%I in ("* - D%%Z.flac") do if "%%I"=="%~n1.flac" if exist "%%I" echo Numbering discs.. & "%~dp0metaflac.exe" --set-tag=DISCNUMBER=%%Z "%%I"
    
    
    :EMBED_PICT
    if not exist "%~n1.jpg" goto REMOVE_PADDING
    echo Embedding coverart picture..
    "%~dp0metaflac.exe" "--import-picture-from=|image/jpeg|||%~n1.jpg" "%~n1.flac"
    
    :REMOVE_PADDING
    echo Removing padding..
    "%~dp0metaflac.exe" --dont-use-padding --remove --block-type=PADDING "%~n1.flac"
    
    :FIXFILENAME
    echo Fixing filename..
    "%~dp0fixfilesforslim.exe" "%~n1.*"
    
    :TOUCHFILE
    echo Touching flac..
    "%~dp0touch.exe" /Q "%~n1.flac"
    
    
    :end
    echo Done!
    pause

  9. #9
    Senior Member
    Join Date
    Apr 2005
    Location
    Colorado
    Posts
    10,072
    Quote Originally Posted by Honva View Post
    I have two questions that need help.
    I would like to rip my CDs into flac images and cuesheet (one image and cuesheet per CD) rather than individual files for each track. This seems to be the only way to preserve the correct gap timing between tracks.
    As radish said, this is incorrect. You can rip to individual tracks with EAC and some other rippers and you'll preserve the correct gaps. The default behavavior is to append the gaps to the end of tracks, which works well for this purpose. This maintains the correect gaps both when playing the tracks back-to-back and when burning CDs from the tracks. Generate a 'non-compliant' CUE sheet when you rip the CD and then use it when burning complete CDs.

  10. #10
    Senior Member
    Join Date
    Jan 2008
    Posts
    218
    Thank you very much for everyone's input. Learned a lot.
    I still have one more question though ;-)
    If I stay with the single image and cuesheet, should I use "Wave" in the "File" element? Would that trigger squeezecenter to convert them to wave rather than native flac?

    i.e. When I use:
    File "Image.flac" WAVE
    would that trigger the squeezecenter to convert it to wave before sending to SB3? Do I need to make any change?

    Thanks.

    Biu

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •