Here I will show (in short) how it works. I'll write as I think of it, because of this some knowledge of object oriented and event programming will really help make any sense of this outline.

First when I was told to have it run "commands" it took me quite a bit of thinking of what that means. Eventually I settled on using windows messages to send commands. This allows my application to synchronize audio with any existing programs.

There are three main classes that exist in my application:
EventProcess: This stores information about a process that will be sent commands, it also has functions to send commands to the running process.
EventCommand: This stores information about a particular message that will be sent to a process. It also has a function to send it's message to it's process.
EventTrigger: This is a particular instance of a command. It contains a position in the audio track to be sent.