Hacker News new | ask | show | jobs
by honkycat 12 days ago
I hate max so much. I wish this could extend to the push 3, I've been working on an orchid clone.

It would be TRIVIAL in any other language, but noooo, I have to write a fucking max patch and deal with their trash visual syntax and runtime.

2 comments

FWIW you can bypass quite a lot of the Max visual stuff by using the JS support, which now finally supports modern JS (the v8 object). A lot of the LOM (Live API) is exposed there though you will no doubt need to use Max objects for some stuff. They also have web UI support with jweb.

I get the frustration coming to Max as a regular developer, but actually when I bothered to learn it was one of the most rewarding uses of time and I find it really quite fun to work in (and frustrating sometimes of course! But the JS support helps). You just need to forget everything you know about programming lol

The visual patching part of Max makes sense when you know the history of the program. It was built for musicians working at the forefront of interfacing MIDI with the power of the more compact mainframe computers of the day (PDP-11 IIRC). The 'programming' was done through a GUI running on the first Macintosh. At first there was no audio processing in Max itself, it was purely for generating and manipulating MIDI data.

You can see this 'bare-bones' style of Max with Miller Puckette's continuation of his original work in Pure Data[1] (aka Pd). The nice thing about Pd is that it's open source, so all the scheduling and signal flow logic can be examined and understood. As I understand it, the basics of Pd are comparable to how Max still works under the hood, though no doubt there has been some deviation over the years.

As it is now, Max offers a very smooth interface to the basic paradigm that was established 40 years ago, with many modern advances, but the fundamental idea hasn't changed all that much since it first came out.

If you really hate having to work through a GUI for computer music there's always SuperCollider[2] and its many derivatives (Sonic Pi, TidalCycles, etc.). It's nice to have options!

[1] https://msp.ucsd.edu/software.html

[2] https://supercollider.github.io/