summaryrefslogtreecommitdiff
path: root/amg
diff options
context:
space:
mode:
Diffstat (limited to 'amg')
-rwxr-xr-xamg56
1 files changed, 28 insertions, 28 deletions
diff --git a/amg b/amg
index 4a9297c..6551259 100755
--- a/amg
+++ b/amg
@@ -35,18 +35,18 @@ esac done
#{{{ print given args
printf "Received Tags:
-Artist: $ARTIST
-Album: $ALBUM
-Song: $TITLE
-Number: $TRACKNUM
-Year: $YEAR\n\n"
+Artist: %s
+Album: %s
+Song: %s
+Number: %s
+Year: %s\n\n" "$ARTIST" "$ALBUM" "$TITLE" "$TRACKNUM" "$YEAR"
#}}}
#{{{ fill in missing variables
# prompt to determine later tagging
if [ -z "$MODE" ]; then
printf "Will the link be for a [p]laylist, a[l]bum video, or [s]ong video? "
- read RESPONSE
+ read -r RESPONSE
case "$RESPONSE" in
p) MODE='album' ;;
l) MODE='split' ;;
@@ -59,7 +59,7 @@ fi
# prompt to get the URL
if [ -z "$URL" ]; then
printf "Enter the link: "
- read URL
+ read -r URL
printf "\n"
fi
#}}}
@@ -68,10 +68,10 @@ fi
# if song, don't download playlist
case "$MODE" in
s)
- SPLITTER_FLAGS="--no-playlist"
+ NO_PLAYLIST="yes"
;;
l)
- SPLITTER_FLAGS="--no-playlist"
+ NO_PLAYLIST="yes"
unset TITLE TRACKNUM
;;
p)
@@ -82,10 +82,10 @@ esac
#{{{ download the video(s)
printf "Starting download...\n\n"
-if [ "$(ls | wc -l)" -gt 0 ]; then
+if [ "$(find . | wc -l)" -gt 0 ]; then
printf "Already downloaded\n"
else
- yt-dlp $SPLITTER_FLAGS --format bestaudio --restrict-filenames "$URL"
+ yt-dlp ${NO_PLAYLIST:+"--no-playlist"} --format bestaudio --restrict-filenames "$URL"
fi
printf "Download stopped.\n\n"
#}}}
@@ -93,18 +93,18 @@ printf "Download stopped.\n\n"
#{{{ while loop to remove files from list
printf "\n\nDo you want to remove any tracks?\n\n"
while true; do
- ls | nl
- echo -n "Enter the line number of the file to remove:\n"
- read WHILE_RESPONSE
+ find . | nl
+ printf "Enter the line number of the file to remove:\n"
+ read -r WHILE_RESPONSE
[ -z "$WHILE_RESPONSE" ] && break
- rm -rf `ls | head -n "$WHILE_RESPONSE" | tail -1`
+ rm -rf "$(find . | head -n "$WHILE_RESPONSE" | tail -1)"
done
#}}}
#{{{ convert the downloaded files to mp3
printf "\n\nStarting to convert files..."
-for i in `ls *.m4a *.webm`; do
- imp3=`echo "$i" | sed 's/\.m4a$/.mp3/;s/\.webm$/.mp3/'`
+for i in *.m4a *.webm; do
+ imp3=$(echo "$i" | sed 's/\.m4a$/.mp3/;s/\.webm$/.mp3/')
[ ! -f "$imp3" ] && ffmpeg -i "$i" -acodec mp3 "$imp3" || echo "File not converted"
done
printf "Finished converting files.\n\n"
@@ -112,34 +112,34 @@ printf "Finished converting files.\n\n"
#{{{ tag files
printf "\n\n"
-for file in `ls *.mp3`; do
- printf "$file\n"
+for file in *.mp3; do
+ printf "%s\n" "$file"
if [ -z "$ARTIST" ]; then
printf "\nWho is the artist? "
- read ARTIST
+ read -r ARTIST
fi
if [ -z "$ALBUM" ]; then
printf "\nWhat is the album? "
- read ALBUM
+ read -r ALBUM
fi
if [ -z "$TITLE" ]; then
printf "\nWhat is the title? "
- read TITLE
+ read -r TITLE
fi
if [ -z "$TRACKNUM" ]; then
printf "\nWhat is the track number? "
- read TRACKNUM_
+ read -r TRACKNUM_
TRACKNUM="$(printf "%02d" "$TRACKNUM_")"
unset TRACKNUM_
fi
if [ -z "$YEAR" ]; then
printf "\nWhat is the release date? "
- read YEAR
+ read -r YEAR
fi
case "$TRACKNUM" in
[!0-9]*)
unset TRACKNUM
- printf "\n$TRACKNUM doesn't look like a track number!\n" 1>&2
+ printf "\n%s doesn't look like a track number!\n" "$TRACKNUM" 1>&2
;;
esac
FMT_ARTIST="$(echo "$ARTIST" | sed "s/[^[:alnum:].-]/_/g")"
@@ -150,13 +150,13 @@ for file in `ls *.mp3`; do
[ -n "$TITLE" ] && kid3-cli -c "set \"Title\" \"$TITLE\"" "$file"
[ -n "$TRACKNUM" ] && kid3-cli -c "set \"Track Number\" \"$TRACKNUM\"" "$file"
[ -n "$YEAR" ] && kid3-cli -c "set \"Date\" \"$YEAR\"" "$file"
- printf "\n\n$file\n"
+ printf "\n\n%s\n" "$file"
kid3-cli -c get "$file"
NEWFILENAME="${FMT_ARTIST}_-_${FMT_ALBUM}_-_${TRACKNUM:-00}_${FMT_TITLE}.mp3"
#NEWFILENAME="$(printf "%s" "$NEWFILENAME" | sed 's/ /_/g;s/[!@#$%^&*()-_=+{}\|;:,.<>/?`~'"\[\]\'\""']//g')"
- [ -n "${ARTIST}" -a -n "${ALBUM}" -a -n "${TITLE}" ] && mv "$file" "$NEWFILENAME"
+ [ -n "${ARTIST}" ] && [ -n "${ALBUM}" ] && [ -n "${TITLE}" ] && mv "$file" "$NEWFILENAME"
unset TITLE TRACKNUM
- printf "$NEWFILENAME\n\n\n"
+ printf "%s\n\n\n" "$NEWFILENAME"
done
printf "\n\nDone.\n"