Help on how to port some code to work inside Live

Before I was using Live I wrote my own percussion step sequencer: It uses a Launchpad as an interface and generates MIDI out.
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...
 
Can anyone help shed some light on which path might work, and where I can get a sense of the Live integration APIs available?
 

2 followers

mzero 2 months ago | 0 comments

1 answer

  • mcbpete
    contribution
    184 answers
    204 votes received
    1 vote

    Maybe check out something like Sigabort's Gridlock m4l device that'd done a bulk of the hard work for you - http://sigabort.co/gridlock

    2 months ago | 0 comments

You need to be logged in, have a Live license, and have a username set in your account to be able to answer questions.

Answers is a new product and we'd like to hear your wishes, problems or ideas.