]> gitweb.hhaalo.de Git - albentohandy.git/commitdiff
change: flactomp3v2 to methods
authorBastian Dehn <hhaalo@arcor.de>
Mon, 10 Jul 2017 18:16:06 +0000 (20:16 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Thu, 13 Jul 2017 16:11:23 +0000 (18:11 +0200)
flactomp3v2

index 26d278bb979e1a2eb16eb403c8984f35af600826..bcc799dcf9ecdac37475a558d0dc8c23bfc56305 100755 (executable)
@@ -12,39 +12,54 @@ if [ -f $HOME/.flactomp3v2.conf ]; then
        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