Advertisement
Guest User

Clementine "Now Playing" Eiskalt DC++

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