After 30 seconds, make it fire a relay that with make another event trigger after another 30 seconds.
Or just a simple VCE loop with a switch case.
your best bet is a delay lasting the length of the music clip, but clients that weren't in range at the start of the loop will just have it cut off in the middle
This would be fine, because there is a greater chance that if the players are within the music range long enough to hear the cut off, then they are in range for a longer period of time, and thus would only have to experience the cut-off once, and everything would be fine after that. Though, it would be good to include a delay period between the end and beginning of each consecutive song, just in case there is any unwanted lag.