i was going to create what is basically an API to allow others to code their own midiboxes that integrate with live, but i think that it's a lot of work for so few programmers, and it will leave a lot of people out of the loop. also, it's hard to decide how far to go with it. there's so many forms of control and communication that i've been able to expose to a midibox, and i don't know when to quit. it might be better to tailor this to specific projects.
instead i've decided to turn this into a modular system. the goal is to create a set of midiboxes that do different functions for live. master control, clip matrix trigger, instrument programmer, and perhaps even pattern/sequence designer. that way many people can use this technology (maybe kits?), and only use what they need. for instance, if your need is to control the master section of live, and the mixer sections for 8 tracks, you can build the midibox designed for this. if you need 16 tracks, you can build a second one. same for clip control, perhaps a midibox designed for 8x8 clip triggering, or a second for 16x8 clip triggering. in the end, you'd have a scalable set of midiboxes in pactec pt-10 cases that only do what you need, all of which automatically and completely integrate with ableton live behind the scenes using liveapi. sure, you'd have a lot of separate boxes to build, but you can use only what you need at the time you need them, instead of one big, difficult to build box that controls all functions, but is more generic.
so far, here's the ideas for the different midiboxes, all in pt-10 cases:
master section: designed to the mixer section of 8 tracks, and also master control. for the tracks you'll be able to control volume, panning, eq, and various other functions perhaps. for the master section, you can of course play/stop and control view (session/clip). i suppose scene triggering could be added to this. if 8 tracks isn't enough, you can bank them or build a second one that will control the next 8 tracks.
clip trigger: a 9x9 grid of buttons (perhaps livid's? for clip control. 8x8 for clips, a row for scene trigger, and a row for clip stop (if necessary). bi-color leds will show if a clip is present (led off if not), playing (one color), or stopped (another color). a blinking led (synced with beat time ;)) will show a crip is going to be triggered. your set of clips will be highlighted on-screen by ableton's red box like what you see with the akai controller. the set of clips to be controlled can be moved around via rotary encoders or buttons, and the leds will follow where you go automatically. the clip names can even be brought into the midibox, but i think it would be a problem trying to find a kit ready lcd that's big enough to show names for an 8x8 grid.
instrument programmer: it's possible to scan ableton live for the available instruments on a track, and a box could be created that automatically assigns itself to the available controls. some initial setup would be necessary, such as assigning the correct knobs and buttons to what you see on screen. but once this setup is done (perhaps configurations can be stored to an sd card), you can drop an instrument on a track and have the midibox automatically assign to the controls you want. parameter names could even be brought onto an lcd. if you select a different instrument in live, the box can automatically follow you and reassign its controls to whatever instrument you've selected. this would be the most difficult to code and the last i would build.
just a few ideas i'm throwing out there, i still believe that using liveapi is the way to go because you can integrate most of it without any kind of setup and no additional software layer (like MFL). the midibox can just read what live is doing and set itself up, and also automatically control what you want in live. a modular system allows you to use only what you need, and also simplifies programming because instead of making it all universal, i can tailor the code to specific needs. also a modular system will be scalable, so if you need 16 tracks, just build a second box in a compact pt-10 case. all boxes can plug into a hub using usb and communicate directly with live (and of course, live will communicate necessary information to ALL midiboxes, so if you change a track bank from the mixer box, the clip box and red grid will follow). these will all run on core32 for various reasons (mostly because core32 is f'n awesome).
i hope any of this makes sense, i got a little tipsy last night and it's carried over into today ;)
edit: nothing major, a lot to make tho. but i don't feel like it.
Edited by ultra, 18 September 2010 - 16:47.