thanks for your positive feedback! As you have a quite complex setup with 2 players (squeezelite and shairport) on each device, it gets difficult to auto-mute one player as soon as the other player plays something. On some soundcards it is even not possible to give two players access to the soundinterface at the same time (even if they are not playing anything).
The only thing that might work (besides stopping music manually), would be to write a script that checks if the current squeezelite instance is playing something (make a http-Request to the squeezebox server for the desired squeezelite player or watch the CPU Usage of squeezelite) and watch the CPU-Usage of the task shairport and decide what to do. Both checks should be within a small C-programm (checking every 5 seconds) that starts a shell-script, that stops either shairplay or squeezelite (depending on a config file) on the device and restarts it later on. If you are using this method you must remove the cronjob (running under user “pi”) that automatically starts the audioplayers.
Well – it sounds quite complicated and it is 😉