How do I make music finish before stopping playback?
@portal2companioncube: Apart from the soundscapes' operator_stacks that TeamSpen mentioned which are pretty complex, you could try to mount a system based in several ambient_generics and to fade them in and out.
Via some triggers, you can fire the FadeOut output to the first ambient_generic that is playing music. Don't forget to add a number of seconds in the 'With a parameter override of' output dialog box for the output to work out 
Then use the FadeIn output on the 2nd ambient_generic to be played.... and so on. Go changing the number of seconds for each fade in-out in order to create a good transition between the 2 music tracks, avoiding any silence gap between them.
(Remember that you also have the Fade in and out properties into your ambient_generics where you can also set them to smooth the start/stop of yourr sound file)
Two Tips:
- In order to cut out completely each music track, remember to add these 2 outputs to the triggers for each of the sounds played after you know the fade out has ended up:
- OnTrigger > [ambient_generic_name] > Volume 0
- OnTrigger > [ambient_generic_name] > StopSound
-
Remember to:
-
Tick the flag "Play everywhere" on your ambient_generics in the case you want them to be the main music sound.
- Untick the flag "Is NOT looped" in order to make your sound to resume playing after a quickload/loadgame.