47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# remove content of music directory
|
|
rm -rf "$HOME/Musik/"*
|
|
|
|
# change into music raw folder
|
|
cd "$HOME/MusikRaw"
|
|
|
|
# get directories
|
|
ls -d */ > artistdirectories
|
|
|
|
while read -r artdir; do
|
|
cd "$artdir"
|
|
# get albums
|
|
ls -d */ > directories
|
|
while read -r dir; do
|
|
# change into directory
|
|
cd "$dir"
|
|
# create directory in music
|
|
mkdir -p "$HOME/Musik/${artdir}/$dir"
|
|
|
|
# link cover.jpg
|
|
if [[ -f cover.jpg ]]; then
|
|
ln -vf "$HOME/MusikRaw/${artdir}/$dir/cover."* "$HOME/Musik/${artdir}/$dir/"
|
|
fi
|
|
|
|
# make symbolic link to music
|
|
# if the "normalized" directory exists, links are created
|
|
if [[ -d "normalized" ]]; then
|
|
ln -svf "$HOME/MusikRaw/${artdir}/$dir/normalized/"* "$HOME/Musik/${artdir}/$dir/"
|
|
fi
|
|
|
|
# go back to music raw
|
|
cd "$HOME/MusikRaw/$artdir"
|
|
done < directories
|
|
# cleanup
|
|
rm directories
|
|
cd "$HOME/MusikRaw"
|
|
done < artistdirectories
|
|
# cleanup
|
|
rm artistdirectories
|
|
|
|
echo Finished!
|
|
|
|
exit
|