Only check additonal band slots if the more important ones are empty. Fix bug in if statement, was checking wrong variable.

This commit is contained in:
Hyperling 2025-04-13 11:47:33 -07:00
parent fa175639d8
commit bdc18dd727

View File

@ -187,30 +187,34 @@ function migrate_music {
echo "*** Artist=$artist"
band=""
band="`exiftool -Band "$file"`"
band="${band//Band /}"
band="${band// : /}"
band="${band//[^[:alnum:][:space:].]/}"
band="`echo $band`"
while [[ "$band" == *" "* ]]; do
band="${band// / }"
done
echo "*** Band=$band"
if [[ -z "$artist" ]]; then
band="`exiftool -Band "$file"`"
band="${band//Band /}"
band="${band// : /}"
band="${band//[^[:alnum:][:space:].]/}"
band="`echo $band`"
while [[ "$band" == *" "* ]]; do
band="${band// / }"
done
echo "*** Band=$band"
fi
album_artist=""
album_artist="`exiftool -Albumartist "$file"`"
album_artist="${album_artist//Albumartist /}"
album_artist="${album_artist// : /}"
album_artist="${album_artist//[^[:alnum:][:space:].]/}"
album_artist="`echo $album_artist`"
while [[ "$album_artist" == *" "* ]]; do
album_artist="${album_artist// / }"
done
echo "*** Albumartist=$album_artist"
if [[ -z "$artist" && -z "$band" ]]; then
album_artist="`exiftool -Albumartist "$file"`"
album_artist="${album_artist//Albumartist /}"
album_artist="${album_artist// : /}"
album_artist="${album_artist//[^[:alnum:][:space:].]/}"
album_artist="`echo $album_artist`"
while [[ "$album_artist" == *" "* ]]; do
album_artist="${album_artist// / }"
done
echo "*** Albumartist=$album_artist"
fi
# Prefer Artist, then Band, then Albumartist
grandparent=""
if [[ -n $album ]]; then
if [[ -n $artist ]]; then
grandparent="$artist"
elif [[ -n $band ]]; then
grandparent="$band"