diff options
Diffstat (limited to 'bin/tag-music')
| -rwxr-xr-x | bin/tag-music | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/bin/tag-music b/bin/tag-music new file mode 100755 index 0000000..17d6aac --- /dev/null +++ b/bin/tag-music @@ -0,0 +1,48 @@ +#!/bin/sh + +music_dir="$HOME/Music" + +for artist_dir in "$music_dir"/* +do + [ ! -d "$artist_dir" ] && continue + artist="$(basename "$artist_dir")" + [ "$artist" = backup ] && continue + + for album_dir in "$artist_dir"/* + do + album="$(basename "$album_dir")" + [ ! -d "$album_dir" ] && continue + + for song_file in "$album_dir"/* + do + [ ! -f "$song_file" ] && continue + song="$(basename "$song_file" | cut -d '.' -f 1)" + # echo "$artist" + # echo "$album" + # echo "$song" + case "$song_file" in + *.ogg) + ;; + *.opus) + echo "OPUS: $song_file" + echo "Title=$song +Artist=$artist +Album=$album +Track= +Total= +Date= +Genre= +Comment=" | opustags -i -S "$song_file" + ;; + *.mp3) + id3tag --artist "$artist" --album "$album" --song "$song" "$songfile" + ;; + *.m4a) + id3tag --artist "$artist" --album "$album" --song "$song" "$songfile" + ;; + *) + ;; + esac + done + done +done |
