]> gitweb.hhaalo.de Git - albentohandy.git/commitdiff
optimize mp3 tagging
authorBastian Dehn <hhaalo@arcor.de>
Sun, 30 Aug 2026 08:38:03 +0000 (10:38 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 30 Aug 2026 08:40:07 +0000 (10:40 +0200)
libs/mp3.sh

index ab63328f2f25f29518b8de800a498d81ba2346ab..e9c27d8a8d5b0c37c593fe3b9eac57b303aaa8eb 100644 (file)
@@ -18,62 +18,66 @@ check_mp3_programs()
 
 read_flac_to_mp3_tags()
 {
-       local inputfile="$1"
-       local outputfile="$2"
-       local inputfiledir=${inputfile%/*}
-       local ARTIST=
-       local TITLE=
-       local GENRE=
-       local TRACKNUMBER=
-       local DATE=
-       local RRL=
-       local RTG=
-       local RTP=
-       local RAG=
-       local RAP=
+       local input="$1"
+       local output="$2"
+       local inputdir=${input%/*}
+       local artist=
+       local title=
+       local album=
+       local genre=
+       local genre=
+       local trackno=
+       local date=
+       local rrl=
+       local rtg=
+       local rtp=
+       local rag=
+       local rap=
 
        # get the tags from flac file
-       ARTIST=$(metaflac "$inputfile" \
-               --show-tag=ARTIST | sed s/.*=//g)
-       TITLE=$(metaflac "$inputfile" \
-               --show-tag=TITLE | sed s/.*=//g)
-       ALBUM=$(metaflac "$inputfile" \
-               --show-tag=ALBUM | sed s/.*=//g)
-       GENRE=$(metaflac "$inputfile" \
-               --show-tag=GENRE | sed s/.*=//g)
-       TRACKNUMBER=$(metaflac "$inputfile" \
-               --show-tag=TRACKNUMBER | sed s/.*=//g)
-       DATE=$(metaflac "$inputfile" \
-               --show-tag=DATE | sed s/.*=//g)
-       RRL=$(metaflac "$inputfile" \
-               --show-tag=REPLAYGAIN_REFERENCE_LOUDNESS | tr '=' ':')
-       RTG=$(metaflac "$inputfile" \
-               --show-tag=REPLAYGAIN_TRACK_GAIN | tr '=' ':')
-       RTP=$(metaflac "$inputfile" \
-               --show-tag=REPLAYGAIN_TRACK_PEAK | tr '=' ':')
-       RAG=$(metaflac "$inputfile" \
-               --show-tag=REPLAYGAIN_ALBUM_GAIN | tr '=' ':')
-       RAP=$(metaflac "$inputfile" \
-               --show-tag=REPLAYGAIN_ALBUM_PEAK | tr '=' ':')
+       title=$(metaflac --show-tag=TITLE "$input")
+       artist=$(metaflac --show-tag=ARTIST "$input")
+       album=$(metaflac --show-tag=ALBUM "$input")
+       date=$(metaflac --show-tag=DATE "$input")
+       trackno=$(metaflac --show-tag=TRACKNUMBER "$input")
+       genre=$(metaflac --show-tag=GENRE "$input")
+
+       artist=${artist/*=/}
+       title=${title/*=/}
+       album=${album/*=/}
+       genre=${genre/*=/}
+       trackno=${trackno/*=/}
+       date=${date/*=/}
+
+       rrl=$(metaflac --show-tag=REPLAYGAIN_REFERENCE_LOUDNESS "$input")
+       rtg=$(metaflac --show-tag=REPLAYGAIN_TRACK_GAIN "$input")
+       rtp=$(metaflac --show-tag=REPLAYGAIN_TRACK_PEAK "$input")
+       rag=$(metaflac --show-tag=REPLAYGAIN_ALBUM_GAIN "$input")
+       rap=$(metaflac --show-tag=REPLAYGAIN_ALBUM_PEAK "$input")
 
+       rrl=${rrl/=/:}
+       rtg=${rtg/=/:}
+       rtp=${rtp/=/:}
+       rag=${rag/=/:}
+       rap=${rap/=/:}
        # --------------------------------------------------
 
        # ID3v2.3 tagging with cover and without cover
        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" \
-               --add-image="$inputfiledir/cover.jpg":FRONT_COVER \
-               "$outputfile" > /dev/null 2>&1
+               --title="$title" \
+               --artist="$artist" \
+               --album="$album" \
+               --recording-date="$date" \
+               --track="${trackno:-0}" \
+               --genre="${genre:-12}" \
+               --user-text-frame="$rrl" \
+               --user-text-frame="$rtg" \
+               --user-text-frame="$rtp" \
+               --user-text-frame="$rag" \
+               --user-text-frame="$rap" \
+               --add-image="$inputdir/cover.jpg":FRONT_COVER \
+               "$output" > /dev/null 2>&1
 }
 
 encoding_flac_to_mp3()