initial commit

This commit is contained in:
Zdeněk Borovec 2021-12-12 13:43:07 +01:00 committed by GitHub
commit fe6c538907
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 57 additions and 0 deletions

14
PKGBUILD Normal file
View file

@ -0,0 +1,14 @@
pkgname="album-dl"
pkgver="1.0.0"
pkgrel="1"
pkgdesc="Downloads a playlist using youtube-dl as mp3s and sets some metadata tags for the whole album"
arch=("x86_64")
depends=("youtube-dl" "ffmpeg")
license=("GPLv2")
source=("album-dl.sh")
sha512sums=("SKIP")
package() {
mkdir -p "${pkgdir}/usr/bin"
cp "${srcdir}/album-dl.sh" "${pkgdir}/usr/bin/album-dl"
chmod +x "${pkgdir}/usr/bin/album-dl"
}

43
album-dl.sh Normal file
View file

@ -0,0 +1,43 @@
#!/bin/sh
#request the url of the playlist
echo -n 'playlist url: '
read url
#request the name of the artist
echo -n 'artist name: '
read artist
#request the name of the album
echo -n 'album name: '
read album
mkdir "${album}"
cd "${album}"
#stack overflow said this would fix a 403 error that youtube-dl sometimes throws at me
youtube-dl --rm-cache-dir
#download the files using youtube-dl
youtube-dl -o "%(playlist_index)sඞ%(title)s.%(ext)s" --extract-audio --audio-format mp3 "$url"
#loop through all files
for file in *
do
#split the filename by the sussy symbol. take the 0th element and store it as the track number for mp3. then concatenate the rest back together and rename the file
IFS='ඞ'
read -a arrfile <<< $file
track="${arrfile[0]}"
arrfile=("${arrfile[@]:1}")
newfilename=''
for namepart in "${arrfile[@]}";
do
newfilename+="$namepart"
done
mv "$file" "$newfilename"
file="$newfilename"
#use ffmpeg to set the title, artist, track number, and album name to a new file, then rewrite the old file with the new file
ffmpeg -i "$file" -metadata title="$file" -metadata artist="$artist" -metadata album="$album" -metadata track="$track" "${file}_changed.mp3"
mv "${file}_changed.mp3" "$file"
done