Hey guys,

I’ve been working on the Max6 compatibility stuff quite a bit.  The fact is, everything in b993 SHOULD work without any changes, but there is apparently a bug in Max6 which is affecting how the patches convert over from Max5.  If you’re interested in the specifics, I started a post over at C74 forums when I discovered this flaw:

If anyone has any further information about this, feel free to chime in there.  I’ve been unable to reproduce the behavior in fresh js instances that I’ve built from scratch with regularity, but it affects all of the scripts that I’ve written in Max5 and then carried over to Max6 (which is very strange indeed).

Anyway, its a non-issue now.  I spent the weekend rewriting the connection routine that is used between m4l and Python for the current Livid project I’m working on, and as soon as time allows I’ll be porting that stuff over to Monomodular.  Basically, I spent my time doing the exact same thing that I did six months ago, when I wrote this exasperated post:

Mirror People

Fortunately, though, I understand Python  (and m4l) a little better now, so I’ve been able to solve some problems that are happening on the front-end by applying solutions to them on the back-end  (an “ass adjustment”, if you will….the sort of thing Dad always use to threaten me with to get me to do my homework).

Since this is going to be a ‘less than trivial’ update, I’m going to try and get the other recently made architectural changes into all of the scripts before release.  Among these changes:

1)  The new connection routine, which further stabilizes editing mods in m4l (read: no more crashes (?)), and works around the js dummycallback issue in Max6 (the cause of  all the misbehavior for those of you trying work in Max6).

2) I’ve discovered a way to run the Monomodular script in the ‘background’, meaning the user won’t need to implicitly instantiate any extra scripts in a Control Surface slot.  If you load a script that needs the Monomodular script, that script will automatically instantiate it in Python, without need for the user to do anything.  For those of you already using this stuff, that’s probably not a big deal, but it will give you an extra slot to put things if you want.  For those new to Monomodular, however, this should help out with some confusion, since this is the number one support problem I have to deal with (even though I feel like it’s pretty well documented).

3) I’ve created a new MonoDeviceComponent for Python.  It is capable of connecting directly to a control surface’s controls, and dynamically changing parameter assignments to its controls.  It’s much faster than doing this stuff through the m4l API, and will eventually get integrated into all of the mods that I’ve built.

4)  I’ve been spending a lot of time creating a new mod (this one is for CNTRL:R currently, but will be ported to the other surfaces as well).  I can’t go into details at the moment, but it will consolidate the functionality of several existing mods and add new functionality to them (TR256, polygome, binary).

5)  I’ve also ported some of the Codec mods (binary and endcoders) to the CNTRL:R, and if time allows I’ll release them with b994.  I’m going to try and change the encoder response on “endcoders” before release, but with the integration of the new MonoDeviceComponent coming, most of the implementation for it is going to change anyway.  I’m afraid you probably won’t see that until b995, though.

6) There might be an extra surprise in store as well 😉


So, you might judge from this laundry list that you may not see anything for a little while:  and you might be right.  I’m not sure how long it will take me to get all of this finished, but I’m shooting for two weeks on the outside (I’ll be touring after that anyway, so it’s kind of my self-imposed deadline).  Since this technology overlaps some of the Livid stuff I’m working on currently, I’d prefer to get it out and tested sooner than later, as we may discover some problems that would affect both.

I appreciate all the offers of you’ve all made to beta test, and I’ll definitely be taking you up on them in short order;  for the moment, however, you can suspend sending bug reports, etc.  Since the existing connection routine is totally fubarred in Max6, nobody is actually getting any further than that.

On the other hand:  if you’re getting a connection with the current build in Max6 and things are working fairly well, I’d love to hear from you.  Since this js callback bug seems to affect some users and not others, it would be helpful to understand why.

Greets and cheers from the foggy summerland of the Northern Cali coast….



~ by amounra on July 9, 2012.

8 Responses to “Connecting…..”

  1. Hey man,
    first off, i want to say thank you for all your hard work on this project. I have gotten Monomodular to work with my simple hardware controllers

    I would like to use your iPad Lemur ports, but I can’t seem to get them to respond to anything. I have the correct ip addresses, using AumPad lemur template (which has the 64 and 256 selectable by tab on top) and the AumPad m4l device. I have selected Aumpad as the control surface with no in or outs in the midi/sync preference.

    Also another thing that is of concern; there is no detail diagram of how the Lemur template is set out; which is the shift, alt, keys button(s)? I have consulted the other template diagrams but none look enough like the Lemur template for me to draw these connections; I have try all sorts of combinations of buttons on the iPad to try to turn it into MonoLinkComponent mode.

    I hope this isn’t too much pressure on your part; I’m just drooling to get my iPad working with this — perhaps another user may find this and be able to answer my questions.



    • Hey Robbie,

      Thanks for the kudos, I’m glad you’re enjoying everything…I can’t wait to have some more time to get the next revision finished!

      I think the problem you’re having is due to using the wrong script. The AumPad and Aum256 scripts are for TouchOSC, whereas the LemaurPad and Lemaur256 scripts are for the Lemur. If it makes you feel any better, I make the same mistake all the time. Getting things connected for the first time is somewhat trying, but persevere, as it’s worth it! I’ll probably be unavailable for the weekend, but drop me a note to let me know how things are going and I’ll respond as soon as I can!

      There’s no pictorial description of the button functions, but when the script is installed and communicating with Lemur, it will label the buttons according to their functionality.

      No pressure, and yes, please ask any questions you have here, as other users do read this blog and will definitely benefit from your experience 🙂



  2. Hello a,
    Just a quick question, is it possible for me to brighten the led’s on my launchpad. When i use polygome, the led’s seem extra dim.


    • Sorry for the delay, I’ve been out of town a lot lately.

      You can change the color scheme on your Launchpad, but it will take a little surgery. There are a couple of different ways to do it if your interested. For changing the color scheme for a specific patch, you’d need to go into the Max editor and edit the color map for the specific Control Surface (this is way easier than it sounds, actually….it’s just a string of numbers, all you have to do is change them to the colors you want). You can also change the numbers in the FlashingButtonElement inside the LaunchMod script:

      COLOR_MAP = [20, 21, 5, 36, 38, 6, 52, 55, 7]

      You might just want to experiment with those numbers to see what they do, but basically those are the colors for each number sent to the script (i.e. color[1] = 20, color[2] = 21, etc).

      Let me know if you need more details 🙂


  3. thanks dude, that WAS easy, led’s for polygome now at full brightness!!!

  4. Hello, I am a new person to your creation and though it seems you have done a really good job at outlining the different requirements needed to make this thing work, I’m apparently below the learning curve.

    My question is once I’m able to enter into monomodular mode, how do I get the device to interact with other mods?

    I’m on windows with launchpad and m4l 5. I’ve downloaded bonjour, python and a virtual midi port but can’t seem to get the right ioflow. I watched the tutorials a couple times and trolled through your wikipage for a week and still im lost.


    • Turns out you need Live 8.3. Next Hurdle!

    • Sorry for getting back to you late….been super busy. So, it works with 8.3? It should work with older versions, I think I built the last version of Monomodular with 10.2.8.

      Did you get things working?


Leave a Reply