aboutsummaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rwxr-xr-x.config/eww/scripts/music_info104
1 files changed, 104 insertions, 0 deletions
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