ITS ALL DONE
This commit is contained in:
commit
c44911e6a4
2 changed files with 26 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
test_files/
|
||||
25
bandcamp_format_utility.sh
Executable file
25
bandcamp_format_utility.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
# This script helped me download back my own albums from deab.bandcamp.com
|
||||
# It takes the first positional argument : a folder with youtube-dl downloaded audio only tracks from bandcamp with their associated pictures and json metadata
|
||||
# And it parses the json to extract track name and number, album name, cover and number of tracks, and uses eyeD3 to updates the ID3 tags, rename and move the files
|
||||
#
|
||||
# WATCHOUT for bash version because the -v (to variable) option in printf is a newish thing at the time of writing...
|
||||
|
||||
files="$1*.mp3"
|
||||
|
||||
for f in $files;
|
||||
do
|
||||
track=$(jq ".track" "${f%.*}.info.json" | tr -d '"');
|
||||
track_number=$(jq ".track_number" "${f%.*}.info.json" | tr -d '"');
|
||||
n_entries=$(jq ".n_entries" "${f%.*}.info.json" | tr -d '"');
|
||||
artist=$(jq ".artist" "${f%.*}.info.json" | tr -d '"');
|
||||
album=$(jq ".album" "${f%.*}.info.json" | tr -d '"');
|
||||
cover="${f%.*}.jpg";
|
||||
|
||||
eyeD3 -N "$n_entries" -n "$track_number" --title "$track" --album "$album" --artist "$artist" --add-image "$cover":FRONT_COVER: "$f"
|
||||
printf -v file_name '%02d - %s.mp3' "$track_number" "$track"
|
||||
mkdir -p "$artist"
|
||||
mkdir -p "$artist/$album"
|
||||
mv "$f" "$artist/$album/$file_name"
|
||||
done
|
||||
Loading…
Reference in a new issue