diff --git a/refactor_music_library.sh b/refactor_music_library.sh index bcaf9bc..f97be32 100755 --- a/refactor_music_library.sh +++ b/refactor_music_library.sh @@ -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"