Building a set-list with Ableton Live

My band uses Ableton Live on stage. We use it not only for playbacks but also for loading and configuring sounds like keyboard and amp modeling presets. In fact we automate everything that needs no musical attitude like switching guitar effects. So when we practiced our stage show with the first five songs, we realized how uncool it was to manually load a new file after every song. So we searched the net for solutions, but no DAW offered anything like a set-list feature. We just read about people copying all their songs in one big Ableton live-set file. This could not be a solution for us as it was unhandy to maintain or to make spontanious changes. So we wanted to have a tool that stores a digital set-list and is able to load our songs from sepreated files. And we wanted to control loading the next or previous song from buttons on the keyboard. So I started to implement the MIDI Automator. 

How does MIDI Automator do the trick

MIDI Automator does the same thing as if you would open an .als file manually by double-click. The operating system opens the file extension with the appropriate program - in this case Ableton Live. If you would double-click a .txt file your OS would open a text editor whereas a .mpg file would be opened in your video player. MIDI Automator does exactly the same thing by performing an exec() system call on the file, so you could also open videos, web pages or Flash animations.

Ableton Live - The difference between Windows and Mac

When opening an .als file on Windows you have to be sure that there is only one instance of Ableton Live at the same time. The Windows version is able to support multiple instances of Ableton Live. So be sure to deactivate multiple instances in Preferences -> Look&Feel, otherwise every song will load in its own Live instance.

The MacOS version of Ableton Live does not have this option as it can only handle one instance.

Therefor the loading process is much faster than on Windows. We made several tests with nearly identical hardware. Ableton Lives version on Windows needs more than three times longer than the MacOS version. Why? 
When you load your next .als file on Windows and watch the task manager, you can see that a second process of Ableton Live will occur though you confiured it for single instance use. The new process will dissappear after about a second and the file will be loaded into the existing process. I guess that Ableton always creates new processes. When configured for single instance use every process watches for exisitng processes to hand over the loaded file and to terminate themselves. This function consumes most of the time when loading files on Windows.