After giving the code a good looking at I have a few question. (I wish I had a second pi for testing, I like this)
1. If I am reading this right, the slave is a mirror of the master, correct?
2. What if any lag time is there to the slave?
3. Should line 365 "s.bind(('',0))" have a 0 for the port? I thought you needed to bind it to _PORT, or is that only for listening and not broadcasting?
4. More a statement then a question, but....., couldn't you move the socket setup statements and the variable streaming from play_song() to just after you set _NETMODE and _PORT, removing the need to use the global statements for s and streaming?
Not an issue just a thought.
5. Strait connection with cat-5 right? I wonder if we could get it working over wifi? It's not a whole lot of data we're sending. But there might be a lot of lag over wifi.
Like I said before this code is simple, but it does so much. I need another pi.
Wait I'm using linux, I have a few extra cat-5 cables around, and a second nic. Maybe I can help test this out!!!!