summaryrefslogtreecommitdiff
path: root/scripts/ytdl
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ytdl')
-rwxr-xr-xscripts/ytdl33
1 files changed, 33 insertions, 0 deletions
diff --git a/scripts/ytdl b/scripts/ytdl
new file mode 100755
index 0000000..e69cf26
--- /dev/null
+++ b/scripts/ytdl
@@ -0,0 +1,33 @@
+#!/bin/sh
+# wrapper for yt-dlp
+
+MUSICDIR="${XDG_MUSIC_DIR:-$HOME/Music}"
+VIDEODIR="${XDG_VIDEOS_DIR:-$HOME/Videos}"
+
+case $1 in
+v)
+ mkdir -p "$VIDEODIR"
+ notify-send "Video download started"
+ yt-dlp -f 'bv,ba' -o '%(title)s [%(id)s].%(ext)s'\
+ -P "$VIDEODIR" "$2" &&
+ notify-send "Video downloaded" ||
+ (notify-send "Error: No internet connection" && exit 1) ;;
+m)
+ mkdir -p "$MUSICDIR/download"
+ notify-send "Music download started"
+ yt-dlp -f 'ba' -x --embed-thumbnail --audio-format mp3\
+ -o '%(title)s [%(id)s].%(ext)s' -P "$MUSICDIR/download" "$2" &&
+ notify-send "Music downloaded" ||
+ (notify-send "Error: No internet connection" && exit 1) ;;
+p)
+ NAME=$(printf '' | dmenu -p 'Name ')
+ mkdir -p "$MUSICDIR/$NAME"
+ notify-send "Playlist download started"
+ yt-dlp -f 'ba' -x --embed-thumbnail --audio-format mp3\
+ -o '%(playlist_index)s - %(title)s [%(id)s].%(ext)s'\
+ -P "$MUSICDIR/$NAME" "$2" &&
+ notify-send "Playlist downloaded" ||
+ (notify-send "Error: No internet connection" && exit 1) ;;
+*)
+ exit 1 ;;
+esac \ No newline at end of file