From: Bastian Dehn Date: Mon, 10 Jul 2017 18:16:06 +0000 (+0200) Subject: change: flactomp3v2 to methods X-Git-Tag: v1.0.0^2~105 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=e42cf7aa76f759f4e16b9af7b310df4de37a7aa6;p=albentohandy.git change: flactomp3v2 to methods --- diff --git a/flactomp3v2 b/flactomp3v2 index 26d278b..bcc799d 100755 --- a/flactomp3v2 +++ b/flactomp3v2 @@ -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