I'd like to re-write this and bring it into Live. My aim is to have close integration. For example, rather than it's own pattern storage, it should just use clips.
What I need help with is which path to go down, as there seem to many:
- Pure M4L device. Given the others I see on the Max4Live site, I'm guessing this is doable, though it isn't clear to me that there are objects that will let me read/write clip data. (Somehow I'm failing to find doc of all the Live objects in Max... is there an on-line guide?) - Downside is that for things like modal UIs, I'm guessing patches are going to be horribly complex.... and I'm a programmer by day, so...
- M4L device, with much logic written as a Java element? Or JavaScript? M4L seems to support both - but again, I haven't found what Live interfaces exists from within each of those two languages. Is one better or more complete than the other?
- M4L device, with external code (in C, C++, or hey, even Haskell) - I'm guessing there are no APIs into Live from code compiled and included like this, so I'm guessing this way would be quite painful, having to wrap all interaction with Live in some custom protocol to my compiled code.
- Skip M4L, and just write a Remote Script. This isn't perhaps as flexible, and again, the APIs from Remote Scripts into Live don't seem to be obviously public - but I suppose I could reverse engineer them...