Just to show that this can be user implemented relatively easily, here's a bash script that submits a libnotify notification on track change. It runs every two seconds, and shows the Artist, Album, and Track title. With a little more work, you might even be able to get it to show the album art, but that looked like a bit more work than I felt like doing for a proof of concept. It will run until you kill it, so is suitable to launch with your DE's startup. It's not perfect; it performs some very basic data validation, but folks could easily make it more robust and/or add more functionality.
The script assumes the MC instnace you want to monitor is running locally and that the server is available on the default port; you need to have enabled media network for it to work (I'm pretty sure the web interface depends on it). I tested on Gnome and Cinnamon, and it ran nicely.
I call the script "MC_Notifier". It's provided as is, with no warranty whatsoever, etc., etc. Hope this helps:
#!/bin/bash
mkdir -p ~/.MC_Notifier
touch ~/.MC_Notifier/Filekey.Current
while true; do
wget -q localhost\:52199/MCWS/v1/Playback/Info\?Zone\=\-1 -O ~/.MC_Notifier/Info
mv ~/.MC_Notifier/Filekey.Current ~/.MC_Notifier/Filekey.Old
sed -n 's:.*<Item Name="FileKey">\(.*\)</Item>.*:\1:p' ~/.MC_Notifier/Info > ~/.MC_Notifier/Filekey.Current
diff ~/.MC_Notifier/Filekey.Current ~/.MC_Notifier/Filekey.Old > /dev/null
if [[ $? -ne 0 ]]; then
sed -- 's/\&/\&/g' ~/.MC_Notifier/Info > ~/.MC_Notifier/Info2
mv ~/.MC_Notifier/Info2 ~/.MC_Notifier/Info
ALBUM=$(sed -n 's:.*<Item Name="Album">\(.*\)</Item>.*:\1:p' ~/.MC_Notifier/Info)
ARTIST=$(sed -n 's:.*<Item Name="Artist">\(.*\)</Item>.*:\1:p' ~/.MC_Notifier/Info)
TRACK=$(sed -n 's:.*<Item Name="Name">\(.*\)</Item>.*:\1:p' ~/.MC_Notifier/Info)
notify-send -t 2000 "$ALBUM" "$ARTIST - $TRACK"
fi
sleep 2
done