Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[script] convert eac wav+cue into seperate flac files
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
madman2003
Apprentice
Apprentice


Joined: 20 Feb 2005
Posts: 178

PostPosted: Mon Apr 03, 2006 4:50 pm    Post subject: [script] convert eac wav+cue into seperate flac files Reply with quote

After making ripping easy for myself (it was a before rubyripper existed and i wanted test&copy style ripping, logs, etc) with a script i found out that i sometimes have to deal with wav+cue sheet files. After a little searching i found nothing that did what i wanted, so i made something myself.

I'm sharing it now, to save someone the trouble. Should anyone want my ripping script as well, because they find something like rubyripper insufficient, then they can always ask (but keep in mind that what i make works for me and won't neccesarily be perfect for others :) ).

Code:
splitcue 0.02:

Changelog:

0.01: Initial release
0.02: tracks with multiple indexes (besides 00) should get multiple tracks instead of just the first part

Requirements:

sox
flac
metaflac
md5sum

Description:

A script to convert wav+cue sheet made by exact audio copy to single files encoded to flac.
Log will be copied, files will be tagged and replaygained. M3u playlist of md5 of flac files will be created.

The script can deal with index 00 entries, they will be combined with the regular 01 entries and created as one song.

Usage: ./splitcue "/somewhere/folder/location" "file.cue"

Note: Multiple artists are not dealt with at the moment.
Note 2: Due to the newness of the script it may not deal with inproper input very well.


Code:
#! /bin/sh
# splitcue, a script to split (eac) wav+cue file into seperate flac files with playlist, md5 and log (is copied)
# Copyright (C) 2006 madman2003(madman2003@gmail.com)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

# Requirements:
# sox
# flac
# metaflac
# md5sum

version='0.02'
codec='flac'

## Begin settings

flacoptions='-V -6' # Verify, compression level 6
setfoldertemplate='2' # 1 is "artist.album.year.codec-tag" and 2 is "artist (year) album -codec"
setfiletemplate='2' # 1 is "xx_-_artist_title_-tag" and 2 is "xx - title"
filetag='' # tag used for template 1
outputfolder='/tmp/' # output folder, folders for the albums themselved will be created here
tmp='/tmp/splitcue.tmp' # temp file used for some datastorage
samplerate='44100' # default sample rate for cd's, changing this (wrongly) will screw up the length of the individual songs
maxfilenamecharacters='60' # filetemplate 2: general filename will be "album" instead of "artist (year) album" if this length is exceeded

## End settings

beginpath="$(pwd)"
folder="${1}"
originalfilename="${2}"

if [[ ${1} = '--help' ]]
then
   echo "splitcue version: ${version}"
   echo 'usage: ./splitcue "/somewhere/folder/location" "file.cue"'
   exit
fi

# the output echo'd here will be used as folder template, you can create your own here
foldertemplate () {
   if [ ${setfoldertemplate} = '1' ]
   then
      folder=$(echo "${artist}.${album}.${year}.${codec}-${filetag}" | tr "' '" "." | tr ":" "\0" | tr "A-Z" "a-z" |  tr "/" "\0" |  tr '[=\\-]' "\0")
      echo "${outputfolder}/${folder}"
   elif [ ${setfoldertemplate} = '2' ]
   then
      folder=$(echo "${artist} (${year}) ${album} -${codec}" | tr "/" "\0" |  tr '[=\\-]' "\0")
      echo "${outputfolder}/${folder}"   
   else
      echo 'Invalid foldertemplate setting, please correct'
      exit
   fi
}

# the output echo'd here will be used as file template, you can create your own here
filetemplate () {
   if [ ${setfiletemplate} = '1' ]
   then
      tracknumber=$(printf "%02d" $i)
      titlenumber=$(echo "${i}" | bc)
      echo "${tracknumber}_-_${artist}_-_${trackname[${titlenumber}]}_-${filetag}" | tr "' '" "_" | tr ":" "\0" | tr "A-Z" "a-z" | tr "/" "_" |  tr '[=\\-]' "_"
   elif [ ${setfiletemplate} = '2' ]
   then
      tracknumber=$(printf "%02d" $i)
      titlenumber=$(echo "${i}" | bc)
      echo "${tracknumber} - ${trackname[${titlenumber}]}" | tr "/" " " |  tr '[=\\-]' "_"
   else
      echo 'Invalid filetemplate setting, please correct'
      exit
   fi
}

# general filename is used for md5, m3u, etc files
setgeneralfilename () {
   if [ ${setfiletemplate} = '1' ]
   then
      generalfilename=($(echo "00_-_${artist}_-_${album}_-${filetag}" | tr "' '" "_" | tr ":" "\0" | tr "A-Z" "a-z"))
   elif [ ${setfiletemplate} = '2' ]
   then
      generalfilename=$(echo "${artist} (${year}) ${album}")
      if (( "${#generalfilename}" > "${maxfilenamecharacters}" ))
      then
         generalfilename=$(echo "${album}")
      fi
   else
      echo 'Invalid file template setting'
      exit
   fi
}

# md5's all (flac) files created during createfiles function
createmd5 () {
   echo 'Creating md5 file'
   md5filename="${generalfilename}.md5"
   cd "${writefolder}"
   md5sum -b "${filename[@]}" > "${md5filename}"
   cd "${beginpath}"
}

# create a playlist of all (flac) files created during createfiles function
createm3u () {
   echo 'Creating m3u file'
   m3ufilename="${generalfilename}.m3u"
   cd "${writefolder}"
   for file in "${filename[@]}"
   do
      echo "${file}" >>  "${m3ufilename}"
   done
   cd "${beginpath}"
}

# this will copy the eac log to the new folder, it will ask if multiple logs are present
copylog () {
   echo 'Copying log file'
   logfilename="${generalfilename}.log"
   rm "${tmp}" &> /dev/null
   cd "${folder}"
   ls *.log > "${tmp}"
   cd "${beginpath}"
   
   while read temp
   do
   temp="${temp}"
   logs=( "${logs[@]}" "${temp}" )
   done < "${tmp}"
   
   rm "${tmp}" &> /dev/null
   
   numberoflogs="${#logs[@]}"
   if (( numberoflogs != '1' ))
   then
      i=0
      for log in "${logs[@]}"
      do
         echo "${i}: ${logs[${i}]}"
         let 'i += 1'
      done
      echo "Choose log that belongs to this cd:"
      read lognum
      cp "${folder}/${logs[${lognum}]}" "${writefolder}/${logfilename}"
   else
      cp "${folder}/${logs[0]}" "${writefolder}/${logfilename}"
   fi
}

copycue() {
   cuefilename="${generalfilename}.cue"
   cp "${folder}/${originalfilename}"  "${writefolder}/${cuefilename}"
}

# replaygaining all (flac) files created during the createfiles function
doreplaygain () {
   echo "Replaygaining files"
   cd "${writefolder}"
   metaflac --add-replay-gain "${filename[@]}" > /dev/null
   cd "${beginpath}"
}

# first processing of information from cue sheet, namely retrieving titles(albumname and tracknames), raw indexes and performers of songs
main () {
   output="$(cat "${folder}/${originalfilename}" | sed "s/^ *//")" # sed removes leading spaces

   inputfile=$(echo "${output}" | grep "FILE" | cut -c 7- | rev | cut -c 8- | rev)

   genre=$(echo "${output}" | grep "REM GENRE" | cut -c 11- | rev | cut -c 2- | rev )
   year=$(echo "${output}" | grep "REM DATE" | cut -c 10- | rev | cut -c 2- | rev)

   performers='dummy' # dummy's are used were the 0'th entry of an array shouldn't to be filled with real data

   rm "${tmp}" &> /dev/null
   echo "${output}" | grep "PERFORMER" | cut -c 12- | rev | cut -c 3- | rev >> "${tmp}"

   while read temp
   do
   temp="${temp}"
   performers=( "${performers[@]}" "${temp}" )
   done < "${tmp}"

   rm "${tmp}" &> /dev/null
   echo "${output}" | grep "TITLE" | cut -c 8- | rev | cut -c 3- | rev  >> "${tmp}"

   while read temp
   do
   temp="${temp}"
   titles=( "${titles[@]}" "${temp}" )
   done < "${tmp}"

   rm "${tmp}" &> /dev/null
   echo "${output}" | grep "INDEX" | cut -c 7- >> "${tmp}"

   while read temp
   do
   temp="${temp}"
   indexes=( "${indexes[@]}" "${temp}" )
   done < "${tmp}"

   rm "${tmp}" &> /dev/null
}

# further processing of data from the cue sheet, namely retrieving artist(artist of the entire album, seperate artists are currently not used), albumname, tracknames and seperated time indexes
processdata () {
   i=1
   for performer in "${performers[@]}"
   do
      if (( ${i} == 2 ))
      then
         tracknumber=$(echo "${i} -1" | bc )
         artist="${performer}"
      fi
      let 'i += 1'
   done

   tracknumber=1
   i=1
   for title in "${titles[@]}"
   do
      if (( ${i} == 1 ))
      then
         album="${title}"
      elif (( ${i} > 1 ))
      then
         tracknumber=$(echo "${i} -1" | bc )
         tracknametemp=( "${tracknametemp[@]}" "${title}" )
         let 'tracknumber += 1'
      fi
      let 'i += 1'
   done
   
   trackname=( "${album}" )
   
   titlenumber=-1
   i=1
   skip='0'
   tracknumber=1
   for index in "${indexes[@]}"
   do
      
      if [[ ${skip} == '1' ]]
      then
         skip='0'
      else
         indextype=$(echo ${index} | cut -c 1-2)
         if (( ${indextype} == '01' ))
         then
            let 'titlenumber += 1' # this will ensure tracks with multiple indexes to get proper names
         fi
         if ((${i} == 1 ))
         then
            subsecondstemp=$(echo ${index} | tr '[=\r=]' "\0" | rev | cut -c 1-2 | rev)
            subseconds=( "dummy" "${subsecondstemp}" )
            secondstemp=$(echo ${index} |  tr '[=\r=]' "\0" | rev | cut -c 4-5 | rev)
            seconds=(  "dummy" "${secondstemp}" )
            minutestemp=$(echo ${index} |  tr '[=\r=]' "\0"  | cut -c 4- | rev | cut -c 7- | rev)
            minutes=( "dummy" "${minutestemp}" )
         else
            subsecondstemp=$(echo ${index} |  tr '[=\r=]' "\0"  | rev | cut -c 1-2 | rev)
            subseconds=( "${subseconds[@]}" "${subsecondstemp}" )
            secondstemp=$(echo ${index} |  tr '[=\r=]' "\0" | rev | cut -c 4-5 | rev)
            seconds=( "${seconds[@]}" "${secondstemp}" )
            minutestemp=$(echo ${index} | tr '[=\r=]' "\0" | cut -c 4- | rev | cut -c 7- | rev)
            minutes=( "${minutes[@]}" "${minutestemp}" )
         fi
         trackname=( "${trackname[@]}" "${tracknametemp[${titlenumber}]}" )
         let 'tracknumber += 1'
         if [[ ${indextype} == '00' ]]
         then
            skip='1'
         fi
      fi
      let 'i += 1'
   done
}

# create folder were encoded files will be put
createfolder () {
   mkdir "$(foldertemplate)"
   writefolder="$(foldertemplate)"
}

# split wav file and create multiple flac files
createfiles () {
   echo "Converting files"
   maxi=$(echo "${#indexes[@]} " | bc)

   for (( i=1 ; $i <=  ${maxi}; i++ ))
   do
      if (( $i < ${maxi} ))
      then
         plusone="$(echo "${i}+1" | bc)"
         minusone="$(echo "${i}-1" | bc)"
         samples1="$(echo "${minutes[${i}]}*60*${samplerate}+${seconds[${i}]}*${samplerate}+${subseconds[${i}]}*${samplerate}*1/100" | bc )"
         samples2="$(echo "${minutes[${plusone}]}*60*${samplerate}+${seconds[${plusone}]}*${samplerate}+(${subseconds[${plusone}]}-1)*${samplerate}*1/100" | bc )"
         samples3="$(echo "${samples2}-${samples1}" | bc)"
         trimopts="$(echo "${samples1}s ${samples3}s")"
         filename[$i]="$(filetemplate).flac"
         sox "${folder}/${inputfile}" -t wav - trim ${trimopts} 2> /dev/null | flac ${flacoptions} "--tag=tracknumber=${i}" "--tag=artist=$(echo "${artist}")" "--tag=album=$(echo "${album}")" "--tag=title=$(echo "${trackname[${minusone}]}")" "--tag=genre=$(echo "${genre}")" "--tag=date=$(echo "${year}")" - -o "${writefolder}/${filename[${i}]}" 2>/dev/null
      elif (( $i == ${maxi} ))
      then
         minusone="$(echo "${i}-1" | bc)"
         samples1="$(echo "${minutes[${i}]}*60*${samplerate}+${seconds[${i}]}*${samplerate}+${subseconds[${i}]}*${samplerate}*1/100" | bc )"
         trimopts="$(echo "${samples1}s")"
         filename[$i]="$(filetemplate).flac"
         sox "${folder}/${inputfile}" -t wav - trim ${trimopts} 2> /dev/null | flac ${flacoptions} "--tag=tracknumber=${i}" "--tag=artist=$(echo "${artist}")" "--tag=album=$(echo "${album}")" "--tag=title=$(echo "${trackname[${minusone}]}")" "--tag=genre=$(echo "${genre}")" "--tag=date=$(echo "${year}")" - -o "${writefolder}/${filename[${i}]}" 2>/dev/null
      fi
   done
}

main
processdata
createfolder
createfiles
setgeneralfilename
doreplaygain
createmd5
createm3u
copylog
copycue


Last edited by madman2003 on Sun May 28, 2006 7:31 am; edited 1 time in total
Back to top
View user's profile Send private message
mark_alec
Bodhisattva
Bodhisattva


Joined: 11 Sep 2004
Posts: 6066
Location: Melbourne, Australia

PostPosted: Thu Apr 13, 2006 7:53 am    Post subject: Reply with quote

Moved from Multimedia to Documentation, Tips & Tricks.
Back to top
View user's profile Send private message
ipridian
n00b
n00b


Joined: 11 Apr 2006
Posts: 6

PostPosted: Tue May 02, 2006 9:20 am    Post subject: Reply with quote

Woa, very nice ! I've been trying to do this months ago ..

Your script is very handy and helps a lot for automating processes in ripping wav+cue to seperate tracks :) !

As for me, I've been using wavsplit, mac (APE encoder) and manual tagging ... So manual tagging certainly cannot beat your script .. however, I find wavsplit easier to use than sox, and I think it could reduce code lines in your script .. use of wavsplit is simple, and it also comes with wavren.

Basically, args for wavsplit are --frames 75 (cue files use min:sec:fr with max fr = 74) then the filename, and then follows everything after INDEX in the cue file. It then creates a new folder named with the filename passed without ".wav", and goes with 01.wav, 02.wav, etc for all files ripped in order.
Then one could cd inside the folder, call wavren and rename each file with the args inside TITLE (and PERFORMER if needed) of the cue file.

Of course, wavren is interactive so I think your method with grep seems better.

Wavsplit however cannot stream the splitted wavs, thus one could not encode the file through any lossless encoder directly. But I admit it is easier to use than sox ..

Anyhow, thanks a lot for this script :) I'll try to make an APE version myself, with iconv support (since my cues often comes with SJIS instead of UTF8 ..)
Back to top
View user's profile Send private message
madman2003
Apprentice
Apprentice


Joined: 20 Feb 2005
Posts: 178

PostPosted: Sun May 28, 2006 7:34 am    Post subject: Reply with quote

Fixed a bug that caused it to ignore tracks with more than one index (except 00 indexes). As before index 00 and 01 are merged, the rest get new files with the same filename.
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Sun Jun 18, 2006 6:28 pm    Post subject: Reply with quote

When I run the script with this command

Code:
./splitcue VOL1 VOL1.cue


I got the following:
Code:
Converting files
Replaygaining files
ERROR: you must specify at least one FLAC file;
       metaflac cannot be used as a pipe
==============================================================================
metaflac - Command-line FLAC metadata editor version 1.1.2
Copyright (C) 2001,2002,2003,2004,2005  Josh Coalson

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
==============================================================================

This is the short help; for full help use 'metaflac --help'

Usage:
  metaflac [options] [operations] FLACfile [FLACfile ...]

Use metaflac to list, add, remove, or edit metadata in one or more FLAC files.
You may perform one major operation, or many shorthand operations at a time.

Options:
--preserve-modtime    Preserve the original modification time in spite of edits
--with-filename       Prefix each output line with the FLAC file name
                      (the default if more than one FLAC file is specified)
--no-filename         Do not prefix each output line with the FLAC file name
                      (the default if only one FLAC file is specified)
--no-utf8-convert     Do not convert tags from UTF-8 to local charset,
                      or vice versa.  This is useful for scripts.
--dont-use-padding    By default metaflac tries to use padding where possible
                      to avoid rewriting the entire file if the metadata size
                      changes.  Use this option to tell metaflac to not take
                      advantage of padding this way.
Creating md5 file


If I run with the command splitcue . "VOL1.cue", it would be a mess. Is it because that script cannot handle UTF8[/code] characters?
_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
madman2003
Apprentice
Apprentice


Joined: 20 Feb 2005
Posts: 178

PostPosted: Sun Jun 25, 2006 3:23 pm    Post subject: Reply with quote

Argument 1 (the command itself is argument 0) has to be an absolute position, try that.
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Sun Jun 25, 2006 4:40 pm    Post subject: Reply with quote

madman2003 wrote:
Argument 1 (the command itself is argument 0) has to be an absolute position, try that.


Okay. I still cannot convert the cue and wav file using that script. The curprit is the cue fileformat. cuebreakpoint does not recoginize time with <, =, ; at the beginning. I have no idea what those time are suppose to be, maybe the file is corrupted or is it a properitory format? Anyway, thanks for the script. But debugging is very problematic if all output are sent to /dev/null.
_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
madman2003
Apprentice
Apprentice


Joined: 20 Feb 2005
Posts: 178

PostPosted: Mon Jun 26, 2006 4:29 pm    Post subject: Reply with quote

Could you post the cue sheet?
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Wed Jun 28, 2006 2:53 pm    Post subject: Reply with quote

madman2003 wrote:
Could you post the cue sheet?

sure. Here's the cuesheet:

Code:
FILE "CDImage.wav" WAVE
  TRACK 01 AUDIO
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 05:22:42
  TRACK 03 AUDIO
    INDEX 01 10:34:30
  TRACK 04 AUDIO
    INDEX 01 16:05:25
  TRACK 05 AUDIO
    INDEX 01 16:07:31
  TRACK 06 AUDIO
    INDEX 01 21:11:71
  TRACK 07 AUDIO
    INDEX 01 24:49:45
  TRACK 08 AUDIO
    INDEX 01 29:54:30
  TRACK 09 AUDIO
    INDEX 01 29:57:45
  TRACK 10 AUDIO
    INDEX 01 35:21:69
  TRACK 11 AUDIO
    INDEX 01 35:24:12
  TRACK 12 AUDIO
    INDEX 01 41:38:34
  TRACK 13 AUDIO
    INDEX 01 45:00:20
  TRACK 14 AUDIO
    INDEX 01 49:34:42
  TRACK 15 AUDIO
    INDEX 01 55:02:46
  TRACK 16 AUDIO
    INDEX 01 60:18:54
  TRACK 17 AUDIO
    INDEX 01 65:48:40
  TRACK 18 AUDIO
    INDEX 01 71:03:27
  TRACK 19 AUDIO
    INDEX 01 75:28:36
  TRACK 20 AUDIO
    INDEX 01 80:05:29
  TRACK 21 AUDIO
    INDEX 01 83:53:21
  TRACK 22 AUDIO
    INDEX 01 89:29:01
  TRACK 23 AUDIO
    INDEX 01 91:58:30
  TRACK 24 AUDIO
    INDEX 01 95:06:62
  TRACK 25 AUDIO
    INDEX 01 :0:08:40
  TRACK 26 AUDIO
    INDEX 01 :0:10:10
  TRACK 27 AUDIO
    INDEX 01 :4:16:20
  TRACK 28 AUDIO
    INDEX 01 :6:14:70
  TRACK 29 AUDIO
    INDEX 01 ;3:54:74
  TRACK 30 AUDIO
    INDEX 01 ;3:58:30
  TRACK 31 AUDIO
    INDEX 01 <0:27:07
  TRACK 32 AUDIO
    INDEX 01 <0:29:29
  TRACK 33 AUDIO
    INDEX 01 <3:29:57
  TRACK 34 AUDIO
    INDEX 01 <7:08:48
  TRACK 35 AUDIO
    INDEX 01 =1:14:58
  TRACK 36 AUDIO
    INDEX 01 =5:46:02
  TRACK 37 AUDIO
    INDEX 01 =5:47:47

_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
madman2003
Apprentice
Apprentice


Joined: 20 Feb 2005
Posts: 178

PostPosted: Mon Jul 03, 2006 9:28 pm    Post subject: Reply with quote

Sorry for the late response, i don't know what those cue sheet indexes mean at the moment, but if i find out i will try to fix the script. My guess is that it's a broken cue sheet, but i can't be sure.
Back to top
View user's profile Send private message
ipridian
n00b
n00b


Joined: 11 Apr 2006
Posts: 6

PostPosted: Thu Jul 06, 2006 9:43 pm    Post subject: Reply with quote

for the last entries, try changing :

the ":" to 10, the ";" to 11, the "<" to 12, and the "=" to 13
Back to top
View user's profile Send private message
SnEptUne
l33t
l33t


Joined: 23 Aug 2004
Posts: 656

PostPosted: Sun Jul 09, 2006 3:45 pm    Post subject: Reply with quote

ipridian wrote:
for the last entries, try changing :

the ":" to 10, the ";" to 11, the "<" to 12, and the "=" to 13


Thanks for the advice. Unfortunately, the script is flawed. Here's the error when I run the script again:

Code:
options: -P 4096 -b 4608 -m -l 8 -q 0 -r 0,4 -V
-: 0% complete, ratio=1.513sox:
-: WARNING: unexpected EOF; expected 536869888 samples, got 59904 samples
-: 0% complete, ratio=0.132
sox: Length in output .wav header will be wrong since can't seek to fix it

flac 1.1.2, Copyright (C) 2000,2001,2002,2003,2004,2005  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

options: -P 4096 -b 4608 -m -l 8 -q 0 -r 0,4 -V
-: 1% complete, ratio=0.383
-: ERROR during encoding
   state = FLAC__STREAM_ENCODER_FATAL_ERROR_WHILE_WRITING

Replaygaining files
13 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
14 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
15 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
16 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
17 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
18 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
19 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
20 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
21 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
22 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
23 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
24 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
26 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
27 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
28 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
30 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
32 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
33 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
34 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
35 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
37 - .flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERRO
R_OPENING_FILE"

The FLAC file could not be opened.  Most likely the file does not exist
or is not readable.
Creating md5 file
md5sum: 13 - .flac: No such file or directory
md5sum: 14 - .flac: No such file or directory
md5sum: 15 - .flac: No such file or directory
md5sum: 16 - .flac: No such file or directory
md5sum: 17 - .flac: No such file or directory
md5sum: 18 - .flac: No such file or directory
md5sum: 19 - .flac: No such file or directory
md5sum: 20 - .flac: No such file or directory
md5sum: 21 - .flac: No such file or directory
md5sum: 22 - .flac: No such file or directory
md5sum: 23 - .flac: No such file or directory
md5sum: 24 - .flac: No such file or directory
md5sum: 26 - .flac: No such file or directory
md5sum: 27 - .flac: No such file or directory
md5sum: 28 - .flac: No such file or directory
md5sum: 30 - .flac: No such file or directory
md5sum: 32 - .flac: No such file or directory
md5sum: 33 - .flac: No such file or directory
md5sum: 34 - .flac: No such file or directory
md5sum: 35 - .flac: No such file or directory
md5sum: 37 - .flac: No such file or directory
Creating m3u file
Copying log file
rm: cannot remove `/tmp/splitcue.tmp': No such file or directory
ls: *.log: No such file or directory
Choose log that belongs to this cd:


I suspect the script cannot handle cue sheet that does not provides additional information such as music title etc... Actually, I found the actual error now. My /tmp ran out of space. Using /tmp as the temporany directory isn't such a good idea.
_________________
"There will be more joy in heaven over the tear-bathed face of a repentant sinner than over the white robes of a hundred just men." (LM, 114)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum