From 1c9d903a8fea3fe91881a3180fe47a9b48c83c9d Mon Sep 17 00:00:00 2001 From: srdusr Date: Thu, 16 Nov 2023 17:56:43 +0200 Subject: Add music_info script --- .config/eww/scripts/music_info | 104 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100755 .config/eww/scripts/music_info (limited to '.config/eww') diff --git a/.config/eww/scripts/music_info b/.config/eww/scripts/music_info new file mode 100755 index 0000000..efa3a24 --- /dev/null +++ b/.config/eww/scripts/music_info @@ -0,0 +1,104 @@ +#!/bin/bash +# scripts by adi1090x + +## Get data +STATUS="$(mpc status)" +COVER="/tmp/.music_cover.png" +MUSIC_DIR="$HOME/music/playlist-1" + +## Get status +get_status() { + if [[ $STATUS == *"[playing]"* ]]; then + echo "" + else + echo "奈" + fi +} + +## Get song +get_song() { + song=$(mpc -f %title% current) + if [[ -z "$song" ]]; then + echo "Offline" + else + echo "$song" + fi +} + +## Get artist +get_artist() { + artist=$(mpc -f %artist% current) + if [[ -z "$artist" ]]; then + echo "" + else + echo "$artist" + fi +} + +## Get time +get_time() { + time=$(mpc status | grep "%)" | awk '{print $4}' | tr -d '(%)') + if [[ -z "$time" ]]; then + echo "0" + else + echo "$time" + fi +} +get_ctime() { + ctime=$(mpc status | grep "#" | awk '{print $3}' | sed 's|/.*||g') + if [[ -z "$ctime" ]]; then + echo "0:00" + else + echo "$ctime" + fi +} +get_ttime() { + ttime=$(mpc -f %time% current) + if [[ -z "$ttime" ]]; then + echo "0:00" + else + echo "$ttime" + fi +} + +## Get cover +get_cover() { + ffmpeg -i "${MUSIC_DIR}/$(mpc current -f %file%)" "$COVER" -y &>/dev/null + STATUS=$? + + # Check if the file has a embbeded album art + if [ "$STATUS" -eq 0 ]; then + echo "$COVER" + else + echo "images/music.png" + fi +} + +## Execute accordingly +if [[ "$1" == "--song" ]]; then + get_song +elif [[ "$1" == "--artist" ]]; then + get_artist +elif [[ "$1" == "--status" ]]; then + get_status +elif [[ "$1" == "--time" ]]; then + get_time +elif [[ "$1" == "--ctime" ]]; then + get_ctime +elif [[ "$1" == "--ttime" ]]; then + get_ttime +elif [[ "$1" == "--cover" ]]; then + get_cover +elif [[ "$1" == "--toggle" ]]; then + mpc -q toggle +elif [[ "$1" == "--next" ]]; then + { + mpc -q next + get_cover + } +elif [[ "$1" == "--prev" ]]; then + { + mpc -q prev + get_cover + } +fi -- cgit v1.2.3