Closed for Company Meetings: Between September 18 (5pm PDT) and September 22 (12pm PDT), Support and Sales requests will be delayed. Only time-sensitive issues will be addressed during that time. Thanks for your patience.
Today we are excited to share the upcoming release of Max 6, and new, more accessible pricing for Max. Starting today, all new Max purchases will recieve a free Max 6 upgrade. For more info, please read this Special Message from David Zicarelli.
The question on everyone's minds: How do I get beta access? I'll beg. I'll drive up to SF and sit on your doorstep and generally be in the way and act pitiful. I'll bring cute kittens. THINK OF THE KITTENS
edit: also, 'Code Generation' means pluggo is coming back, right? right!?
It seems there will be 3 versions of Max now (Max Code/Max 6/M4L). The upgrade path for personal licenses needs to be worked out. Asking people to pay 3 times to upgrade essentially a single package would be a little unfair. If you place on top of that the separate upgrade price for Live itself it becomes quite expensive.
That said I am amazed at the achievement of getting code to run 15 times faster whilst simultaneously improving the quality and moving up to 64bit. That is astounding and I am not aware of anything that can make such a claim during an upgrade. I at least never heard of such a thing. Also the mutlithreading of patchers sounds great. I didn't expect Max to be able to use multicore any time soon so that is great. I have a worry about M4L but I guess that'll be worked out in time.
@EMV: Thanks for your reply, but that's not what I was asking. I was specifically asking if Max 6 would support OS 10.5 - Leopard, not 10.6 Snow Leopard. My question was not concerned with previous versions of Max, just Max 6. I have a four year old MacBook & I'm not planning on buying a new computer just run Max 6. So I plan on staying with good ole 10.5.8 for the forseeable future.
@grizzle I spent years working on compilers and virtual machines, and it is not at all unusual to get amazing speedups by inserting a compile phase into a few key spots in an otherwise interpreted product. Not sure that this is what is promised by Cycling, but it is certainly possible.
We'll be posting more detailed information about "code generation" and other Max 6 features soon. There will be a lots to talk about then, and I don't want to attempt to talk about it until that information is ready. Until then, feel free to speculate, but we might steal your ideas. ;)
@Andrew: Ideas for you to steal! (Also known as OH I WISH I WISH UPON A FISH)
Code Generation of standalone apps - apps are now fully compiled applications, no more runtime!
Along those lines, no runtime means being able to target various plugin formats (VST, AU, RTAS, Live) without needing a runtime to run them in.
Even further down the insanity-rabbit-hole, target things like Flash or some other web-based system (I have no personal need for it, but at least once a month I see someone wondering how to make Max run in a browser...)
The way Gen~ seems to work to me (with the limited information I've got) is that it is similar in use to a subpatcher/bpatcher that's precompiled, so you can patch a chunk of code together, compile it, and use it inside other patches for speed gains. That is happy as well.
Hey, how about Arduino/Processing as a target? :P Program your integrated hardware with max! Would be snazzy. And probably painful.
One more: I like that each top level patcher gets its own thread, how about each Gen~ instance of a compatch (I'm coining this term for compiled patches) runs in it's own thread? Make every max object in a patch have it's own thread! :D
The Max/Web interaction is really a permanently reoccurring issue here.
And here is another idea I'd be very pleased if it was stolen:
What about an extended jweb object. Currently it is practically a browser inside max. But what if this browser could interact with the max-patch that contains it: In example trigger DOM-events via message.
I load a website into jweb that contains foo bar
A message could look like [elementByIdEvent myId click] and a 'click' will be trigger to the anchor tag.
I would say that could solve 80-90% of the Max/Web interactions requested here.
are you kidding?
Synthmaker, synthedit, sonicbirth don't offer a solid solution.
Synthmaker is very nice.
But I had some very bad issues with timing accuracy.
and it offers only windows VST build.
Not enough for commercial purpose..
my dev team & I have targeted juce c++ especially for this reason.
Julien: Imagine a stable, multiplatform SonicBirth...
but I am not a commercial developer. Most of the time I just need to create a ad hoc plug to play my DAW in real time and keep the data/info/stuff inside the piece... Pluggo was great, Live is cute but not for me (not enough of a real DAW, especially with multichannel support and bussing and mixing and everything else) so there is something missing in my composition workflow...
@Pierre-Alexandre I'm dreaming about Max6 providing this kind of wrapper.
fmo, Cycling74 is the only company which could provide that at this moment & close future.
max for live is VERY nice and, as an ableton certified trainer & music producer, I can only say I'm using it a lot (this is the reason why I digged a lot and have been certified thus)
BUT it is for Live only, obviously.
As a dev & owner of my little company too, we're designing plugin and we'd love to provide plugins for Ableton Live, but for ALL possible DAW, ALL possible platforms.
We're just all waiting for more news and this is amazing :)
Reaktor strategy is nice because we can use Reaktor as VST.
NI provides some features about locking some parts (especially DSPs) which could be nice, but users cannot use that at all.
I'd LOVE to have this kind of ability with Max6
so Max to VST would really break the line and create a SO competitive framework.
But we'd need to protect some parts of our work.
oh, guys... this could be a clue about gen~
in gen~ we'd be able to protect some little personnal investment in dsp research etc, and we could offer the whole UI for people to learn/understand etc.
a new model is coming here
Andrew, let take some notes please ;)
Apologies for "me too!"-ing, but multi-touch support would be a real boon.
Also consider that both Mac OS Lion and Windows 8 are purported to be providing OS level support for at least a standard vocabulary of multi-touch gestures (probably mostly dual-touch, but better than nothing…).
To the extent that real multi-touch (> 2 points) is still evolving, it might be tempting to take a wait-and-see approach. But I'm seeing kids who've played with iThings go up to standard computer screens and reach out five or more fingers and being disappointed that the machine doesn't interact. The UI future will be seriously multi-touch and it's coming soon.
I’m sorry to ask you cycling people for even more figures, but can you give us any clues as to academic discounts? The reason I need to know is that we’re currently in the capital expenditure round at the university where I work, and I’d love to budget for some Max 6 upgrades. I imagine quite a number of other academics might be in the same position at this time of year..
Thank you for all your enthusiasm about code generation. We realize it's an exciting, yet vague, area of possibilities, and naturally there has been a lot of speculation as to what it might be. We'll be coming out with more information in the coming months, but in the meantime, I'd like to clarify a few things so that we won't disappoint your expectations.
The first thing to make clear is that the code generation tools don't compile existing max patches. They use new types of patchers with new kinds of operators. Many of the ideas, and many of the patching skills you are familiar with will translate, but these new patcher domains work with data and the expressions of the patch itself in a different way than existing Max patches and objects. These new kinds of patchers and operators simplify the problem area so that we are able to make reasonable assumptions for turning a patcher into raw code, compile, and optimize. So you won't take your existing Max 5 patches and "compile" them to produce faster code. There will be some amount of rethinking your problem and reprogramming in the code generation patchers.
The next thing to highlight is that this about more than performance. It makes it possible to do things which were previously too expensive or not possible to do with patching Max objects as they are. With gen~ for example, the graph operates one sample at a time rather than with a large vector. This alone opens the door to many DSP tasks which previously required using C code. The vector sample delay for any feedback stage got in the way of making recursive filters, FM feedback, and physical modeling algorithms just to name a few.
Finally, the Max 6 release will represent only the start of what we're doing with code generation. You've all brought up great ideas about possible applications, and many of these are things we've been actively thinking about. However, not all of them will be in the initial release. The first release will remain focused on getting the foundation in place and making it solid for use *within* Max. We think that this is a good place to start, and will be listening to you about how we can make it better.
We realize that this might open the doors to more questions than it answers, but for the time being we appreciate your patience while we work hard at finishing Max 6 so that we can get it in your hands.
@Roman Thilenius, about pluggo.
I read a lot of bad issues about VST produced with pluggo with recent versions of DAWs.
I didn't experiment them myself because I don't have pluggo.
I read about grabbing pluggo for free. I didn't even find the way, the corner of this website, to find it.
But I'm still interested (a lot)
you are right of course. but that can be solved by not using the latest but only older software.
while i am fully aware that this a dumb suggestion for a post pro studio based on PTHD those
are not depending on the use of custom pluggos anyway - but me for example.
if you want to try it a registration for max5, a copy of max4, and the free plugo runtime is all
you need. and if there are too many prolblems appearing in PT 9 you might need to use PT 7,
which of course isnt so easy on OSX because it might require aother OS with other drivers on
i use pluggo in logic 6, in some smaller VST hosts in OSX and in nuendo on mac os 9 - a 10 years
old operating system. on OS9 you can even host other VST plug-ins INSIDE pluggo plug-ins and
have direct access to all their parameters right from the pluggo runtime. that alone is worth
rebooting or using a second computer just for that task. (that functionality has been removed
from pluggo in later versions.)
@claesbjo : it would be a nice way.
but for us, developers of commercial plugins, it wouldn't be enough
but as a plugin user, it would be nice.
using already max for live like that... but indeed, only with Live.
indeed, but a grasp on reality is still important. We are *much* more likely to have plugins (AUs in this case) generated from Max from third party efforts: http://74objects.com/plugtastic/
pleasee don't get angry, but...
i'm so sorry you chose the cheaper/inferior OS :-( : the development is AudioUnit/Mac only for now...
but I can't wait for TapTools 4(containing plugtastic),along with my nifty new Max6 release!!
from what I read here some of the possible uses/features of [gen~] are very close to what FAUST (developed by GRAME http://faust.grame.fr/ ) does. It is free (even works on line so you are not really obliged to install in on your own machine) and, using a simplified language it creates the C++ code, or a max, Pd, Supercollider object, or a vst...
I'm no programe at all, don't know C, but was able during my first day of using/trying it to make max objects based on the patches/ abstractions I use a lot.
Seems to me the 2 approches are very similar - ok, gen~ will be inside of max, but faust does the vst
I never used faust.
I'd like to
It seems a nice framework!
btw, I'm quite sure the only approach for plugin design we'd have to choose is "pure" c++
reinventing the wheel is the main thing that stuck me (psychologically I mean ..)
But for efficiency & performance, it is the way.
does anyone have any faust documentation, or anything that can help in the development of using faust for max/msp? i just csnt find any steps or anything for it.
i would like to use it, it seems like a worthy program to build externals, instead of doing the whole xcode thing.
Click on the link at the Faust site that says "Read some papers" - there's some good stuff in there, including a tutorial. Yann Orlarey was also very helpful to me when I was working with it, as was Stephane Letz.
I don't think faust is JIT (just in time) compiled. I don't know how similar it will be, but LuaAV does JIT compile and the same developers are working for C74. I think the authors wrote some papers describing it, but their site seems to be down right now. Might be an interesting read for people excited about gen~