#!/usr/bin/env bash # scripts by adi1090x ## Get data STATUS="$(mpc status)" COVER="/tmp/.music_cover.png" MUSIC_DIR="$HOME/Music/iTunes Media" ## 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