source $HOME/.flactomp3v2.conf
fi
-readonly INPUTFILE=$1
-readonly INPUTFILEDIR=${INPUTFILE%/*}
-readonly OUTPUTFILE="${INPUTFILE[@]/%flac/mp3}" # give output correct extension
-
-# get the tags from flac file
-readonly ARTIST=$(metaflac "$INPUTFILE" --show-tag=ARTIST | sed s/.*=//g)
-readonly TITLE=$(metaflac "$INPUTFILE" --show-tag=TITLE | sed s/.*=//g)
-readonly ALBUM=$(metaflac "$INPUTFILE" --show-tag=ALBUM | sed s/.*=//g)
-readonly GENRE=$(metaflac "$INPUTFILE" --show-tag=GENRE | sed s/.*=//g)
-readonly TRACKNUMBER=$(metaflac "$INPUTFILE" --show-tag=TRACKNUMBER | sed s/.*=//g)
-readonly DATE=$(metaflac "$INPUTFILE" --show-tag=DATE | sed s/.*=//g)
-readonly RRL=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_REFERENCE_LOUDNESS | tr '=' ':')
-readonly RTG=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_TRACK_GAIN | tr '=' ':')
-readonly RTP=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_TRACK_PEAK | tr '=' ':')
-readonly RAG=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_ALBUM_GAIN | tr '=' ':')
-readonly RAP=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_ALBUM_PEAK | tr '=' ':')
-
-# ID3v2.3 tagging with cover and without cover
-eyed3Command="eyeD3 --v2 --to-v2.3 \
---artist=\"$ARTIST\" --title=\"$TITLE\" --album=\"$ALBUM\" --genre=\"${GENRE:-12}\" \
---track=\"${TRACKNUMBER:-0}\" --recording-date=\"$DATE\" \
---user-text-frame=\"$RRL\" \
---user-text-frame=\"$RTG\" \
---user-text-frame=\"$RTP\" \
---user-text-frame=\"$RAG\" \
---user-text-frame=\"$RAP\""
-if [ -f $INPUTFILEDIR/cover.jpg ]; then
- eyed3Command+=" --add-image=\"$INPUTFILEDIR/cover.jpg\":FRONT_COVER"
-fi
-eyed3Command+=" \"$OUTPUTFILE\" > /dev/null 2>&1"
+ReadFlacToMp3Tags() {
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUTFILE="$2"
+ local readonly INPUTFILEDIR=${INPUTFILE%/*}
+
+ # get the tags from flac file
+ local readonly ARTIST=$(metaflac "$INPUTFILE" --show-tag=ARTIST | sed s/.*=//g)
+ local readonly TITLE=$(metaflac "$INPUTFILE" --show-tag=TITLE | sed s/.*=//g)
+ local readonly ALBUM=$(metaflac "$INPUTFILE" --show-tag=ALBUM | sed s/.*=//g)
+ local readonly GENRE=$(metaflac "$INPUTFILE" --show-tag=GENRE | sed s/.*=//g)
+ local readonly TRACKNUMBER=$(metaflac "$INPUTFILE" --show-tag=TRACKNUMBER | sed s/.*=//g)
+ local readonly DATE=$(metaflac "$INPUTFILE" --show-tag=DATE | sed s/.*=//g)
+ local readonly RRL=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_REFERENCE_LOUDNESS | tr '=' ':')
+ local readonly RTG=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_TRACK_GAIN | tr '=' ':')
+ local readonly RTP=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_TRACK_PEAK | tr '=' ':')
+ local readonly RAG=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_ALBUM_GAIN | tr '=' ':')
+ local readonly RAP=$(metaflac "$INPUTFILE" --show-tag=REPLAYGAIN_ALBUM_PEAK | tr '=' ':')
+
+ # ID3v2.3 tagging with cover and without cover
+ local eyed3Command="eyeD3 --v2 --to-v2.3 \
+ --artist=\"$ARTIST\" --title=\"$TITLE\" --album=\"$ALBUM\" --genre=\"${GENRE:-12}\" \
+ --track=\"${TRACKNUMBER:-0}\" --recording-date=\"$DATE\" \
+ --user-text-frame=\"$RRL\" \
+ --user-text-frame=\"$RTG\" \
+ --user-text-frame=\"$RTP\" \
+ --user-text-frame=\"$RAG\" \
+ --user-text-frame=\"$RAP\""
+ if [ -f $INPUTFILEDIR/cover.jpg ]; then
+ local eyed3Command+=" --add-image=\"$INPUTFILEDIR/cover.jpg\":FRONT_COVER"
+ fi
+ local eyed3Command+=" \"$OUTPUTFILE\" > /dev/null 2>&1"
+ eval $eyed3Command
+}
+
+EncodingFlacToMp3() {
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUTFILE="$2"
+ # stream flac into the lame encoder
+ nice --adjustment=2 flac --silent --stdout --decode "$INPUTFILE" | nice --adjustment=3 lame --silent -b $BITRATE -m $MODE --noreplaygain - "$OUTPUTFILE"
+}
+
+main() {
+ local readonly INPUTFILE=$1
+ local readonly OUTPUTFILE="${INPUTFILE[@]/%flac/mp3}" # give output correct extension
+ EncodingFlacToMp3 "$INPUTFILE" "$OUTPUTFILE"
+ ReadFlacToMp3Tags "$INPUTFILE" "$OUTPUTFILE"
+}
-# stream flac into the lame encoder
-nice --adjustment=2 flac --silent --stdout --decode "$INPUTFILE" | nice --adjustment=3 lame --silent -b $BITRATE -m $MODE --noreplaygain - "$OUTPUTFILE"
-eval $eyed3Command
+main $1
exit 0