Evie Litherland-Smith
be1d5fa798
Save reference for later Enable upower daemon and add simple bar with the essentials for now, TODO more later
105 lines
1.7 KiB
Bash
Executable file
105 lines
1.7 KiB
Bash
Executable file
#!/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
|