diff --git a/depFiles/ripCD.sh b/depFiles/ripCD.sh index e72861c..46480e2 100755 --- a/depFiles/ripCD.sh +++ b/depFiles/ripCD.sh @@ -6,10 +6,11 @@ ALAC_DIR=ALAC FLAC_DIR=FLAC DEV=/dev/cdrom CDDB_URL="freedb.freac.org:/~cddb/cddb.cgi" +COMPILATION="" declare -a TITLES #FUNCTIONS checkRipDir(){ - if [ -d "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" ]; then + if [ -d "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" ]; then read -r -p "Directory already exists, do you want to rip audio cd?: [Y/n] (default: Y)" RIP if [[ -z "${RIP}" ]]; then RIP='y' @@ -24,6 +25,7 @@ checkRipDir(){ tagRipFiles ;; [nN][oO]|[nN]) + downloadArt setFinalData writeCsv tagRipFiles @@ -36,7 +38,7 @@ checkRipDir(){ ;; esac else - mkdir -p "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" + mkdir -p "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" downloadArt ripDisc writeTOC @@ -46,7 +48,7 @@ checkRipDir(){ } checkEncDir(){ - if [ -d "${VOLUME}/${FLAC_DIR}/${PERFORMER}/${ALBUM_TITLE}" ]; then + if [ -d "${VOLUME}/${FLAC_DIR}/${PERFORMER}/${ALBUM_DIR}" ]; then read -r -p "Directory already exists, do you want to encode audio cd?: [Y/n](default: Y) " ENCODE if [[ -z "${ENCODE}" ]]; then ENCODE='y' @@ -65,7 +67,7 @@ checkEncDir(){ ;; esac else - mkdir -p "${VOLUME}/${FLAC_DIR}/${PERFORMER}/${ALBUM_TITLE}" + mkdir -p "${VOLUME}/${FLAC_DIR}/${PERFORMER}/${ALBUM_DIR}" encode fi } @@ -80,7 +82,7 @@ writeCsv(){ } writeTOC(){ - cdrdao read-toc --fast-toc --device "${DEV}" --driver generic-mmc:0x20000 --paranoia-mode 0 --with-cddb --cddb-servers $CDDB_URL "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}/${ALBUM_TITLE}.toc" + cdrdao read-toc --fast-toc --device "${DEV}" --driver generic-mmc:0x20000 --paranoia-mode 0 --with-cddb --cddb-servers $CDDB_URL "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}/${ALBUM_TITLE}.toc" sed -i -e 's/\\240/ /g' -e 's/\\300/À/g' -e 's/\\340/à/g' \ -e 's/\\241/¡/g' -e 's/\\301/Á/g' -e 's/\\341/á/g' \ -e 's/\\242/¢/g' -e 's/\\302/Â/g' -e 's/\\342/â/g' \ @@ -112,8 +114,8 @@ writeTOC(){ -e 's/\\274/¼/g' -e 's/\\334/Ü/g' -e 's/\\374/ü/g' \ -e 's/\\275/½/g' -e 's/\\335/Ý/g' -e 's/\\375/ý/g' \ -e 's/\\276/¾/g' -e 's/\\336/Þ/g' -e 's/\\376/þ/g' \ - -e 's/\\277/¿/g' -e 's/\\337/ß/g' -e 's/\\377/ÿ/g' "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}/${ALBUM_TITLE}.toc" - sed -i -e '/TITLE/s/\\"//g' "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}/${ALBUM_TITLE}.toc" + -e 's/\\277/¿/g' -e 's/\\337/ß/g' -e 's/\\377/ÿ/g' "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}/${ALBUM_TITLE}.toc" + sed -i -e '/TITLE/s/\\"//g' "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}/${ALBUM_TITLE}.toc" } @@ -124,18 +126,19 @@ isCompilation(){ fi case ${COMPILATION} in [yY][eE][sS]|[yY]) + COMPILATION="y" read -r -p "Disc number?: " DISCNUMBER if [[ -z "${DISCNUMBER}" ]]; then DISCNUMBER='1' fi - read -r -p "Disc number?: " TOTALDISCKS - if [[ -z "${TOTALDISCKS}" ]]; then - TOTALDISCKS='1' + read -r -p "Total disks?: " TOTALDISKS + if [[ -z "${TOTALDISKS}" ]]; then + TOTALDISKS='1' fi ;; [nN][oO]|[nN]) DISCNUMBER='1' - TOTALDISCKS='1' + TOTALDISKS='1' ;; *) echo "Invalid input..." @@ -146,6 +149,7 @@ isCompilation(){ } setInitialData(){ + echo "COMPILATION: $COMPILATION" if [ "$CDDA" -eq 1 ]; then DISCID=$(cd-discid "${DEV}" | sed 's/ /+/g') ALBUMNAME="$(curl -s "http://$CDDB_URL?cmd=cddb+query+$(cd-discid "${DEV}" | sed 's/ /+/g')&hello=user+hostname+cdparanoia+3&proto=3" | @@ -212,14 +216,16 @@ setInitialData(){ exit 1 ;; esac - if [ ${DISCNUMBER} -gt 1 ]; then - ALBUM_TITLE="${ALBUM_TITLE} (CD ${DISCNUMBER})" + ALBUM_DIR=${ALBUM_TITLE} + if [ "$COMPILATION" = "y" ]; then + ALBUM_DIR="${ALBUM_DIR} (CD ${DISCNUMBER})" + echo $ALBUM_DIR fi fi } setFinalData(){ - cd "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" + cd "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" CDDBDATA="audio.cddb" TOTALTRACKS=$(grep TTITLE ${CDDBDATA} |wc -l) GENRE=$(grep DGENRE ${CDDBDATA} | awk -F '=' '{print $2}') @@ -361,7 +367,7 @@ setFinalData(){ } tagRipFiles(){ - cd "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" + cd "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" WAVFILES=(*.wav) TOTALTRACKS=$(ls -l *.wav|wc -l) count=1 @@ -386,20 +392,20 @@ tagRipFiles(){ downloadArt(){ SACAD_PERFORMER=\"${PERFORMER}\" SACAD_ALBUM_TITLE=\"${ALBUM_TITLE}\" - sacad "${SACAD_PERFORMER}" "${SACAD_ALBUM_TITLE}" 500 "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}/AlbumArt.jpg" + sacad "${SACAD_PERFORMER}" "${SACAD_ALBUM_TITLE}" 500 "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}/AlbumArt.jpg" } ripDisc(){ - if [ ! -d "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" ] && [ ${RIP} = 's' ]; then - mkdir -p "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" + if [ ! -d "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" ] && [ ${RIP} = 's' ]; then + mkdir -p "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" fi - cd "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" + cd "${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" #cdda2wav -vall cddb=0 -cddbp-server=gnudb.gnudb.org speed="$SPEED" -paranoia -B -D ${DEV} cdda2wav -vall cddb=0 -cddbp-server=gnudb.gnudb.org speed="$SPEED" -B -D ${DEV} } encode() { - RIPDIR="${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_TITLE}" - ENCDIR="${VOLUME}/${FLAC_DIR}/${PERFORMER}/${ALBUM_TITLE}" + RIPDIR="${VOLUME}/${RIP_DIR}/${PERFORMER}/${ALBUM_DIR}" + ENCDIR="${VOLUME}/${FLAC_DIR}/${PERFORMER}/${ALBUM_DIR}" cd "$RIPDIR" WAVFILES=(*.wav) TOTALTRACKS=$(ls -l *.wav | wc -l) @@ -422,6 +428,7 @@ encode() { -metadata date="${YEAR}" \ -metadata album="${ALBUM_TITLE}" \ -metadata disc="${DISCNUMBER}" \ + -metadata DISCTOTAL="${TOTALDISKS}" \ -metadata track="${count}/${TOTALTRACKS}" \ -metadata title="${NEWTITLE}" \ "${ENCDIR}/${NEWFILENAME}"