Max 4

Cycling ’74 hasn’t yet made a screen shot of the next version of Max public, so instead we offer this blurry picture of the current version, courtesy a lovely patch Peter Segerstrom was using with his Monome last night. If you squint really hard…

Love it or hate it, there simply is no graphical development environment for musical and multimedia anywhere near as deep as Max. Max remains the most powerful “blank slate”, custom creative software around, and it’s allowed two decades of artists to create their own tools without coding.

Today, David Zicarelli, the Big Kahuna at Cycling ’74 and a driving force behind Max as we now know it, talked publicly for the first time about Max 5. This version looks like the biggest ground-up overhaul of Max, MSP, and Jitter since their creation. It’s a huge article, well worth reading, but here are some highlights. (I get to sit down with C74 Director of Engineering Darwin Grosse next week at AES; not sure how much of that meeting I’ll be able to share right away but will definitely find out.)

The capsule summary (as I understand it)

Max 5 is a complete overhaul that’s all about making patching more pleasurable, with an entirely new, 21st-Century user interface and code base. It’s not about adding a zillion new objects. The idea is to be easier to learn for beginners, and more fun to use for experts. (Interestingly, this is similar to the more modest but philosophically parallel reworking of Logic Studio, another app born in the late 80s.)

It’s not just skin deep, because doing things like building workable UIs for performance and debugging promises to be easier.

Keep in mind, this is all basically hearsay on Max 5 because I haven’t seen it yet; I’m just condensing what I can based on my knowledge of Max and David’s introduction. But I don’t want to make you wait for details, since I know we have plenty of die-hard Max users collected here (and the odd Cycling ’74 employee, so I hope I’m not too far off.) That said, here’s an overview of what to look for from the new version, with more details to follow:

New features

  • Multiple undo. (Whoo! I’ll pay to upgrade right now.)

  • All new UI, resolution-independent patching with zoom in / zoom out. (See also: Quartz Composer.)
  • Find objects by browsing a visual catalog full of icons.
  • Overhauled codebase, built on cross-platform libraries.
  • New timing model that’s “more meaningful than milliseconds.” (The timing model was pretty essential to the old Max — it’s the reason original creator Miller Puckette named the program, after computer music pioneer Max Mathews’ timing work. It was also one of Max’s least modern features, arguably. I’ll try to find out what this means, technically speaking.)
  • All-new documentation, fully integrated with the interface and the Web, and with friendlier introductory tutorials.
  • Separate user interfaces for performance/use, called “Presentation Mode”. Aside from multiple undo, this is the other thing I’m most excited about; I love the ability to do this in Reaktor and loathe the UI building experience in Max 4.
  • Host sync for VST plug-ins, making Max into a more usable host.
  • File browser with preview
  • Multi-processor polyphony

Oh, yeah, and preset saving that actually works the way it should, messages sent to message boxes without prepending anything, pattrstorage editing, localization and Unicode via a new JSON-based file format, and lots of other improvements.

Support and compatibility

So, that’s all well and good. Now, more importantly, what will work, and what will break? You should definitely read David’s story for the details, but since I like birds-eye views, here’s how I understand it:

Platforms:

  • Mac and Windows, now identical-ish: Thanks to new, cross-platform libraries, and a window overhaul that will particularly benefit Windows (long second-class systems UI-wise when it came to Max), you’re less likely than ever to care what platform you’re on.
  • Someday, Linux? David suggests that a Linux port, while not in the immediate future, is something C74 “wants” to do. It was impossible with the old codebase, but no more.

Works:

  • Most patches (patches with specific UI features may require reworking, naturally, because of the new UI)
  • Most externals (again, UI is likely to be the issue, but otherwise, if you made it through the Max 4.6 / Intel Mac hurdle, you should be in good shape)
  • Java (using mxj)
  • JavaScript (using jsui)

So, from a compatibility standpoint, you’re in pretty good shape. But there’s some major bad news:

What about plug-ins?

Pluggo support is completely broken, for now:

  • Max 4 Pluggo plug-ins won’t work. They need to be updated to a Max 5 format. Wait a sec … there’s a problem:
  • The Max 5 Pluggo won’t be ready with Max 5.

Translation: you won’t be able to take your Max patch and turn it into a plug-in for use with other applications, which for many of us is one of the major selling points of Max. David writes: “this new format is unlikely to be ready when Max 5 is first released. If your life revolves around plug-in development, you’ll probably want to wait to upgrade until we change our plug-in support to work with the new core environment.”

So, the good news is, there will be this functionality eventually. The bad news is, we don’t yet know when that is. If I hear about a timeline, I’ll let you know.

This isn’t necessarily the end of the world, because for some applications, building a standalone Max application, possibly with ReWire support, is a better choice. There’s no mention of standalone or ReWire support in Max 5; again, I’ll keep you posted if I hear specifics.