First Max 5 Preview: Music Patching, the Next Generation?

Not just skin deep: Changing the Max interface should make it easier and faster to produce patches for beginners and advanced users alike.

What’s this new Max about, and why was it such a big deal at the AES trade show? To really understand, let’s turn to gaming for a moment. When Nintendo described their vision for the Wii, they talked about appealing to three groups of customers:

The “hard-core” gamer; that is, their existing audience, of course

“Lapsed” gamers: people who had done some gaming at some point but lost interest

Entirely new gamers, across a variety of demographics

History will have to be the judge of Nintendo’s slim white box and controller-wagging interface, but I heard some similar development goals at the AES audio show this weekend. Nowhere was this more apparent than Cycling ’74’s upcoming Max 5. Substitute the word “patcher” for the word “gamer”, and you’ve got a snapshot of the new Max.

After all, whether you’ve touched Max before or not, you’ve likely got some needs in at least one of these categories. Beginners are easily intimidated by the “visual programming” metaphors of a blank-slate, modular tool like Max. Many others get through a couple of patches, often in a school course, but wind up having difficulty getting beyond that first work later on. And even advanced users (maybe especially advanced users) are always looking for ways of working faster.

The build I saw of Max wasn’t entirely complete, but I will say it’s tremendously promising. I talked to many for whom the chance to see Max 5 was the highlight of the entire AES show. It’s a tool you really need to see in action, so be sure to check out Cycling’s just-posted videos of the program:

This is not the all-words, no-pictures manifesto we saw recently: now you actually get to see the tool in action. Highlights:

Max has a new visual browser for selecting objects. But if you can’t tell what those icons signify, there’s also more integrated help, and object names are auto-completed as you type them into a patcher window.

The interface zooms, scales, and snaps: I knew this was coming, but I was really pleased at how Max-like this is. It still looks like Max, but it’s more usable.

There’s a patcher inspector: The inspector lets you easily adjust attributes without mucking about with typing things into an object box or sending messages to an object, which was always very confusing. You don’t see much of this in the video, but trust me, this is huge, especially for more-complex Jitter objects. And while this is shades of Quartz Composer, it works much better than the clunky UI implementation in that tool.

Finding the object you need is much easier: There’s a pretty visual browser which will be a lot of fun, but there’s also auto-complete when you type in a name. (Programmers will recognize that functionality from IDEs like Eclipse; Mac users, think QuickSilver fast-typing goodness.)

There’s a nifty new file browser: Drawing from iTunes and Ableton Live, this makes it really easy to get access to files in the file system — no more manually entering paths. The bad news is, it sounds as though this may not initially be usable in your own patches, for, say, making a video navigator for a VJ app or sample loader for an instrument; hopefully, that’ll either sneak into the final build or be available soon after. (The Cycling page does mention integration of the database that powers this browser with JavaScript, though, so advanced users may have some new options.)

A new file browser takes cues from iTunes and Ableton Live.

Debugging and feedback and help everywhere: The old way of working with Max was pretty slow. Add an object. Click the object’s help to figure out what it does. Look up its help page. Go find the tutorial reference in which it’s introduced. Add a print object to watch what data is coming out of it. Go back and try to see why it’s not working. Now, there’s feedback everywhere: pop-up hints for each inlet and outlet, integrated help, the ability to mouse over objects and see what data is moving through them (including Jitter matrices, apparently), and even better-organized data feedback in the Max window. The integrated help is much richer, too, though it wasn’t quite ready for demo when I saw it; I expect we’ll find out more about this soon.

Presentation mode for performance, and the end to messy patches: This is really the feature that could make you jump for the new Max. Presentation mode lets you select elements in your patch and add them to a performance interface, so that in addition to locking a patch, you can build a custom interface as an additional layer. Let me translate that: you’ll never have to stare at a giant, messy patch while you’re trying to perform again. Now, Reaktor has had something like that for years, but again, the implementation is really Max-like and unique. When you go to presentation mode, you can drag objects where you want them. Switch back to editing mode, and they remain connected to the rest of your patch and automatically move back to their edited locations. (If that didn’t make sense, go watch the video, and expect to see more examples of this soon!)

No more muss: presentation mode isn’t entirely separate, in that objects are still connected to your patch. But location and size can be adjusted separately for an easier user interface, while all the messy bits remain safe in the patch itself — a big step forward from the lock/unlock approach of the past. (That’s still there, but this extra layer makes a lot more sense.)

There are still lots of questions, of course: there’s no solid release date or pricing plan, and we haven’t yet heard what Cycling is cooking up with its new partner Ableton, or how that fits into Max 5. Jitter will be supported with this new release, though, like the internals in Max/MSP, it doesn’t sound like there will be any earth-shaking changes immediately. (I.e., it won’t be Jitter 2.0.) Then again, Jitter patchers should benefit just as much as MSP heads from all these other features, so I wouldn’t underestimate the potential there.

I think there’s no question this will step up the game for custom-patched music and multimedia software. Max isn’t the only game in town by any means, though it is arguably the most extensive tool (especially if you’re counting number of objects). I can’t wait to get my hands on the new Max and share the patching experience, and I’m equally interested to see what happens with the next version of a more specialized tool like Reaktor. As always, stay tuned.

I think the new interface is gorgeous and the Presentation layer is going to vastly improve my quality of life… but check out this recent list from Joshua Kit Clayton on the Max forums which includes a few of the under-the-hood improvements. Some of this is major foundational mojo.

They definitely took their cue from other more "pretty" modular systems like Reaktor, Synthedit, and Synthmaker with this new version. Who knows if this alone will make max/pluggo plugs as prevalent as SE/SM plugs on the PC side, but it will certainly help.

Still to get mass adoption of Max/MSP as a plug-in development kit on the PC side the price needs to come down ALOT ($249 would be a good price point) and the requirement for the Pluggo runtime needs to be lifted. I know that for me personally I have no problems installing the runtime, but there are others who for whatever reason don't want to go through the hassle of installing the runtime for a given pluggo plug. It would be much easier if the pluggos had the runtime â€œwrappedâ€ inside the plug instead of relying upon an external runtime to operate.

@Adrian: Embedding the runtime into a plug-in would make it easier for end users, definitely. I think a separate runtime might be more beneficial, though.

One benefit of a separate runtime is that Cycling can release bug fixes to the environment and all users get them without developers having to recompile their plug-ins. Another is that because plugs share a runtime space, they can easily share data and audio between each other.

Who knows what Cycling will do? I noticed in the new feature vids that the option for rendering out as a plug-in is already in the menus, so it's coming in some form or other.

Ivan Smirnov

Awesome.

And patch cords are finally anti-aliased, lol.

Adrian Anders

@ Vlad:

Ah I forgot about the flexible pluggo routing. I wonder if it would be possible to have both runtime and non-runtime required versions as to give users the choice of which they would want to run.

bliss

Wow! Looks pretty! That's some Apple hocus-pocus going on there. Making me want to buy it 'cause it looks pretty. Haha, if Max 5 is really less of a headache than it used to be, especially with the tutorials, well, just maybe, I'll become interested again. I would always get hung up on those manuals, man. Could never understand what was going on after a certain point.

Good presentation over at the Cycling '74 site. Makes one want to give the program another try.

@Vlad: Ah, a couple of points I missed in this and the earlier item. Configurable shortcuts? HTML rendering *inside* patches? Awesome.

I did get a chance to see the new Max window: simple, but effective feedback on messages. There are powerful new debugging tools, but you may need them less with all this feedback.

And more exposure to developers is truly awesome.

@Adrian: I'm with Vlad. Having Pluggo separate from plug-ins developed with it is a feature, not a bug. As a result, Pluggo has remained up-to-date whereas plug-ins might not have. And C74's own installers have demonstrated it's possible to combine the runtime with the plug-in itself.

But it's worth reiterating that Pluggo support will not be there in this first release, and as a result we don't know a whole lot about implementation. Given all these great new developer features and HTML rendering, etc. — plus the pleasure of patching and wanting to run those patches — it's going to be hard waiting for that to arrive! But it is coming.

Also, it does look like ReWire will work at launch; I've built ReWire Max apps and that can be a lot of fun … and opens up the possibility of, say, doing wild 3D OpenGL interfaces, etc.

@bliss: Apple-y hocus-pocus — yes. But the cross-platform libraries means it'll also look better and more consistent on Windows, which right now suffers from some minor UI oddities. (Max 4 also runs really well in Vista; it was one of the first apps I got working and performs nicely.)

@aerotone: Really? I haven't cracked *any* printed manuals lately; I'd much rather have them on-screen. I will read dedicated books, but that's about it, especially for something with the thousands of pages of documentation now needed for Max.

Mike

@Peter: I'm with aerotone. I can't sit and read on a screen for more than 30 seconds without my brain wandering. I printed out the reason 3.0 PDF and i learned way more that way.

Fintain

To be honest, I think its still way to complex for most people

Ivan Smirnov

@Mike, aeroton

PDF > printed, ain't it? Since you can always print it the way you want / read it on 2nd screen.

Gorbon

I must say that I really dislike new graphics. Don't get me wrong – I'm quite sure Max 5 will be greatest Max ever, and that working in it will be much smoother, pleasant, resulting in much more productive sessions. I mean, I can't imagine there's single Max / MSP user that didn't go "WOW" just glancing at the feature list.

However, I find new graphics disappointing. It just looks too much like "Power Point" type of graphics (and no, I didn't expect realistic emulation of knobs and such – I hate that kind of stuff, I'm more into Ableton / Reaktor type of graphics). I can't say anything final on the matter, not until I lay my hands on the Max 5, and really "feel" it, but judging by those previews I'd say hooray for features, and boo for GUI (in term of graphics – usability is obviously vastly improved).

Of course, in the end features are what matter, and we'll use it no matter what kind of graphics it has, but IMHO this kind of graphics will somewhat ruin the whole Max patching experience.

Adrian Anders

I too am still in love with printed manuals if for no other reason that it gives me something to read when I'm…. well you know…

@Fintain: Well, "most people", yeah, sure! Although I will say I've taught it to students with very little computer experience and been surprised at their success. They may not be the target market, but the open-endedness of the program means you can break down what you want it to do into smaller pieces.

@Gorbon: FYI, you can change colors, though if you hate the way something looks, a different color scheme may not help. But the effect of, say, white on black might be different; I don't know.

@Adrian: CDM is working on the technology to bring you this site in those scenarios. 😉

plus desiredata, a fork of PD has had zoomability, undo stack, keyboard control and configurable shortcuts for a couple years now..

look around people! no need to wait until next year

David Cake

I'm a very inexperienced patcher (though experienced programmer), but my experienced with Max has always been that things took far longer to do than I thought they should. I figured that this was just my inexperience, until I heard experienced users (such as Chris Randall, who even worked for cycling74) make the same complaint.

For music patching, Plogue Bidule gives me the opposite experienced – while its interface is still rather clunky, I'm often surprised by how straightforward things are to implement – so its not patching, or issues with its UI (Bidule isn't very polished at all), its something more fundamental to Max.

I'm tempted to think that, while there are no doubt lots of fixes that while improve and modernise Max a lot here, that my frustration with Max in part lies with fundamentals of its design. SO I'm very much wondering if I'll actually find it less frustrating, or just slicker.

Oh, and yes, Max is very pricy, and its getting harder and harder to justify.

Carmen, thanks for the links. I'm going to have to have a look at Nova; haven't worked with it in a bit.

David, I definitely feel that no tool is for everyone or every job, so it's good to hear your feedback. But can you elaborate on "things"? What things were you trying to do? What things took longer than you expected? We're talking about an application that can build 3d animations, synthesizers, networked automatic plant-watering tools, etc., so what specifically?

Max always looked great to me, but too pricey: both money and time. As others said before, it's the opposite experience as Bidule: easy and cheap. So I'll take a look on the next version of Max, but I'm not sure if this will be my time to get it. Will be easier and cheaper? Will worth the price / time comparing to upcoming new version of Reaktor?

@dc: No, you're right, Kyma should be on the list. But yes, I think it's because a) it's DSP-based, b) I can't afford one / haven't used one. So I'll admit, personal bias, though it is an amazing system.

I think the reason it often comes down to Max and Reaktor is that they're well-supported, well-documented, run well on both Mac and Windows, and have found niches as (for Max) the do-everything modular environment that extends to 3D and video and (for Reaktor) the do-everything-synthesis/effects package. Kyma is probably the richest in sound capabilities, but it's out of reach of a lot of people. And there are various open source options, of which Pd clearly stands out as the deepest option. Then you have the synth-specific tools, too.

But, out of that diverse landscape, I do think there's a reason beyond just marketing prowess that Max and Reaktor often show up at the top of the pile.

Anyway, if anyone feels other tools have been neglected, I really do invite you to write up your favorite tool and how you use it for CDM; I'll publish it. I can't use everything … I can't use most things, really. 🙂

I agree on the vvvv point, I remember the first time I opened vvvv and thought, damn why doesn't jitters opengl stuff look like this. I also realize jitter is still in its 1.x version, so theres lots of room for growth. Things I would love to see include an easy to use dynamics system, better particle systems, fbx, and bvh motion cature loading.

I would love some more useful shaders to come with the distro, I keep discovering shaders from wes, vade, benson and random places on the net, and they seem like where its at right now, especially for us A/V guys who like to do both, you can put most of your graphic calculations on the GPU and the audio on the CPU and that allows alot to be done on one computer in realtime!

David Cake

Peter, I've used Max here and there for a both sound and video things, but no major projects, usually because I get so frustrated with it (though I did port a Max plugin once – my C code skills are fine). Even simple things seem to so often end up with lots of fiddly details about signal format and just how the bangs work and all that. Whereas, in Plogue Bidule I string wires, sound comes out (and Reaktor is a little harder than Bidule, but a lot easier than Max). At least my experience with Max is better than my experience with PD, where the frustration sets in while still in the install phase.

Max still seems to have a definite niche as the patching environment that integrates sound and video and external connections all in one, and a lot of historic support and flexibility and power – but I'd be just as happy to avoid it if I can, whereas my experiences with other patching environments have been much more positive. What I'd like to see based on my limited experience is intuitive debugging tools and tools to let you see what is going on better.

I posted about this a while ago myself, and I must say, I really can't wait to try it out. I've always wanted to program these types of things and hopefully this will get me going. Damn, and I was just settled to start diving into PD on my Linux machine!

i, for one, am looking forward to this 'performance' layer for arranging GoP objects… having the GUI set up how you like and still being able to go to that canvas and see the controls set next to their patching, with comments, etc., might make it easier to set up patches that are easier for other people to navigate, while not having to be a mess of patch cables or send/recieves to get the data to its respective location…