1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
#!/bin/bash
message="/me is listening silence now"
nowPlaying="$(qdbus org.mpris.clementine /Player GetMetadata 2>/dev/null)"
if [ -n "${nowPlaying}" ]
then
version="$(qdbus org.mpris.clementine / Identity)"
nlength="$(qdbus org.mpris.clementine /Player PositionGet)"
nlength=$((nlength/1000))
title="$(echo "${nowPlaying}" | sed -ne 's/^title: \(.*\)$/\1/p')"
artist="$(echo "${nowPlaying}" | sed -ne 's/^artist: \(.*\)$/\1/p')"
if [ -n "$(echo "${nowPlaying}" | sed -ne 's/^audio\-bitrate: \(.*\)$/\1/p')" ]
then
bitrate="$(echo "${nowPlaying}" | sed -ne 's/^audio\-bitrate: \(.*\)$/\1/p')"
else
bitrate="0"
fi
album="$(echo "${nowPlaying}" | sed -ne 's/^album: \(.*\)$/\1/p')"
if [ -n "$(echo "${nowPlaying}" | sed -ne 's/^year: \(.*\)$/\1/p')" ]
then
year="$(echo "${nowPlaying}" | sed -ne 's/^year: \(.*\)$/\1/p')"
else
year="0"
fi
if [ -n "$(echo "${nowPlaying}" | sed -ne 's/^time: \(.*\)$/\1/p')" ]
then
length="$(echo "${nowPlaying}" | sed -ne 's/^time: \(.*\)$/\1/p')"
#The length sec part
secv=$(($length%60))
if [ ${secv} -lt 10 ]
then
sec="0${secv}"
else
sec="${secv}"
fi
#The lengt min part
minv=$(($length/60))
if [ ${minv} -lt 10 ]
then
min="0${minv}"
else
min="${minv}"
fi
else
length="00"
sec="00"
min="00"
fi
#elapsed time sec part
secn=$(($nlength%60))
if [ ${secn} -lt 10 ]
then
nsec="0${secn}"
else
nsec="${secn}"
fi
#elapsed time min part
minn=$(($nlength/60))
if [ ${minn} -lt 10 ]
then
nmin="0${minn}"
else
nmin="${minn}"
fi
if [ ${length} == "00" ]
then
progressbar=""
else
# % of the elapsed time
rate=$(((nlength*100)/length))
# progressbar
progressbar="["
nrate=$((rate/10))
for ((i=1;i<=${nrate};i++))
do
progressbar="${progressbar}-"
done
progressbar="${progressbar}|"
for((i=1;i<(10-nrate);i++))
do
progressbar="${progressbar}-"
done
progressbar="${progressbar}] "
fi
message="/me is listening to: ${artist} - ${title}"
if [ -n "${album}" ]
then
message="${message} (${album})"
fi
if [ ${year} -gt 0 ]
then
message="${message} from ${year}"
fi
message="${message} [${nmin}:${nsec}/${min}:${sec}] $progressbar[${bitrate} kbps](${version})"
fi
echo ${message}
|