To give you an idea of where to start...
Much depends on what version you're using. The newer versions are supposedly JSON based.
I use the older version, which includes a telnet interface. If you have the older version, try the following, with your client connected and playing.
telnet YourServerIP 9090
display ?
It'll return a line which will need a bit of parsing, but will contain the title of the currently playing song.
If you don't like working with the command line: use code to pull the following URL:
http://ServerIP:9000/status.txt
In either of the above, the data is a "pull". I'm not sure if the server has a "push" available.
The telnet bit, I got from a document that I've had for years. Not sure if it's available online anymore. The URL piece: I looked up on: http://www.fact4ward.com/blog/not-done-yet/squeezebox/
Hope this helps.
Additionally, a "push" function might be created by using Liquidsoap to monitor the currently playing song and send a growl msg (or similar) when the song changes. I need to look at this. – joat – 2013-07-20T01:08:42.400
Your question got me interested in the Liquidsoap solution. I now have a short liq script that monitors Icecast for the start of a new song and puts a pop up on my screen with the band and title, via notify-send. Yell if you want it. – joat – 2013-07-28T05:49:59.103