Fandom

Music Player Daemon Community Wiki

Hack:mpd-osd.sh

525pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Code Edit

#!/bin/sh
# Display an OSD of the current track
COLOR="#495D94"
FONT="-bitstream-charter-bold-r-*-*-*-250-*-*-*-*-*-*"
osd ()
{
  title=`mpc | head -1 | sed 's/^volume: [0-9]*%.*/(nothing)/'`
  position=`mpc | head -2 | tail -1 | sed 's/.*\(([0-9]*%)\)/\1/'`
   "$title" == "(nothing)"  && exit || echo "Playing:\n$title $position "
}
pid=`ps ax | grep osd_cat | sed '/grep/d' | awk '{print $1}'`
[ "$pid" ] && kill $pid
echo -e "`osd`" | \
 osd_cat -f "$FONT" -p bottom -o 15 -l 3 -A right -c "$COLOR" -s 1 -d 4

A alternative version Edit

A simpler and less CPU intensive version, of same script above:

#!/bin/sh
# Display an OSD of the current track
COLOR="#495D94"
FONT="-bitstream-charter-bold-r-*-*-*-250-*-*-*-*-*-*"
track ()
{
  title=`mpc -f [[[%name%]%artist%]\ %title%] current`
  position=`mpc -f [%time%] | grep "pl" | awk '{print $4 }'`
  echo "$title $position"
}
pid=`ps ax | grep osd_cat | sed '/grep/d' | awk '{print $1}'`
[ "$pid" ] && kill $pid
echo -e "Playing:\n"`track`" " | \
osd_cat -f "$FONT" -p bottom -o 40 -l 2 -A left -c "$COLOR" -s 2 -d 4

Auto-repeating variant Edit

This script shows OSD every time song is changed (may appear several odd times)

#!/bin/sh
# Display an OSD of the current track
COLOR="#495D94"
FONT="-bitstream-charter-bold-r-*-*-*-250-*-*-*-*-*-*"
osd ()
{
  title=`mpc | head -1 | sed 's/^volume: [0-9]*%.*/(nothing)/'`
  position=`mpc | head -2 | tail -1 | sed 's/.*\(([0-9]*%)\)/\1/'`
   "$title" == "(nothing)"  && exit || echo "Playing:\n$title $position "
}
while true; do
   pid=`ps ax | grep osd_cat | sed '/grep/d' | awk '{print $1}'`
   [ "$pid" ] && kill $pid
   echo "`osd`" | \
     osd_cat -f "$FONT" -p bottom -o 15 -l 3 -A right -c "$COLOR" -s 1 -d 4
   echo "idle" | netcat localhost 6600 | wait
done

UTF-8 Edit

If you are expiriencing problems displaying utf-8 tags try using fonts that have iso10646 encoding. For example "-rfx-helvetica-bold-r-*-*-*-250-*-*-*-*-iso10646-*". You can find other fonst using this command:

xlsfonts |grep iso10646

Also on Fandom

Random Wiki