M4L Control Monome - Now with Clip Launcher + Clip Chopper

Learn about building and using Max for Live devices.
Post Reply
Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by Myralfur » Fri Jul 16, 2010 3:59 pm

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.

Download here:
http://post.monome.org/?PostBackAction= ... entID=3439
Last edited by Myralfur on Tue Sep 07, 2010 5:22 am, edited 1 time in total.

joaoorecchia
Posts: 61
Joined: Sun May 03, 2009 3:25 pm
Location: Johannesburg, South Africa
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by joaoorecchia » Fri Jul 16, 2010 5:59 pm

Thanks again Myralfur! I've been using your Nanokontrol remote script for a while in combination with some M4L stuff now. This is a great step towards full customisation.

One thing I noticed, with your M4L Device Control r2.amxd, it doesn't seem like it understands negative minimum parameter values, like the pitch on Looper or coarse and fine on frequency shifter for example. It only goes down to zero.

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by Myralfur » Sat Jul 17, 2010 7:58 pm

@ joaoorecchia

cheers man, hope you find this of some use too.

i've only tested it on racks of devices, didn't realise that would be an issue, but i'll have a look.

@ johbremat

it's quite easy to change what app is focused on a monome whether using the prefix system built into monome serial or using an external routing app like MonoRoute.

a few different apps have emerged with different systems of doing this, whether button presses on the monome or other midi controllers, or what track is selected in live. with a new version of monome serial in development there's still a lot of discussion about how it should work, hopefully a coherent protocol useable by all apps will emerge.

so although there are ways to do what you want now with the apps available it may require a few work-arounds and not work with all apps. with M4L Control I am eventually going to try and provide an app for handling all monome communication, routing and changing apps however you like. but with what the patch already does it'd be very easy to create a small patch using the selected track to change monome apps and provide just the functionality you want.

it doesn't matter what messages the vestax script is sending out. as long as it selects and highlights the track in Live then that can be picked up in M4L, or even just plain Max5 without M4L using LiveOSC, and then used to bang a certain apps prefix to monome serial, or an app number to MonoRoute, to change the app focused on the monome.

with M4L you really could build any means of changing apps you wanted. i'm planning a way of changing apps using live clips on a midi track, you could do it with notes in the clip or by automation, changing apps whenever the clip is triggered or as you go down a set triggering scenes.

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by Myralfur » Tue Jul 20, 2010 4:42 pm

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.

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.

Download here: http://post.monome.org/?PostBackAction= ... entID=3467

Monome Forum thread here: http://post.monome.org/comments.php?DiscussionID=8792

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by Myralfur » Wed Jul 21, 2010 4:25 pm

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.

Download here: http://post.monome.org/?PostBackAction= ... entID=3472

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by Myralfur » Wed Jul 21, 2010 5:23 pm

Revision 4
--------------

Few more updates to M4L Control Hub.amxd, now on revision 9.
Now collects all Track, Scene, Device and Parameter names.

Download here: http://post.monome.org/?PostBackAction= ... entID=3476

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by Myralfur » Wed Aug 04, 2010 12:48 am

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 :).

Download here: http://post.monome.org/?PostBackAction= ... entID=3518

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control - A collection of M4L apps and abstractions.

Post by Myralfur » Tue Sep 07, 2010 5:20 am

wow it's been a while.

i've been pretty busy this past month getting ready for an album launch club night last weekend. although i haven't been able to spend as much time as i'd like coding and getting M4L Control fully functional and polished off - i had to actually get down to making some music ;) - i have done quite a lot of work making the app gig ready and designing a paging and hub/routing system to use with the apps i've built so far.

i used this latest revision at the gig on saturday doing an hour long set and it all went smooth and felt really good to use.

for various reasons, mainly considering the latency sending data between two m4l devices, i've decided to merge all the apps into one master m4l device.

i call it M4L Control Monome.

as it's still in development and this is probably the least polished of the releases quite a few numboxes in the different tabs in the UI need to be filled to get it to work. so i've included some presets you can drag in depending on your monome size which set it up for paging between apps or having a quadrant or hub like set-up for a 256.

after dropping the preset in check the monome connection setting on the far right and click Connect.

click the Get button in the top left corner.

then click the Set button directly underneath it.

The app should now appear on your monome.

To page between apps you can midi map the App Page numbox in the monome connection area of the UI, you can automate it with clip automation also.

You can also hold down the button in the bottom right corner and then press 1 of the first 6 buttons of the rightmost row to switch apps.

The first four buttons of the row underneath Track Stops in the Clip Launcher now move around the grid. If you have the LiveOSC midi remote script installed the red box will appear. The 5th button along is a shift button. when held down the arrows move by 5. also when held down pressing a scene launch selects that scene, pressing a track stop selects that track, and pressing a clip makes that clip visible in the detail view at the bottom.

There's also now a version of Clip Chopper included. Sub-looping is currently disabled, and the tabs in the UI should give you some idea of what i'm going to add next.

Lots of improvements and work still needs to be done, but hopefully this'll give you an idea of where i'm trying to go with this, and it's pretty fun to play with too :).

Download here: http://post.monome.org/?PostBackAction= ... entID=3639

amounra93
Posts: 432
Joined: Sat Jan 24, 2009 8:16 pm
Location: Arcata, CA
Contact:

Re: M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by amounra93 » Tue Sep 07, 2010 7:19 am

I'm very interested in what you've got going on...I'm doing kind of the same thing. I'll check it out in the next coupla days now that I have a little time on my hands. Cheers :)
http://www.aumhaa.com for Monomod and other m4l goodies.

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by Myralfur » Wed Sep 08, 2010 10:53 pm

cheers man :).

hope it's of some use to you, there's a lot of back end work here that's not specific to monome.

the routing/hub system is nothing fancy, a very simple and quick workaround.

hoping to expand it so you can have one app appearing on multiple pages but with different sizes or settings on each.

so you could switch between using a 8x8 clip launcher with a few other apps around it, then switch page and look at a big 16x16 clip launcher.

but yeah, can't wait to check your work out too, just managed to borrow my friends launchpad, so hopefully i'll get a chance to check it all out when i'm back from holiday.

i can also sympathise a lot with what you've been saying on ur thread about forgetting to tell people stuff and being slow on the documentation. been building this for so long i forget some of the things it does or what you need to set-up exactly, heh.

Surreal
Posts: 560
Joined: Wed May 17, 2006 1:18 am

Re: M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by Surreal » Thu Sep 09, 2010 1:57 pm

Myr, check out max mono config. it has the 'multiple pages, different settings' capability you mention.

nice stuff here!

ST8
Posts: 259
Joined: Mon Jan 26, 2009 12:55 pm

Re: M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by ST8 » Sun Sep 12, 2010 10:52 am

Finally on m4l, looking forward to trying these out :)

Myralfur
Posts: 114
Joined: Wed Feb 18, 2009 4:53 am
Location: London, England
Contact:

Re: M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by Myralfur » Sun Sep 12, 2010 6:05 pm

@ st8

brilliant. looking forward to seeing what you think of it. pretty much inspired and based on LiveControl in python. just wanted to port it over to m4l so i can work on it and make changes easier, couldn't fully get my head around python with the time i had.

there's been a few changes, from what was written in posts above. it's now all contained within one device called M4L Control Monome. it has a tab system in the ui so you can look at the clip launcher, chopper and device control. more to come when i get the time.

here's a posting from the monome forum detailing some problems with the presets i included and how to set up the device without them.

sorry for the mix up guys.

i've never used presets before for m4l devices. i assumed they worked just like presets for an audio rack, or operator etc.

so you could just drop the preset file onto a track and it'd get going.

apparently not...

maybe it needs to be in the library? maybe i need to include it as some kind of live pack which you can then install? not too sure yet.

either way the M4L Control Monome r1 device should still be working and although a few numboxes need to be filled in to get it working, once you've done this you can save the live set, or hopefully make a preset yourself and it'll all save.

so to get M4L Control Monome working from scratch with no preset you need to:

1. drop M4L Control Monome r1.amxd onto a track in Live.

2. check the monome connection area on the far right, check it's all good and you've got monome serial open, then click connect. the preset should get sent to monome serial if it's all good.

you now need to go through the tabs in the UI setting up settings for each app.

3. click on the first tab, Offsets/Select. use the live.menus to make sure the tracks, scenes and clips are numbered correctly, or you can enter them yourself. but clicking on one of the options in the three live.menus above the sets of numboxes will set them automatically to tracks 1-16, scenes 1-16 and clips 1-16 across 16 tracks. you can also set the clips to either Playing or Scene mode.

4. click the second tab ClipLauncer, set what size you want the clip grid to be. for a 64 i'd suggest 7 wide and 6 high. for a 256 15 wide and 14 high. make sure the Link button next to 'Offsets' is turned on.

5. click the third tab ClipChopper, set the number of slices you want the clips to be divided into and set the amount of clips you want to see. for a 64 i'd suggest 8 slices and 6 clips, for a 256 16 slices and 14 clips. you also need to set the quantize and the length of pattern recs, although there seems to be a bug with them at the moment.

6. nothing needs to be set on the DeviceControl tab but you do need to check the Devices On/Off button on the far left of the M4L device is turned on for it to work.

you now need to set the apps to the pages and positions you like.

7. go to the monome connection area on the far right of the device and set the page to 0 and app and turn the 'app sel' toggle on.

8. go to the ClipLauncher tab and set it to the app page you'd like, the app size you'd like and the position on the monome you'd like.

9. do this for the ClipChopper app in it's tab.

10. do this for the DeviceControl app in it's tab.

note: for a 64 i'd advise setting them all to app size 64. setting the position to top-left and setting the app page to different numbers, i.e 0, 1 and 2. for a 256 you could set them all to the same app page, with the app size of each 64 but change the position on the monome to different quadrants.

11. now click the big Get button at the top left corner.

12. now click the Set button beneath that.

phew... it should all now be working and be on ur monome.

the presets i created basically just set those up and were supposed to load the settings on dropping them in. maybe if you try hot-swapping the presets once you've dropped the device in...?

hope that helps and some of you guys can get this working.

Gravis
Posts: 104
Joined: Sat Jul 28, 2007 4:47 am

Re: M4L Control Monome - Now with Clip Launcher + Clip Chopper

Post by Gravis » Sun Sep 12, 2010 9:40 pm

Hey Myralfur

Just checked out your patch here mate, i've gotta be honest, i've followed your instructions, but i have no idea how to control half the things you're put there! haha i hope you get a tutorial video up explaining the clip launcher and clip chopper up soon as i'd love to give it a good go.

I'm in London as well btw :)
iMac G5 2.16 | Echo AudioFire12 | Xone 92 | Live 8 + M4L | Trigger Finger | Monome 256 | Kenton Killamix Mini | Truth 3031A

Post Reply