From 1c5a3ba8e8f6787b532e2a73275c6bc6f52aa83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Ole=20H=C3=BCbner?= Date: Sat, 24 May 2025 00:59:06 +0200 Subject: [PATCH] feat(download): update qobuz stuff --- .zsh_functions/download.zsh | 45 ++++++++++++++++++++++++++++--------- .zsh_functions/jellyfin.zsh | 8 +++++++ .zshrc | 1 + 3 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 .zsh_functions/jellyfin.zsh diff --git a/.zsh_functions/download.zsh b/.zsh_functions/download.zsh index 8baa34e..0d289f8 100644 --- a/.zsh_functions/download.zsh +++ b/.zsh_functions/download.zsh @@ -29,8 +29,9 @@ fi mdl () { cwd=$(pwd) -share_on_nas="192.168.84.3/media" +share_on_nas="$NAS_IP/media" path_on_nas="Music/__INBOX" +jelly_wait=150 check_smb_mount() { mount | grep -q "$mount_point" } @@ -66,23 +67,45 @@ fi echo "Unmounting SMB share..." sleep 1 -umount "$mount_point" +/sbin/umount -f "$mount_point" cd $cwd -open "http://bliss.lan/" +if declare -f jelly_rescan > /dev/null; then + echo "Waiting $jelly_wait secs before triggering automatic library scan..." + sleep $jelly_wait + jelly_rescan + echo "done" +fi } - d () { local url="${1:-$(pbpaste)}" - if [[ -z "$url" ]] - then + local used_clipboard=0 + + if [[ -z "$url" ]]; then echo "No URL provided and clipboard is empty." return 1 fi + + # Check if URL came from clipboard + if [[ -z "$1" ]]; then + echo "started via clipboard" + used_clipboard=1 + fi + case "$url" in - (*youtube*|*youtu.be*) echo "Detected YouTube URL: $url" - ytr "$url" ;; - (*qobuz*) echo "Detected Qobuz URL: $url" - mdl "$url" ;; - (*) echo "Unknown URL: $url" ;; + (*youtube*|*youtu.be*) + echo "Detected YouTube URL: $url" + ytr "$url" + ;; + (*qobuz*) + echo "Detected Qobuz URL: $url" + mdl "$url" + if [[ $used_clipboard -eq 1 ]]; then + osascript -e "display dialog \"Done with Qobuz: $url\" buttons {\"OK\"}" + fi + ;; + (*) + echo "Unknown URL: $url" + ;; esac } + diff --git a/.zsh_functions/jellyfin.zsh b/.zsh_functions/jellyfin.zsh new file mode 100644 index 0000000..79b15db --- /dev/null +++ b/.zsh_functions/jellyfin.zsh @@ -0,0 +1,8 @@ +jelly_rescan(){ +JELLYFIN_URL="http://$NAS_IP:8096" +API_KEY="$(pass jelly)" +LIBRARY_ID="8a05b0252259a1dbd62df97522638439" + +curl -X POST -H "X-Emby-Token: $API_KEY" \ + "$JELLYFIN_URL/Library/VirtualFolders/$LIBRARY_ID/Refresh" +} diff --git a/.zshrc b/.zshrc index 3c4544a..eb977ad 100755 --- a/.zshrc +++ b/.zshrc @@ -30,6 +30,7 @@ autosource milan autosource nas autosource fuck autosource download +autosource jellyfin eval "$(zoxide init --cmd cd zsh)"