add replay gain support
This commit is contained in:
parent
c127ebf063
commit
42dd072f7e
1 changed files with 11 additions and 6 deletions
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Pfad zum Basisverzeichnis der Musikdateien
|
# Pfad zum Basisverzeichnis der Musikdateien
|
||||||
BASE_DIR="/media/music/Test-Gaming-Soundtracks"
|
BASE_DIR="/media/music/Test-Gaming-Soundtracks"
|
||||||
|
|
||||||
|
@ -17,12 +15,12 @@ for dir in "${directories[@]}"; do
|
||||||
declare -A artist_count
|
declare -A artist_count
|
||||||
|
|
||||||
# Finde alle FLAC-Dateien im aktuellen Verzeichnis und lese die Artist-Tags
|
# Finde alle FLAC-Dateien im aktuellen Verzeichnis und lese die Artist-Tags
|
||||||
while IFS= read -r file; do
|
while IFS= read -r -d $'\0' file; do
|
||||||
artist=$(metaflac --show-tag=ARTIST "$file" | sed 's/ARTIST=//')
|
artist=$(metaflac --show-tag=ARTIST "$file" | sed 's/ARTIST=//')
|
||||||
if [[ -n "$artist" ]]; then
|
if [[ -n "$artist" ]]; then
|
||||||
((artist_count["$artist"]++))
|
((artist_count["$artist"]++))
|
||||||
fi
|
fi
|
||||||
done < <(find "$dir" -maxdepth 1 -type f -name '*.flac')
|
done < <(find "$dir" -maxdepth 1 -type f -name '*.flac' -print0)
|
||||||
|
|
||||||
# Finde den am häufigsten vorkommenden Artist
|
# Finde den am häufigsten vorkommenden Artist
|
||||||
max_count=0
|
max_count=0
|
||||||
|
@ -34,10 +32,17 @@ for dir in "${directories[@]}"; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Entferne den alten Artist-Tag und setze den häufigsten Artist-Tag für alle Dateien im Verzeichnis
|
# Setze den häufigsten Artist-Tag für alle Dateien im Verzeichnis und füge ReplayGain hinzu
|
||||||
if [[ -n "$common_artist" ]]; then
|
if [[ -n "$common_artist" ]]; then
|
||||||
echo "Häufigster Künstler in '$dir' ist: $common_artist"
|
echo "Häufigster Künstler in '$dir' ist: $common_artist"
|
||||||
find "$dir" -maxdepth 1 -type f -name '*.flac' -exec bash -c 'metaflac --remove-tag=ARTIST "$0" && metaflac --set-tag=ARTIST="'"$common_artist"'" "$0"' {} \;
|
find "$dir" -maxdepth 1 -type f -name '*.flac' -print0 | while IFS= read -r -d $'\0' file; do
|
||||||
|
metaflac --remove-tag=ARTIST "$file"
|
||||||
|
metaflac --set-tag=ARTIST="$common_artist" "$file"
|
||||||
|
# Entferne vorhandene ReplayGain-Tags
|
||||||
|
metaflac --remove-replay-gain "$file"
|
||||||
|
# Berechne und füge neue ReplayGain-Tags hinzu
|
||||||
|
metaflac --add-replay-gain "$file"
|
||||||
|
done
|
||||||
else
|
else
|
||||||
echo "Kein Künstler gefunden in '$dir'"
|
echo "Kein Künstler gefunden in '$dir'"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue