Archive for January, 2012



January 25, 2012

I’ve made quite the mess of things with this most recent revision.


No worries, you’ll be happy with the end results.  But its taking longer than I anticipated (as it always does….why didn’t I anticipate that?), as I got over-zealous and made some pretty major changes to the underpinnings of some of the main scripts, and now I’m left to work out all the bugs.


The good news:  b993 is going to have some pretty significant improvements to, well, everything.  The bad news:  it’s going to be probably another week before I get everything finished.


You can look forward to improved functionality for Device selection in all the scripts (read: it will work the way it was originally intended to), improved performance for all the MIDI-generating mods (no more stuck notes when changing channels), and an extra bonus which won’t really be utilized until later versions, but adds some promise of possibilities to the entire architecture 🙂


Oh, and I have a cold, so I’m not exactly feeling much in a hurry these days.





Win7 Installer Changes

January 20, 2012

Just a quick note….I’ve made some further modifications to the Windows installer to make things work better for Windows 7 users.  There are still some limitations, which hopefully will be worked out before I release b993.

Mainly, the installer doesn’t seem to autodetect paths when you first drop it in.  I think that Live is probably accessing the log.txt when this happens, which prevents Max from accessing it at the same time.  In any case, you should be able to delete the installer from the track you placed it on, and then reopen it to get autodetection to work.  Sometimes it takes a few tries.

If all else fails, check the wiki for information about where to install the files manually; there is a link to the ‘Manual Installation’ instructions on the installation page of the wiki, as well as more detailed instructions on using the Installer.

Sorry about the difficulties for Win7 user’s, I’ve been trying to make this more painless. I’d really love some more feedback on your experience, be it successful or otherwise.  I updated the installer yesterday again, so you might want to re-download the most current version if you are still having problems.




Mirror People

January 16, 2012

I feel so stupid sometimes.  Yesterday, around 5pm was a very good example.


I’ve been slowly but surely getting near a release point for b993, and very happy with the way things have been coming along, for the most part.  In addition to this most current release of Monomodular, I’ve been working on some collaborative projects with others using some of the underlying technology in the Mod system.

One of the things that has irritated me the most about working with Mods in m4l since I ported everything over to Python is that I’ve never been able to create a core Max client that would play nice in edit mode.  You can go there, but you just can’t come back.  Sometimes things crash.  Sometimes it’s Max, sometimes it’s Live, sometimes it’s Python dropping out inside Live.  All of this is due to how Ableton handles disconnects/reconnects of Python lambdas, and, well….it might not be such a big deal if anyone besides them actually KNEW how it handled those callbacks.  I mean, I could sit in front of byte-code for 2 days and translate the most current _MXDCore (and I guess it would be time well spent, and I’d be a hero in the community, and, and….) but I REALLY don’t want to do that.  I did, however, want to fix that problem.  I REALLY wanted to fix that problem (god only knows how many hours I’d already spent trying to figure out a way to fix it).

Instead of doing what normal people do when faced with a three day weekend, I decided that I’d hole up and deal with this issue.  I mean, it was essentially the last core element I needed to deal with, and why not deal with it before the b993 release? Eight hours later, I’d made progress.  Well, a little progress.  I’d dug deeper into the  process that Ableton uses when switching between Live and Edit mode than I’d ever done before, explored more of the _Framework’s structure, and considered all the myriad merits of….well, suicide.  I’d tried several different methods of getting what I needed….and kept coming to an impasse.

I’d entered a strange mirror universe…I was stuck on one side, until I was on the other side….but when I got to the other side, I couldn’t remember that there had been the first side….I had dreams about this, in some kind of paranormal limbo between worlds, identical worlds, that were parallel but destined to remain forever untouching, for if their streams crossed even ever so slightly, CATASTROPHE!  EXPLOSION!!!!!……

Yeah, Live would crash.  Suck.  Or the Python script would crash.  My.  Or Max would crash.  (Well, you know)

By day two (well, night one, in the agonized desperation of too much caffeine and artificial stimulants), I’d come to a further conclusion about my course, and although I felt the disappointment that goes along with one’s ideals being dashed, I was optimistic about the results of my future efforts:  I would “sandbox” the damned thing, Python side.  I would restrict the functionality of the Mod while in edit mode, and isolate its existence in the m4l multiverse so that its entity was directly linked to its ghost-soul on the other side of the Ableton mirror (ok…I was on a lot of caffeine, but seriously, there were no other drugs involved….it was seriously a transcendentory experience like that).

Six hours later (or so), I had a working candidate.  It still didn’t do exactly what I expected, but….it didn’t crash (much).  It didn’t make my controller stop doing things (most of the time).  I could travel between m4l worlds as much as pleased me….I had successfully created a machine that could cross the m4l multiverse.  Yay!  But it still needed much work.

The following day, my task was to clean up the code and make sure that everything was working as expected with the Mod connection routines when several clients were running at once.  In the process, I reviewed all the original code and tried to weed out a bunch of stuff that had gotten added in the testing process.



Well, hello, what’s this?  ‘// = 0’.  I don’t need that anymore, since it doesn’t work in the first place.  I found that out six months ago.  Too bad it doesn’t work anymore, it would’ve solved all of my problems.  It doesn’t work, does it?  I’ve tested it, right?  Maybe I should test it….since I still have this one little nagging problem, and it would solve it quite easily.  HELL, it would have resolved this whole situation, and I wouldn’t have needed this whole ‘sandbox’ thing.  Maybe I should double-check it to make sure it doesn’t work, as I’d found when I experimented with it six months ago…..

Maybe I shouldn’t, though, since, if it does work, well….I’d be really, Really, REALLY angry at all the time I’ve just wasted.

You can probably guess what happened after that.


Moral of the story:   b993 is nearly in the can.  After repackaging everything and changing a few lines in the installer’s code to prepare for some changed/extra file handling, I moved everything over to my Live rig last night after a gig, installed it (without even a complaint from the Max window),  dropped all the new mods on top of the old ones to replace them, saved the project….and crossed my fingers.

I hit play….

 Stuff happened.  Not exactly what I expected to happen, but with the press of a couple of buttons, and the turn of a couple of knobs, everything was playing in my set exactly as it had been 5 minutes before, with b992.  I didn’t even have to restart.  And it was better 🙂  All of those additions worked nicely, I found, as I jammed out with the looper and the new LCD patch over the next half an hour (at 4am….yeah, my neighbors must really love me).

So, there were a few things that didn’t work quite right the first time.  I’ll get to them over the next couple of days.  I also have to make provisions in the installer for the new distribution format (unfrozen files, mod abstract clippings) and Windows7 (and hopefully Lion) installations, but you can expect a new revision within a couple of days if everything tests well.

I’ve made a great number of changes, both to the core framework and to the individual patches;  there’s also a new patch, LCD, which takes on the jobs of all the old individual LCD patches, only better….the change log takes up 3 pages, so you’ll have to wait untill it comes out.

A new Monolink won’t arrive until later, but I can release it seperately.

This post is far too long already….back to work with me.




Newer Installers

January 7, 2012

I’ve updated the installers for both platforms to include a version tag at the end of all the folder makes.  I’ve also thinned out older versions of the Mods from the patches folder, making things a little easier to navigate.  I also added some flags to the OSX installer that should allow the installer to overwrite previous versions of the same installation version. In addition, there were some invisible files from SVN that were getting written in your MIDI Remote Scripts folder;  that won’t happen anymore.

To use the new installer, re-download it from the original link on the right, and replace the old one with it.  Run it as you did the last one, it will add new folders to your directories.  You will have to delete the old ones manually if you want.

The new behavior will not tag the end of the install with the date on the first line of readme.  Every time I push any major changes to SVN, I’ll update that tag in the readme, and this should allow the installer to put the correct tag at the end of your new files.  This will give you access to older installations, and make it unnecessary to include the older files with each revision.  I’ll try to get better about changelog details in the readme for now on.

In addition, I’ve added a few things to the Windows installer.  It should now properly report when SVN has finished downloading, and it might (but probably not) autodetect paths from you log.txt on Win7.  I really need some testers for this, since I don’t have a Win7 install.

I have alternate versions of the installer with debug turned on that are available if your interested in testing things, or if things aren’t working on your system, just send me an email and I’ll forward them to you seperately.

Next on the agenda is adding all of the wiki links to the current Mods, and finishing up the wiki (an ongoing process).  In addition, I’ve found some shortcuts and enhancements while doing some commissioned work for someone  that will make  all of the Python Scripts more efficient and faster overall.

I’ve had some interest in combining the ClyphX script with the Monomodular Python host (to save space, since we only have 6 Python slots), and I’ve been poking around with this over the last couple of days in my spare time.  I’d like to add some Mod specific commands to the ClyphX stuff for my own uses….any interest?

Finally, I’m still working on the unified LCD patch (anyone using the Lemur AumPad script will have noticed it connected to the little circular button on the left side of the first page), and it will probably be the last patch I write before a unified release of  b993.  Oh, and a new MonoLink as promised, if I can manage it.

Version b993 will also include the unfrozen components  of all the Mod files in the aumhaa_blocks directory.

Some of you are probably still waiting on a bundle version of this stuff instead of having to dl it through SVN….I’m still working on getting this stuff up.  Honestly, it is intentional to a degree….I needed to get feedback on the SVN process in the installer, and I knew if I made it too easy no one would try it.  Thank you all very much for the feedback and assistance in this process, as I really feel it is a more useful way of distribution in the longrun, and will hopefully open some avenues for end-user contributions to be included with my own content if and when they are made.

Keep an eye on the wiki, I’ll be adding to it this weekend.


edit::010812  I’ve updated the Monomodular_Installer_Win file to deal with Win7 behaviour now that I’ve got some debug from users on that platform.  I think auto-detection of paths may be fixed now, but I’d love to hear a success story…thanks to Markus and Micha for the help on this 🙂

edit::011012  I finally have a working installation of Win7, and had a chance to try out the installer.  Things didn’t go so well for me, so I wouldn’t use it for Win7 until I have a chance to definitely fix some things, but that should be soon now that I have the means.  Anyway, it won’t hurt anything, it may just not put some files in the right place.  I’ll report back later when I’ve had more time to check it out.





New Installers

January 3, 2012

Both the new installers are now available for public consumption….I just hope that you consume them and not the other way around.

Windows version is ugly and needs some work for Windows 7, but basic functionality is there.  I highly recommend paying attention to the hints and instructions in the terminal or resorting to the wiki if you get lost.  Its not going to do anything bad….its just not going to do what you want it to (like installing Monomodular).

I’m sure this will get updated soon, but everything seems stable.  PLEASE LET ME KNOW IF YOU HAVE PROBLEMS. I can’t fix them if you don’t.

I’ll make packages when I get a chance to recompile the current build and finish ‘LCD’.  I also have to add wiki tags to all of the patches.

Oh, and I’ve  added some more soup to the pot…..



January 3, 2012

I spent most of the day yesterday nursing my hangover (which was fairly undeserved….I must be getting old or something) by writing a new process to handle the way the MaxLooper worked.  Things didn’t go as planned exactly, but the result is a patch that finally does just about what I want it to.  I’ve pushed the changes to two new frozen files in svn, and you can install with the new installer if you want to check it out.


In addition, I’ll be trying to add instructions on how to use the Looper and its counterpart, LoopMaster, in the wiki tonight, along with finishing up the Windows version of the installer and posting links for it.  If you’re on Windows, I’m afraid the Looper/LoopMaster won’t work for you, since its packaged with OSX C externals.  I’ll look into whether it can be made to work with Windows eventually, but for now I’m more concerned with getting everything perfectly stable.


If you are trying this stuff out and getting crashes, make sure to set up latency compensation for you machine on the Looper.  That’s the bit in the top right corner, it has to be manually set.  My machines differ depending on what hardware is hooked up to them, but I find myself using values up around 200 for 512 latency….also, it will depend whether you have Latency Compensation disabled in Live or not.  I find better results with this stuff often when I have it disabled.


And also, of course, replacing all the files that the server lost this morning….I think just about everything is back where it goes at this point, but its hard for anyone to tell but me since it was only half fleshed out to begin with.





Its the End of the World!!!!

January 1, 2012

Why am I posting a blog while its clearly time to celebrate?!  Because I can!!!  Enjoy the new year, its the last one we get according to some crazy people that may or may not have any credentials in the field of archaeology….regardless, we can only hope 😉

May this next year ‘KICK YOUR ASS’!  (you know, in a good way ).

p.s. of course, I’m celebrating my ass off!