Live data from Hacker News

Learn How to Build Your Own Max for Live Devices

elphnt.io

21–24 of 24 posts

Re: Learn How to Build Your Own Max for Live Devices

#21
post #3

Earlier quoted context omitted.

Is it great? I've never liked it. It has downsides of assembly programming, like unnamed (but persistent) values stored in temporary "register" slot output pins, some additional own-goal downsides like "significant whitespace" of the positioning of wires and port output ordering, and all of the downsides of an oldschool scripting language like TCL, with terrible performance characteristics, buggy implementation, an e…

Well, it is great, just not great for you. :-) It's a low code environment built to allow non-developers to develop! It is undoubtedly great for many, many people. BTW, my Scheme for Max extension does run in the timing thread, if you want to write sequencing code in Max. I basically did the same thing they did with JS (lock it to one thread) but let the user choose the thread and let the user control when the GC run…

I don't know any non-programmers who can successfully use it to make anything that isn't a glitchy mess. It's not really a low code environment. It's a "code but it's in squares with lines connecting them" environment. You're still writing code, but unlike some systems which can successfully use this model to try to make some parts easier, it's made much harder because of how much hidden, weird, and counterproductive stuff Max does. I had a much easier time teaching people to use ChucK or just C. Of the people I've showed Max and something else, everyone preferred whatever the other thing was.

Your thing sounds cool, though.

Re: Learn How to Build Your Own Max for Live Devices

#22
post #21

Earlier quoted context omitted.

Well, it is great, just not great for you. :-) It's a low code environment built to allow non-developers to develop! It is undoubtedly great for many, many people. BTW, my Scheme for Max extension does run in the timing thread, if you want to write sequencing code in Max. I basically did the same thing they did with JS (lock it to one thread) but let the user choose the thread and let the user control when the GC run…

I don't know any non-programmers who can successfully use it to make anything that isn't a glitchy mess. It's not really a low code environment. It's a "code but it's in squares with lines connecting them" environment. You're still writing code, but unlike some systems which can successfully use this model to try to make some parts easier, it's made much harder because of how much hidden, weird, and counterproductive…

Well I agree that programming Max is weird. And if I didn't like code better, I wouldn't have made Scheme for Max or the csound~ max object. :-)

But... we teach max to a high level at the university where I'm doing my Phd in music and CS, and I have seen tons of great stuff built with it by non-devs. I would argue Max is counterintuitive to programmers. My experience with non-coders is that they take to it usually better than to things like Chuck, Csound, SuperCollider, etc.

As a programmer, Max and Live provide me with an outer container layer and environment that is far more productive compared to code-only. but this of course depends on what you are trying to do and how you like to do it!

Re: Learn How to Build Your Own Max for Live Devices

#23

Max4Live is what got me into Ableton, it also got me out of Ableton... As someone who had been using PureData for quite a while the idea of having that kind of development environment integrated into the DAW was super exciting, unfortunately the actual implementation leaves a lot to be desired; personally the final straw was when I realized that the Max process space was global to Ableton so that global variables wou…

Max was started in 1985 but PureData wasn't until 1996.
Post reply on HN