Utterly brilliant. I knew some of these techniques - if you use Max For Live to control things, you just HAVE to use the Loopback technique all the time - but it's amazing how integrated your technique is. I'm going to start using that for my very next show!
That said, it's a crying shame that we have to spend so, so, so much time and brainpower to do something so utterly trivial as a set list...
We should be able to simply specify a list of songs on-the-fly.
This is hardly unreasonable. I was able to do this perfectly well when I first started MIDI sequencing back in the 80s - my footpedal let me create and edit setlists on-the-fly, and then the sequencer would just respond to its program changes. And I honestly used this in shows... "Oh, friendly musician X showed up, let's do these songs he knows!"
I chatted to some people when I was in Berlin... one of the things that I learned was that the "single document" structure of Live is built-in at all levels, so Ableton apparently believes that it's always going to be impossible to have more than one document open at once.
This however shouldn't prevent them from creating a higher level document structure that allows you to hold multiple songs at one time. But, well, I got the impression that the code was a nightmare...
DISCLAIMER: "All friend of friend stuff. Rumors, rumors, rumors!"
That said, this summer, I actually took my commercial cross-platform digital audio application and made it multi-document. It wasn't easy - it took me a couple of months, part-time - but I was able make the change gradually without any regressions ("oops, that didn't work"!), by having a mechanism to pass around a document - or retrieve "the frontmost document" - and slowly moving to that, while only having one document actually existing at all times. Finally, when everything was "document-aware", I switched to two document, debugged the resulting bugs (which were actually surprisingly few) and there we are. I'm writing in C++, same as Ableton is...
So it isn't impossible - and really, Ableton should do it. People have been asking for this feature on this forum for over five years now...