The aumhaa Website has been transported, please go here instead:

We don't hang around here anymore.....

Search This Blog



I've not had much time for coding lately....aside from my day job, I've been running sound for a lot of events lately.  Its a good thing, as I've gotten to participate in some really good performances by the likes of Signal Path, Beats Antique, Blockhead, Lynx...just to name a few.   But on the downside, I haven't made any progress in my programming exploits.

Just a head's up to any of you following my m4l patches...I'll probably not be publishing anything new for a little bit.  I'm currently working on a couple of patches to round out my own Live rig: incorporating the Python scripts into the iPad script (with support for an 8 knob rotary controller, ala Nocturn), and rewriting a Sooperlooper controller in js.  I'll probably be publishing the Sooperlooper stuff first, since that's what I'm working on right now.


LCD that works

Someone finally bothered to tell me that LCD wasn't properly frozen, and was therefore unusable.  I updated the files, it should work now.



Hmmm.  I've been busy with things lately, I guess.  I've made some pretty good progress with the Python scripts, but I'm afraid a lot of things have gotten put on the backburner until I determine exactly how I want to do things.  Not to mention, (as usual) real life gets in the way.

I wanted to release this little utility, as I've promised it to several people and finally have a version that is complete enough to be usable.  It serves as a soft lcd for any generic device controller.  Its the same basic code behind a lot of other things that I've written, except that now it pipes all the data in directly from the Python scripts, meaning its faster and much more capable.  I've made some significant improvements to the main Python Class, so that we can get things like updates whenever a new bank or device is selected.  I've also enabled a means to send updates to the components directly from m4l, which simply isn't possible in any of the existing scripts.  There is a lot left to do in this regard, but I'm going to take it slow and explore a little as I go, since the iPad script is functional as it is and this will only be making things faster/ more efficient.

Anyway...this little piece of code is pretty simple.  But if you examine it closely, I think you'll find a few very valuable things in there, and this is the best place to see it from (before it gets really complicated, which I'm sure its about to).  The functions I built in the main Class are pretty easy to follow,  but I haven't added any commenting yet.  If anyone has any questions, as usual don't hesitate to comment or drop me some mail.

All you have to do to make it work is place the Python script in your MIDI Remote Scripts folder, and open up the LCD patcher somewhere in your project.  The necessary assignments for the controller you are using are simple (rotaries @ cc 0 - 7, buttons @ cc 8 - 15, xfader @ cc 16, all on channel 1).  The script was intended for a Novation Nocturn, but you could use it with whatever you like.

I'll have much more to say about all this later...the link is on the right, under "LCD".

It's also here :

Cheers :)


Nomeout b941

I changed some things to accomodate the new midiOut features of the clients, and broke Nomeout in the current versions.  In lieu of changing every one of the clients to fix this, I'm posting a quick fix for Nomeout that will clear up the problem.  Hopefully, in the next week Nomeout will be a thing of the past, but in the meantime, be sure to download the new version (I suspect no one is using it anyway, which would explain why I'm just now finding out about this).

Thanks to David for pointing this out :)


Yeeeaah baby

I've had scarcely any spare time for coding lately; its the time of year I spend mixing live performances on a pretty much constant basis (I think I did over 20 this week, but at some point I lost count and it hurts my brain to think about it too much). 

Regardless, I found a little time to do some digging, and I've found a way to do what I want through the Python scripts.  That means we'll have a bit easier of a time accessing certain functionality of control_surface scripts directly from the LiveAPI.  It also means there will be a new plugin out very soon for the Nocturn, or other similar rotary controls. 

There will probably be an update to the Monomod host in short order that will switch a lot of the heavy lifting over to Python in the iPad script.  I need to fix a little problem with the APC controller script, as well.

Leigh Hunt has provided some externals for me to check out that may facilitate easier MIDI communication/routing on OSX, at least.  Thanks, Leigh :)  I'm so glad some alternatives for these issues are appearing at last.


Optional installs not optional?

I've heard from a little birdy that monomod is not working correctly without the installation of the "optional" files:  midiOut VST and OSCBonjour external. 

I'd really like some feedback on this.  If you've gotten the patches to work without these files, let me know by posting a comment.  If you had problems without them, also let me know.  Include your operating system and version, please.  Thanks :)



The b94 package has now been updated to include monomod_b941 (with corrected behavior for multiple launchpads) and a working TouchOSC template.

Also, check the new documentation page on the right for the details and features of monomodular.

Corrupt TouchOSC Template

Apparently the TouchOSC template contained in the package was corrupt.  I've made a seperate file download for a working one, you can find it on the right.  I'll repackage the entire bundle later tonight and post it.

Thanks to naph @ Live forums for bringing this to my attention.

Cheers :)



That was quick, huh?  Nothing big...I finally got to test it with two Launchpads, and it appears to work great.  I had to fix something in the javascript for the Launchpad, so make sure and download the new version.  I'm not changing the package right now, you can get it from the link on the right via Max for Live dot com.



Monomodular b94

I've gotten it as together as its going to be for a little while.  Please report any bugs that you find.  There are a lot of little things I keep running into as I'm testing it;  you can expect a small bug-fix release in a week or so unless I find out something major has gone awry.  I'm very interested to know how everyone gets on with this, so please drop me some feedback.

I've packaged everything that you need in one zip, you can get it here (on the right).  I will post the individual files to Max for Live as I have time.

I'm very interested to know if anyone is able to get this working with multiple Launchpads...I won't be able to test with more than one until tomorrow or the next day (someone is loaning me one).

Next up:  Frames for programming clients (just like browser windows). You will be able to set a frame definition via the client with a simple message so that a portion of the grid will be reserved for certain data while everything else goes on around it.

I'm going to build a _Framework script for an 8 knob controller.  It will work with Ableton's device system the way that the Novation Automap should work (I'll be using it with a Nocturn, but it will be freely assignable to anything that sends MIDI).

Plinko will get an editor window, so that someone besides me will be able to use it to good effect.

I've got several small plugins that need some work, including Life (which is almost finished), and Loopview,  a GUI for Sooperlooper.  Both are monomod clients.

...and hopefully an Ohm64 shows up in the mail this week, so I can start on that.

Be sure to read the Readme, and let me know if I left anything out.

Cheers :)


Maybe I got a little carried away

I started working on the APC40 portion of the scripts, and, well, kind of got lost in it for a few days.  I'm glad I took the time to do it, though.  I've worked out all the little bugs that the Python scripts were causing me, and now it pretty much works flawlessly.

Best of all, I figured out how to port all of the device_name dictionaries from the _Generic consts of the _Framework portion of the Python scripts over to javascript and m4l.  To those of you who don't know what that means (which, lets hope, is most of you...for your own sakes):  we now are able to get the same kind of readout for an HUD that you can get with, oh, say, a Remote25SL or a Mackie control, directly through m4l and this script.  Until Ableton changes that portion of the scripts, anyway.

So now the HUD works pretty flawlessly as well...whatever device you select will show correct parameter names and parameter values based on the dictionary, and if its not contained in the dictionary, the script looks it up through the API.  This makes the script faster, and above all: accurate.

I spent some time making sure the HUD displays correctly on any monitor.  I really need some feedback on this one, especially from Windows users.  I pretty much do everything on two identical MacBooks, so not a lot of good testing it here.   I'll add the capability of changing its size a little later.

Oh, and I added the capability of using Monomodular with the stock APC40 script, so if you're not using Hanz's version, you can still use Monomod.

I'll be porting the HUD over to a standalone when I've had some feedback from users and get the time to work on it.  The plan is to write a Python script that will basically emulate any 8 knob device controller, and give feedback through an identical HUD to the one I'm using for the APC.  Thus, if you have a Nocturn, Korg Nano, etc, etc, this will work for them with minimal setup.

The patches are almost done, I should have them published by Monday if all goes well.  I'm going to try to create an installer for OSX that will put everything where it goes, along with the abstracts for creating your own patches.  I don't have a clue (or an inclination) to do this on Windows, but if someone knows how and is interested in helping out, let me know.  I can always use help.

Oh, and the swell guys down at Livid were good enough to loan me an Ohm64 to work with, so we'll have support for that in the near future.

After the new revision is released, I'm going to start documenting how everything works with them here on the blog page, so keep an eye out.