monome: community
news
events
applications
projects
hardware
arduinome
help
trade
ioflow
movie
open
not signed in (sign in / register)
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
M4L Control - A collection of M4L apps and abstractions *Now with Clip Launcher and Device Control*
-
-
CommentAuthorMyr
- CommentTimeJul 16th 2010 edited
M4L control is a collection of M4L apps and abstractions designed to help anyone create their ideal set-up in Ableton Live, using whatever hardware devices they have available.
The idea is that you drop in one M4L device, named M4L Control Hub, which queries the Max 4 Live API for the IDs of all objects within the set, and stores them within appropriately named Coll and Value objects accessible to any other M4L device. The device then uses these IDs to set up appropriately named Send, Receive and Value objects for every major function and value within the Live API.
There is also a collection of satellite apps which communicate with the M4L Control Hub and set-up individual controls and configurations on your hardware device. For instance M4L Device Control, an app which allows you to set the Appointed Device, this is the highlighted device or device with the blue hand, and then control it using 8 macros.
In the pipeline there is also a Clip Launcher, Mixer, new version of Live Clip Chopper and a Midi Input Device for Drum Racks and the like.
Although so far apps can only be controlled by Midi Mapping or the monome, the plan is to develop a mapping device which allows the user to plug in any Midi, OSC or HID device and be able to map any of the controls to any of the functions within the Live API.
This will also allow users to create custom apps for the monome using a few buttons for functions from the Live Mixer, some to control a Live Device, some to Launch Clips and some to Chop Clips. These configurations can then be saved with the live set, but also stored as presets and dropped into any new set.
Although this is still some way off I have abstracted out as much of the code as possible along the way, providing small functionally concise and well commented chunks of code which can easily be edited to create any set-up you'd like, providing you've got a little bit of max experience or are willing to learn.
So as I've finally got a stable base to start building the Clip Launcher and other apps on top of I thought I'd release the main M4L Control Hub device with all of its abstractions. Hopefully it'll prove useful for creating any other device you'd like using the Live API or for learning about it and exploring it.
I've also included the first device I've built with it: M4L Device Control, and a version for the monome.
This app maps the first 8 macros of the Selected Device to faders on the first 8 columns of the monome. For the moment the other functions are midi mappable, however I'm planning a function row with lots of extra goodies, pattern recorders, storing a few device ids to recall quickly without moving around the tracks etc.
To get this to work drop the M4L Control Hub onto any track, then drop either the M4L Device Control or M4L Device Control Monome Patch onto any track.
Click Go on the M4L Control Hub patch to start everything.
If using the monome patch then click the Connect Button.
See bottom of thread for latest download revision. -
-
-
CommentAuthorthealphanerd
- CommentTimeJul 16th 2010
Thanks
Sounds awesome! -
-
- CommentAuthorhousefly
- CommentTimeJul 16th 2010
very cool! wil giv ehtis a try today -
-
CommentAuthorwatson
- CommentTimeJul 16th 2010
looks great. will give it a whirl today! any improvements on timing for LCC? is this something a M4L update could fix? -
-
- CommentAuthorXPM
- CommentTimeJul 16th 2010
You.
Are.
The.
Man.
I will check this out as soon as I get the chance.
ExPairOfMentalists -
-
CommentAuthormaersk (dovemouse)
- CommentTimeJul 16th 2010
amazing :D
let me know if you need any help with patching solutions. i know big projects like this can get overwhelming! -
-
- CommentAuthorquaziks
- CommentTimeJul 17th 2010
I just had a litter of kittens! Can't wait to dive into this after the weekend. -
- CommentAuthorMudo
- CommentTimeJul 19th 2010
...
Downloading.......
It is possible to get colour info from clips? I have an rgb clone and I want to get the feedback in it!
I will help in the remote scripting side... any wiki or web? Let's gonna do it here?
^^
... -
- CommentAuthorMudo
- CommentTimeJul 19th 2010 edited
...
Sooo beautyful work... I'm shocked!
Explain this a bit more please...
"To get this to work drop the M4L Control Hub onto any track, then drop either the M4L Device Control or M4L Device Control Monome Patch onto any track.
Click Go on the M4L Control Hub patch to start everything.
If using the monome patch then click the Connect Button."
One hub at master (ie?) and how many control devices?
I'm excited (but I'm new to max integration... I'm learning the remote scripting side...)
THANKS A LOT!
... -
- CommentAuthorMudo
- CommentTimeJul 19th 2010 edited
...
doubled sorry
... -
-
CommentAuthoremergencyofstate
- CommentTimeJul 19th 2010 edited
Wow it's great! superb work.
I'm utilizing it on my 256 I'm wondering if the second half could be split to serve different functions perhaps? That would be pretty powerful. To have full macro controls of a device on one side and then say, a multi octave keyboard on the other half. -
-
- CommentAuthorlokey
- CommentTimeJul 20th 2010
thanks myr, can't wait to sink my teeth into this! -
-
CommentAuthorMyr
- CommentTimeJul 20th 2010 edited
Glad you're enjoying it guys.
More to come, soon as I build it.
Had a bit of a revelation yesterday about ways to get all the IDs. I've gone back through the M4L Control Hub.amxd and it's subpatchers redoing the way it gets large sections of the IDs. I've switched from using poly objects to just iterating through everything one at a time. It's actually much quicker and takes up less headroom.
There is now no limit to the amount of Tracks, Scenes or Devices it gathers the IDs of. There is a limit of 32 for Device Parameters, if anyone does actually need to go over this it's very easy to change.
It's also set up now so that the two things there aren't live observers available for, Devices and Clips, can now be updated much quicker. You can update the Devices and Parameters on a Track by individual Track. With Clips you can now update by Track and also individual Clip within a Track.
It's possible there's a way to check whether Clips or Devices have been dragged in or all deleted, once I've found it, it'll be possibly to have it all update automatically.
Everything else updates all the IDs appropriately, i.e deleting or adding a track or scene.
The names of a few different things have changed slightly, so make sure you DELETE ALL OF THE OLD REVISION otherwise when using them together some things might not match up. -
-
-
CommentAuthorMyr
- CommentTimeJul 20th 2010 edited
@ Mudo
Instructions for use:
1. Drag M4L Control Hub.amxd onto a Track in Live.
2. If using just a Midi Controller drag M4L Device Control onto a Track.
If using a monome drag M4L Device Control Monome onto a Track.
3. Click the "Go" button at the top of the M4L Control Hub device.
4. If using a monome now click the "Connect" button at the top right of the M4L Device Control Monome device.
You can click the "Open" button on M4L Control Hub to view all of the code, in which you can view most of the IDs within the dark blue coll objects or within message boxes within the dark green patcher objects. -
-
-
CommentAuthorMyr
- CommentTimeJul 20th 2010
@ XPM
Cheers man, cool to know it's you on the forums now. Let me know how it goes.
@ Dovemouse
I'll let you know if I'm having a brain block on any code, but have a look through it and let me know if you can think of anything to improve it, or anything to add.
@ emergencyofstate
I'm planning to build a collection of apps including a Clip Launcher, Device Control, Midi Input, Clip Chopper, Mixer and Sequencer. I'm trying to make them all scaleable to any size, but for my personal set-up the aim is to have the monome split into 4 different 8x8 apps. Which I can switch and route around on the monome by triggering a clip, or scene with that clip on.
@ watson
Still seems a few people are having trouble with aspects of timing in M4L. As far as I can tell there's nothing that can really be done to improve it at the minute. After getting most of this finished I'm going to be building a version of Loop Shifter to work with the monome, loading samples into buffers in max rather than moving the clip play head. It just doesn't seem to be stable enough at the minute. -
-
-
CommentAuthoremergencyofstate
- CommentTimeJul 20th 2010
@ myr - excellent! can't wait. I used the objects for hours yesterday. very cool indeed. -
-
-
CommentAuthorMyr
- CommentTimeJul 21st 2010
Revision 3
--------------
Few updates to the M4L Control Hub.amxd, now on revison 8.
It now collects all Device IDs into one value object, and all Device Parameters into one coll object. Using those it collects the names of all Devices and all Parameters in the format for sending to a umenu.
More to come. -
-
- CommentAuthorMudo
- CommentTimeJul 21st 2010
...
Thanks for the step guide... and check!
http://createdigitalmusic.com/2010/07/21/monome-meets-max-for-live-control-new-album/
Mudo = Mutis Mayfield (at Facebook)
;)
... -
-
CommentAuthorMyr
- CommentTimeJul 21st 2010
Revision 4
--------------
Few more updates to M4L Control Hub.amxd, now on revision 9.
Now collects all Track, Scene, Device and Parameter names.
@Mudo
Ah cheers man, good to see it up on CDM :). -
-
-
CommentAuthorscubasteved
- CommentTimeJul 21st 2010
are there any videos of this in use?
Id like to see it in action before i give it a go.... -
-
- CommentAuthoroivindi
- CommentTimeJul 26th 2010
Looks like a fantastic tool, but is there a way to make it work with Launchpad? -
-
CommentAuthorMyr
- CommentTimeJul 27th 2010
hey. sorry guys been away for a few days.
more updates to come soon, few more big developments in the code. to make it easy to create, mixer and clip launcher type apps.
@ scubasteved
just got myself a cheap webcam, gunna be putting up some tutorials and videos soon as i've finished off a bit more of the code and have the clip launcher and mixer to demo as well.
@ oivindi
to make M4L device control work with a launchpad you could use a monome emulator. if you search the monome forum or ableton live m4l forum there's links, downloads and documentation.
unfortunately i don't have a launchpad and can't really afford to get one, a native launchpad version would however be pretty easy to set-up if you've got one to test on.
only a very small amount of this code is specific to the monome, about two subpatches i think. everything else is setting up re-useable code that is useful for any work with the Live API regardless of what hardware you're using. -
-
-
CommentAuthorMyr
- CommentTimeAug 2nd 2010
Alright it's not quite finished, and if anyone can solve the issue it'd be much appreciated... i probably just need to get some sleep and rethink over it though.
But yes, a load of updates on the M4L Hub Patch, came to quite a few realisations about the M4L API, mainly that any IDs you request or get only work in the patch they are first requested in.
And then there's the Clip Launcher. Just drop it in after M4L Control Hub, Set the Size of the Clip Grid, set-up the monome connection and Click Go. Note you need to click the Get button on M4L Control Hub if you haven't already initialised it.
The column to the right of the Clip Grid Launches Scenes, the row below Stops Tracks, the bottom right button Stops All Clips.
I'm going to be adding some Function Rows with all the goodies possible, and hopefully making it customisable.
Let me know what you think. -
-
-
CommentAuthoremergencyofstate
- CommentTimeAug 2nd 2010
Question: I've tried this (M4L Device Control Monome) with a Drum Rack instead of an Instrument Rack and it didn't work. They both have the same 8 macro setup...is it possible? -
-
-
CommentAuthorMyr
- CommentTimeAug 4th 2010
Revision 5
-------------
Got the Clip Launcher sorted now. Just going to be adding some function rows, although I'm considering making an app for all the main live controls, tempo transport etc, and for control over these apps, and which is displayed.
Device Control should now be working again. It's due an update now I've incorporated 4 devices into the Control Hub patch. So I'm looking to include the ability to store 4 different Devices from the live set, which you can switch between easily and use one knob to control knobs on all four at once.
Control Hub has a few more updates. Clicking the View code button now also opens up two helper/display patches which just show you all of the receive, send, value and coll objects used to store all the IDs and values.
Just starting work on a Mixer now :). -
-
-
CommentAuthorMyr
- CommentTimeAug 4th 2010
@ emergencyofstate
try the latest version. i just tested it dropping a drum rack in clicking the refresh devices button on M4L Control Hub and it worked fine. -
-
- CommentAuthorbeatskk
- CommentTimeAug 5th 2010
this looks very promising.
can't really figure out how to set up monome device control. i can only make it control the first device in selected track (selected in live, not in the device control), and if i select the track holding the device control, it changes the size parameter to the default 64 (i use a 128). overall, the setup is not very intuitive.
when setting the smooth parameter to anything other than 0, i can get my cpu usage to go as high as 80%. i'm testing on a fairly old macbook, but it still seems a lot. -
- CommentAuthorjdmonteagudo
- CommentTimeAug 5th 2010
Hi, Myr
Great work. I'm playing with the clip launcher but I can“t find out how to launch scenes or stop clips. It seems right column and botton row are not working. I'm using release 5.
Thanks -
-
CommentAuthoremergencyofstate
- CommentTimeAug 5th 2010 edited
@Myr - nice. i've got it controlling an audio effect rack now. excellent.
pretty rad! I actually have clip launcher and device control working together. i have a 256 and as long as I make sure Live has 8 tracks before my tracks holding clips start, I can have macro device control on one side of the monome --- then 8 tracks of clip launchers on the other :)
@ jdm - I've been stopping clips by triggering an empty clip slot in that column. You can record to new clips this way if you're track is record enabled. The bottom row works as a stop for me. Right column doesn't tho. -
-
-
CommentAuthorMyr
- CommentTimeAug 6th 2010
These apps are all effectively in Beta testing at the moment. I could have waited 'til it was all finished and fully functional, but I think it helps to have people testing along the way and I thought the abstractions and code I've written along the way could hopefully prove useful to anyone diving into the Live API.
So apologies for things not being entirely finished, not labeled, buttons a bit mixed up and there, as yet, being no video tutorials or readme/manuals.
They are all on their way, as soon as I've finished the main Live apps I'll be attempting my first video tutorial.
@ beatskk
i'm not entirely sure what you mean?
to get device control to work, make sure you've downloaded the latest version and deleted all of the old revisions then:
1. drop M4L Control Hub onto a track then drop M4L Device Control Monome onto a track.
2. set the monome settings on M4L Device Control Monome, and click connect to bang the prefix through to monome serial.
3. check Device On button is yellow on M4L Control Hub then click the Get button on M4L Control Hub.
You can now use the + and - buttons on M4L Device Control monome to move devices, they can be midi mapped or key mapped. Function rows to come.
You can also select any device with your mouse or keyboard and it'll show that device on the monome.
As for the smooth parameter it's a really simple and light-weight solution, the same used by tehn in his slide app in monome base. i personally with a small set and all of the M4L Control devices in get my cpu usage around 40% and that's with audio samples loaded to RAM. sounds like you've got something else going on to make it do that.
@ jdmonteagudo and emergencyofstate
the Width and Height number boxes in the GUI actually set the size of the Clip Grid. Scene Launch and Stop Buttons are not included in this.
So if you wanted to use the app on a 64 with Track Stops and Scene Launches you'd set the Width to 7 and the Height to 7. 15 and 15 for a 256, etc.
If i've been an idiot and it actually isn't working let me know, don't have my monome to hand but i can have a look through the code.
@ emergencyofstate
i'm planning some kind of routing app to allow me and others to use all of these apps at the same point. for the moment you can change the prefixes of each device and use some routing software such as monoroute.
i think i might also include a way that all the apps share the same prefix but you can press buttons, midi map, or automate clips to change the offsets of these apps or make them take control of one area. from tests building an OSC router using udp send and receive in max4live doesn't work fast enough.
so it's either use the same prefix with offsets and that for each or use different prefixes and some external routing software. not sure which one i like the idea of more...? -
-
- CommentAuthorbeatskk
- CommentTimeAug 7th 2010
i've done exactly as you instructed, but no matter what i try, i can only select the device i want to control by clicking on it (blue hand). the +1 and -1 buttons do nothing.
oh well. since i seem to be the only one having problems, it must be on my end. sucks though, because it would be a nice tool to have. -
-
CommentAuthorMyr
- CommentTimeAug 7th 2010
@ beatskk
sorry to hear that. i'm not with my monome at the moment, but i'll try and test it out tomorrow or monday and check I haven't just made a mistake.
have you got any control surface scripts loaded in the midi pane of the live preferences window?
i haven't actually tested it out with any scripts loaded. i can't see why but there's a possibility there might be a conflict or a script trying to override the selecting devices functionality. -
-
-
CommentAuthordrhiggens
- CommentTimeAug 8th 2010
I have really like this project so far I think its coming along really well. I am excited about seeing a little more documentation for the abstractions too. Im not the most seasoned max user. But I need little more then a push in the right direction and a and a basic understand ing of how to make the abstractions work for me to start creating patches with them.
Needless to say I have been watching this project closely and and really excited with what I have seen so far.
a couple of notes I have from tinkering with it.
I have also had a bit of trouble with the +/- buttons not cycling through objects but I can key map them and that works to switch between them.
and i can get it to work just right with my 64 kit. but my 256 only the left most side seems to work and im thinking im just missing a simple thing somewhere it would be sweet if I could split in in half or quarters to control 2 racks side by side or rack and sequencer and so on.
really nice work so far, I am endlessly impressed with the amount of work you have put into this. : )
Scott -