Bear with me on this as I'll try to explain my situation as clearly as I can —
My game has background music associated with different sections of the "world." As the narrative structure of the game isn't linear, it's possible for the player to approach different areas in different orders; to compensate this I have a macro that fades out the currently-playing audio
<<audio ":playing" fadeoverto 2 0>>
and then the background track associated with the zone comes in on top
<<audio "CharacterCreation_A" loop play>>
This works fine except that I also have audio effects associated with clicking buttons and other UI elements, and I belatedly realised that they are also impacted by the :playing catchall — because duh, of course they would be.
My question is — is there a better way that I can do this in order to fade out the background music but not disrupt the UI audio effects? The only way I can think at the moment would be to hard code all of them like
<<audio "CharacterCreation_A" fadeoverto 2 0>>
<<audio "Zone_A" fadeoverto 2 0>>
<<audio "Zone_B" fadeoverto 2 0>>
<<audio "Zone_C" fadeoverto 2 0>>
etc etc so that it covers any tracks that might happen to be playing at the moment, but that's tedious and I'm hoping there's a smarter way to manage it. Maybe with the playlists? Can, for example, I put all of the audio in a playlist and trigger a fadeoverto macro on that playlist
even if the audio track is playing separately to the playlist itself?
Let me know if this makes no sense.