Curious: Max/MSP vs JUCE

Hello everyone,

This is more of a generalized curiosity question: assuming someone has advanced knowledge of both Max/MSP and JUCE, would there ever be a reason to choose Max/MSP over JUCE? Are there any situations where Max would actually yield better performance?

Knowing what I know about Juce so far, it seems like the lower-level C++ code would pretty much always yield better performance, as long as it’s well written…

One example I’m thinking of is that Imogen Heap’s MiMu glove software is created in Max4Live. With a professional team of coders behind her, why wouldn’t they choose to build a VST from the ground up in C++, juce or VST API ?

It comes down to choosing the best suited development environment for the job. Raw execution speed isn’t always the primary concern. It might for example be more important to be able to quickly change and test different things, for which C++ is notoriously badly suited.

Also, Max/MSP itself is written in C and/or C++ and external objects can be written by 3rd parties for it with those languages too.

This shows the origin of the gloves, which has had a long development cycle:- (YouTube) Musical Glove
I’d bet most of the code had scripted origins - and I’m sure it does the job Imogen wanted it to.
It’s hard to know, sometimes people just make a choice and have to stick with it - we’ll never know if it’s they made the right one. I know choosing Juce was the right decision for me. :grin:

I did both.
If you build with max then its easy to test and try stuff.
I also use python pyo for testing ideas which is a quick and easy way to mock something up.
The problem with max was getting things like presets into the plugin.
You build something with max and it spits out lines and lines of kind of nonsense spaghetti code which you have to live with.
If you figure out how to do it yourself in C++ you know what is going and how to change it.
It’s a much bigger longer job without max.

2 Likes

Interesting!
In working on my current longterm project (a vocal harmonizer), I’ve also found that Max is useful for quickly mocking up logic & basic program structure – but JUCE has definitely made me miss a few Max objects, particularly GUI ones like the Nslider (very difficult to try to recreate!). I also think a big advantage of Max is how easy it makes it to see the signal flow.

Thanks for tyour answer! :slightly_smiling_face:

1 Like

Max MSP is built on JUCE (at least some of it).