header image
 

b991b bug fix release

Hey guys,

I figured out what was going on with the crashing situations with b991.  There was an old version of lh_midi on my system that was getting included in the frozen files.  I was under the impression that externals were not included in frozen m4l patches, but apparently that is not the case.  The link below will get you the fixed versions, and all you should have to do is replace the maxpatches in your Live library (the included version of lh_midi was the most current, so no need to replace it).

The old lh_midi plugin was causing monomodular to crash Live when other applications using virtual ports were open.  Hopefully this fix works for everyone, and of course please let me know if you are still having problems.

In other news, I’m still plugging along with getting b992 out, but work restraints are taking their toll.  I’m half way through finishing the second patch that will be released (a replacement for “Knobs”), and the first one just needs a few tweaks now.  You can expect the following additions with the next update (I’m just stating it again here to reorient myself):

renewed APC40 support
APC20 support (haven’t started on this one yet)
native Block support  (finished)
Code support  (nearly finished)
updated timing engine for all plugins
Binary Mod  (nearly finished)
“Super Knobs” Mod (haven’t decided what to call it yet)
Custom color/flash maps for different control surface scripts
Some other tweaks and bug fixes

I may release b992 without APC support if it seems like its taking too long, but I don’t expect the APC stuff to take too much time since I’ve already done most of the work on the APC40 script in older versions.

In addition, I’m aware that MonoLink doesn’t work with autoconfig at present, and its on the list of future changes, but I can’t comment on how long it will take as I haven’t looked into what changes are necessary yet.  I imagine it will be pretty simple, and if possible I’ll include it with b992, but then again the more changes that are included with b992, the longer it will take to release.

Thanks to Pete and Marc for helping me out with this current crashing situation, it was greatly appreciated.  Of course this kind of thing is going to pop up when I don’t really have much time to work on revisions 😉

a

link to new revisions:

http://dl.dropbox.com/u/6044993/b991b_release.zip

BAD Automap!

So, I’ve had a couple of users notify me lately that Monomodular and Automap are incompatible.  Well, that’s news to me.  But I investigated tonight, and indeed, they are no longer friends.  I suspect this is due to the lhmidi external, but I’m not presently sure (in fact, I’m rather baffled!).  So I’ll be investigating this over the course of next week as I’m allowed the time.  I’d love any further reports of crashing so I can inform the relevant parties and get it all sorted out.

Thanks to the guys that reported this!

a

seasonal

First off, it comes to my attention that I’ve not been clear about something regarding how to install Monomodular:

YOU MUST INSERT THE  MONOMODULAR SCRIPT IN YOUR MIDI PREFERENCES.

Not just the script for your particular controller (MonOhm, AumPad, BlockPad, etc. ad naseum), but also the Monomodular script.  I’ve ran across several users lately that were having trouble because of this (quite frankly, nothing will work without it).

The good news is that I’ve created an installer for OSX that, with a little guidance from you, will put all the relevant files exactly where they are supposed to go.  Baby steps.  I’ll get there eventually.  Windows users, unfortunately your still going to have to read the directions. Expect the b992 update to be packaged in this manner.

The next release is still a little ways off…I’m in the middle of building two plugins, writing a CS Script for the APC20, and modding the APC40 script.  I’ve also had some freelance work to do, so coding time has been limited to that lately.  Anyway, thanks to those of you that repeat my name a lot, you know who you are; apparently some people have been listening. 

I’m off to EarthDance in Vallejo this weekend to run sound for a truly awesome Bass-centric Electronic event….I’ve worked with less than half of the performers playing there, so in addition to seeing some old acquaintances, I’ll be getting a dose of new music; I’m really looking forward to it!  As always, this is ‘work’ season for me, so free time and free stuff hit the backburner for a while….but fret not, I’m still working almost everyday, and the next release is going to have some really cool goodies in it for some of you.

Its funny: the idea of v.1.0 Monomodular gets closer on any day that I finish a release, and further away the very next when I think of new things that I want to add…someday soon, perhaps 😉

a

edit::  as an aside, its my intention to get a better svn repository working very soon. Not just with all of the frozen files (as it is currently, and is the reason I haven’t and don’t update it regularly), but instead the unfrozen patches with all their dependencies.  This was the intention at the outset, but requires time and a better file structure than what I’m currently using.  I know this would do at least one person some good (not including myself).

Send me music links:

Hey guys,

I’d love to hear some music made with Monomodular, and make it available to other users….I’ve added a little sidebar to the blog with links to material that has been made using Monomodular.  Please chime in and add your creations to the mix!  Just drop me a comment or a mail with the address to link to.

Meanwhile, I’m working on Block/Code scripts, a patch called ‘Binary’ which spans both the Code and any connected grid controller allowing variable speed sequence creation.

In addition, there will be a new timing module available to all Monomod plugins as an alternative to the standard module.  It will allow the timing to be driven by MIDI input to the plugin.  In this way, you can use whatever is connected to the input of the plugin as a timing source, paving the way for some crazy combinations/modularity between different plugins or even from MIDI clips in Live.  Think:  binary ==driving==> tr256 ==driving==> every other monomod plugin for some crazy capabilities in variable timing.  Hard to explain, but as soon as I get my camera back, you’ll see what I mean.  This stuff is almost finished, as I wrote the core of ‘Binary’ a while ago.

Anyway, I’ll be doing Atlantis fest outside OC in L.A. this weekend, second stage I think (running sound, not performing)….if you’re out there, slide on by.  I’ll be getting back to coding in a week or so after I get back.

a

Squaring the Circle

I’ve just gotten back to my Code….I’ve had a terrific idea about how to utilize it and add something truly new and different to Monomodular.  Think:  variable speed everything, with custom groove mapping.  Anyway, I’m working on it as I type, hopefully I’ll have it out soon.  Its funny, I’ve been putting off doing it for a couple of days, and went to bed thinking about it last night, and this morning I had written the entire thing in my sleep….now I just have to find the time to put it together and get it working.

I’ve gone and left my camera in San Francisco, so I can’t film any new stuff.  I was anticipating filming a bit of a live set when I got back (the one that I didn’t end up playing @ GAFFTA), but it didn’t work out.  The ‘secret’ mulitlooper I’ve been building with Monomodular will just have to remain a secret a while longer.  It’s okay, I’m not sure if I’ll be giving it away anyway….its pretty core to my own performance.  But I’m anxious to show it off, as it demonstrates some cool things you can do with the Monomodular framework if you are so inclined.

In the meantime I’ve decided that I will start publishing some practice sessions as I get to know my new controller…I’ve had a few people ask  to hear what I’ve been doing.  So, if you’re interested in some verbose and unedited wanking, look no further than here:

http://soundcloud.com/aumhaa

Cheers 🙂

a

Hacked….

A quick thanks to Christopher Willits and Cullen Miller for putting together the m4l Hack Night @ Gray Area Foundation for the Arts in San Francisco….it was a long way to drive, but I got to meet a bunch of cool people and learn some new things.  It was nice to play through GAFFTA’s 7 Channel Ambisonic sound installation…..even if I couldn’t hear myself while I was doing it (!).

A few things could have worked a little  better.  I learned one REALLY important thing about my own setup:  if you create a looping plugin that emulates tape-based looping, don’t assume your plugin is broken when you catch a loop and you don’t hear it playing back.  Instead, make sure the tape’s transport is running….

Meantime, I’ll be ‘checking out’ for a bit:  it’s back into the swing of the show season for me; but I’ll still be hacking away and patching in my spare time,  I just won’t have quite as much of it to spread around.

Working on getting current patches documented and posted to SVN, then I’ll update the current distribution to b991r2.  Might be a little bit before then, but I’ll post when I get things finished.  I’ve actually made quite a few changes to some of the patches since the last public release.

Cheers 🙂

a

self.disconnect(self)

I’ve been unifying the MonomodComponent Python module so that the identical version can be used in every one of the controller scripts that I’ve made….this is for my own benefit, as it becomes excruciating modifying every one of the scripts individually, and the process is very prone to error.  Besides, I think this has something to do with the definitions of both ‘portable’ and ‘modular’.

So, I’ve found a bunch of things that weren’t happening correctly in the disconnect, and I’ve mostly fixed them in the ‘living’ version of the scripts that I’m using on the dev machine.  However, lots of things are happening in my life right now, so I won’t be able to update anything for a while.  One nice thing is that the newer scripts are backwards compatible….I’m currently using the b922 versions of the Python perfectly easily with the b991 release versions of the m4l patches, and can hopefully keep it this way for a while.  As soon as I have a working, stable version of the new scripts, I’ll add them to the b991 release and post something about it.

New features that I haven’t mentioned (mostly bug fixes):

Controller no longer changes selected device when you change shift modes.

Controller now remembers assignment of last right_function_mode track, so that it basically just works as a ‘memory’ button now….if I assign the mixer in right mode 1 to track 5, it will go back to track 5 the next time I go to mode 1.  Same for modes 2 and 3. Eventually, I will add the Master and Return channels to the left mixer, so that they can be navigated to as well.

Disconnect calls no longer throw errors (which would cause major problems anytime you uninstalled/reinstalled a script, or if you opened the m4l editor window).

Various other little things….

IN OTHER NEWS:  getting ready for GAFFTA show next week, and really digging playing with all this stuff….but its hard to not stop every time I run into something I want to fix and do it right then.  I’m having to resort to little pieces of paper lol.  Anyway, I hope to at some point this weekend put together some video footage, so don’t think I lied straight up last week when I said I would do it….its just (as always) taking a little longer than intended. 

Cheers 🙂

a

Monomodular Video Tutorials

I’ve made some rudimentary videos describing some of the basic functionality of Monomodular using the new OhmRGB and the MonOhm script….I split them up into 4 different vids, its probably best to watch them in order.  I’ll be adding some additional information that I left out with annotations later, now that they are up on YouTube.  Sorry it took me so long, I actually did these last week but my internet connection is so slow at home that I had to wait until I was at work before I could manage to upload them all.

Now that I’ve been playing with the release for a week, I’ve found a bunch of things that I can’t live with…better to deal with them now than have to hunt them down after I start working on individual patches and new Control Surface Scripts.  I’ve been adding functionality to the Monomodular Python script so that everything is perfectly portable between the different controls scripts.  So far, I’ve added the following:

Color Map support:  this means that each m4l client will have its own color maps, one for each supported control surface.  These will be maintained by the client patch itself, and could be easily made to support pattrs and user assignment.

Additional grid commands:  I’ve added receive_grid_column, receive_grid_row, and receive_grid_all commands to the Monomodular script.  This should ease some bandwitch requirements a little bit.

Persistent Grid Offset per client/per host:  now when you navigate a client to a location on the grid, leave that client, and come back, the offset will be the same.  This is on a per-controller basis, so it is still possible to have two Monomodular controllers connected to the same client with different offsets.

Select Current Client as Device:  now holding down Alt + Key 8 will bring up the current client in the device editor.  I’ll be adding some other Alt + Key combinations in the near future when I figure out what works best ergonomically.

Set Nomeout Channel from client:  this basically just allows the client to set the current the Nomeout channel from init, so that it matches the last selected channel before the client was saved….this is a display bug fix.

Also, I’ve spent some time (and will spend more) making the monomods.js script link/delink perfectly from the Python stuff between preview/load/save states.  Getting there, but still a little work to do before its perfectly friendly.

Hopefully I get to publish this stuff in the coming days, and update it to the SVN.  In the meantime, enjoy the videos, and I’ll try to make some more pretty soon 🙂

a

BlockPad Monomodular script for Livid’s Block!

 So, this might be some kind of personal victory for me….and that’s kind of depressing hehe.  I received Livid’s Block controller in the mail today, and I’m honestly impressed with the ergonomics of the controller.  It’s compact and yet well organized, with enough controls to get by with under most circumstances.

Of course, before I can really see what its all about, I had to integrate it into Monomodular.  Since the Launchpad is its closest cousin (besides a monome, which I don’t possess), I thought it would be easy to adapt the LaunchMod script I’ve just finished writing to use with the Block as well.

Several hours later (most of which was spent learning the control protocol for the Block, and trying to figure out why two of the LED’s weren’t lighting on my Block), I’ve got a working script that does everything that the Launchpad does.

Its included with the current distribution of the Monomodular suite, which can be downloaded from the sidebar on the right.

(edit 081211:: there was a problem in the __init__ of the original upload…I’ve corrected it and recompiled the package, so if you downloaded it earlier, you might try it again since the first version didn’t work)

Unfortunately, I don’t really like the ergonomics of this script all that much, so I probably won’t develop it very far….there’s just not much use for “Button Slider Elements” on a controller that already  has knobs….but still, I will incorporate the knobs at a later time so that the script is more useful.

In the meantime, here’s the rundown:

The top two Function buttons switch between Session and Mixer modes.

The other four Function buttons are for Navigation.

Gary is a shift button, he does the following when held down:

You can switch to User1 or User2 by pressing shift and either Session or Mixer.

When in Mixer mode, holding shift turns the the Nav buttons into Mode Buttons (to change views between Volume/Pan/Send1/Send2)

When in Session mode, holding shift turns the far Right column of the grid into Session Launch buttons.

To get to Monomodular Mode, quickly press shift twice.

In ModMode (trademark 😉 ), top function buttons are Lock and Alt, bottom Nav buttons are the same.

I haven’t incorporated the Faders/Knobs yet, and haven’t quite decided how to.  The Launchpad script is less open than I had hoped in terms of how I can play with it easily, and I just don’t want to spend too much time on this.  I’d much rather adapt the MonOhm script to work with the Block, as its more generally usefull I think in the presence of faders/knobs.  So I’ll spend some time on that next, and you guys can play with this one in the mean time.

As a side note, I’m very joyous at how easy it has been to incorporate the new version of Monomodular into different controllers (this one took less than three hours!), and how well everything is working (for me anyway) when I’m done.  I think I might be getting better at this, finally….

Please send feedback my way…this is totally untested in the real world, but I can’t imagine its going to do anything terribly strange.  I’ll spend some more time on it when I get further feedback, and try to come up with an intelligent way to add the faders/knobs in the meantime.  Keep in mind, User1 and User2 are available, this remaps the grid to different channels so you can use them for whatever you want.  Check the Launchpad docs if you’re wondering how things work, as things are largely the same since I started from the same script.

If you’ve changed the defaults for your Block, your going to have to reset to factory settings in order to get this to work.  There’s no “Map.py” file like the MonOhm script  (yet).

Back to tutorial making…..

Happy blinking!

a

Block is here!

Just got a Livid Block in the mail….I didn’t think I was going to be excited about this, but apparently I am!  This thing is pretty sexy….

So first order of business is to get this thing working with the standard Launchpad script that I just wrote, and then I’ll go from there….

Spent all day yesterday playing with the Mod suite, and adding more content to my MonoLoop/LoopMaster plugins….way fun!  I’ve come up with a lot of revisions/bug fixes for the plugins I’ve been using, so its time to start on the 992 update.

In addition, I recorded a quick tutorial for TR256, Boiingg, PressCafe, and Polygome last night.  I’m editing them now and will add them to my YouTube channel when I get finished uploading them. 

Cheers 🙂

a