Added example script flac2mp3 that can be used recursively on a flac collection to convert it to mp3.
This commit is contained in:
parent
4d5324e7c8
commit
50de3d4fdf
|
@ -0,0 +1,94 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
INPUT="$1"
|
||||||
|
|
||||||
|
METATAGS="--export-tags-to="
|
||||||
|
LAMEOPTS=""
|
||||||
|
ERROR_STATUS="0"
|
||||||
|
|
||||||
|
function usage () {
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Usage: $0 <flac file name>"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function error () {
|
||||||
|
|
||||||
|
ERROR="$1"
|
||||||
|
MSG="$2"
|
||||||
|
|
||||||
|
echo "Error: $MSG"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ -z "$INPUT" ]
|
||||||
|
then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e "$INPUT" ]
|
||||||
|
then
|
||||||
|
echo "File $INPUT does not exist!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
FILETYPE="`file -b "$INPUT" | awk '{ print $1 }'`"
|
||||||
|
if [ ! "$FILETYPE" == "FLAC" ]
|
||||||
|
then
|
||||||
|
echo "File $FILE is not a flac file..."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
checkvar () {
|
||||||
|
|
||||||
|
VAR="$1"
|
||||||
|
|
||||||
|
if [ -z "$VAR" ] || [ "$VAR" == "" ]
|
||||||
|
then
|
||||||
|
echo "Unknown"
|
||||||
|
else
|
||||||
|
echo "$VAR"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
METATAGS="TITLE ARTIST ALBUM GENRE COMPOSER CONDUCTOR ENSEMBLE TRACKNUMBER DATE ALBUM ARTIST DISCNUMBER DISC"
|
||||||
|
|
||||||
|
function convert () {
|
||||||
|
|
||||||
|
FILE="$1"
|
||||||
|
META="$FILE.meta"
|
||||||
|
MP3FILE="`echo ${FILE%flac}mp3`"
|
||||||
|
DIR="`dirname "$FILE"`"
|
||||||
|
|
||||||
|
metaflac --export-tags-to="$META" "$FILE"
|
||||||
|
|
||||||
|
ARTIST="`metaflac "$FILE" --show-tag=ARTIST | sed s/.*=//g`"
|
||||||
|
TITLE="`metaflac "$FILE" --show-tag=TITLE | sed s/.*=//g`"
|
||||||
|
ALBUM="`metaflac "$FILE" --show-tag=ALBUM | sed s/.*=//g`"
|
||||||
|
GENRE="`metaflac "$FILE" --show-tag=GENRE | sed s/.*=//g`"
|
||||||
|
TRACKNUMBER="`metaflac "$FILE" --show-tag=TRACKNUMBER | sed s/.*=//g`"
|
||||||
|
|
||||||
|
for x in $METATAGS
|
||||||
|
do
|
||||||
|
declare $x="`grep "$x" "$META" | cut -d "=" -f 2`"
|
||||||
|
|
||||||
|
VAR=$(eval echo " \$$x")
|
||||||
|
VAR="`checkvar $VAR`"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
flac -s -c -d "$FILE" | lame --tt "$TITLE" --tn "$TRACKNUMBER" --tg "$GENRE" --ty "$DATE" --ta "$ARTIST" --tl "$ALBUM" --ty "$YEAR" --preset insane - "$MP3FILE"
|
||||||
|
ERROR_STATUS="$?"
|
||||||
|
if [ -e "$META" ]
|
||||||
|
then
|
||||||
|
rm "$META"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
convert "$INPUT"
|
||||||
|
|
||||||
|
exit "$ERROR_STATUS"
|
Loading…
Reference in New Issue