dotfiles/scripts/current_song

21 lines
843 B
Plaintext
Executable File

META=$(qdbus org.mpris.MediaPlayer2.mopidy /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Metadata)
TITLE=$(echo "$META" | grep title | cut -d " " -f2-)
ARTIST=$(echo "$META" | grep artist | cut -d " " -f2-)
FILE=$(echo ~/.lyrics/$ARTIST - $TITLE.txt)
TRACKLIST=$(cat "$FILE")
POSITION=$(qdbus org.mpris.MediaPlayer2.mopidy /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Position)
PLAYING="Intro"
for TRACK in `echo "$TRACKLIST" | grep -oP "\[\d{2}:\d{2}\]" | sed "s/\[//g"`; do
MIN=$(echo $TRACK | grep -oP "\d{2}(?=:)" | sed 's/^0*//')
SEC=$(echo $TRACK | grep -oP "\d{2}(?=])" | sed 's/^0*//')
TIME=$(echo "$((MIN*60*1000000+SEC*1000000))")
if [ $POSITION -gt $TIME ]; then
PLAYING=$(echo "$TRACKLIST" | grep "$TRACK")
fi
done
echo "$PLAYING"