MAX

DSP, Plug-in and Host development discussion.
klaatugort
KVRer
14 posts since 16 Oct, 2019

Post Thu Oct 17, 2019 5:33 pm

max is an extremely frustrating software to learn to use. its not out there but its common sense that any approachable max design was made by an actual computer programmer. there is a design workflow element which makes things very difficult, where you put the modules determines the order in which they are processed:
i=input o=output -#=order of operation
[oa-ia]-4 [oa-ia]-3 [oa-ia]-2 [oa-ia]-1
[ia]

pottering
KVRian
762 posts since 14 Dec, 2014

Re: MAX

Post Thu Oct 17, 2019 7:14 pm

Max has a order of operations, just like mathematics and all computer languages have.

Those order of operations are all arbitrary conventions, so "common sense" doesn't play a role.

Max is a visual language, so it uses a visual order of operations to define priority when other factors are the same, "right-to-left and bottom-to-top".

https://docs.cycling74.com/max8/tutoria ... cchapter05

What else could be used besides that?

One could argue that the length or path of the fake cables could determine that (like they were water pipes), but then the opposite (long "cables" and short ones triggering at the same time) looks just as unintuitive, and you made the fake cables (their path/length) part of the logic, which is a big change, it makes so that the user has to manage the fake cables length too (in addition to the objects' positions). And it retains some of the problems of the current system, like the fact that if you move objects it can change the logic, that would still happen with the cables determining order.

Objects could have separate inlet for each type of message they can receive, but objects can receive dozens of types of messages, learning a visual order of operations is way simpler than managing the inlets/outlets for each object in a patch.

PD uses a different logic, but it has its problems too:

https://puredata.info/docs/tutorials/Pd ... ger-object

I would argue Max's order of operations is better, since besides being visible, it makes organization part of the logic, and being mindful of organization is good for programming.

klaatugort
KVRer
14 posts since 16 Oct, 2019

Re: MAX

Post Fri Oct 18, 2019 12:49 am

they shuld have done water pipes though. common sense plays a very big role in decision making.

pottering
KVRian
762 posts since 14 Dec, 2014

Re: MAX

Post Fri Oct 18, 2019 10:38 am

Nah, it is extra work for everyone (micromanaging "pipes" in addition to inlet position), for a tiny benefit for a minority of users (beginners that have trouble with current order of operation, which is not even all beginners).

klaatugort
KVRer
14 posts since 16 Oct, 2019

Re: MAX

Post Fri Oct 18, 2019 11:11 pm

up down makes much more sense
[4]
[3]
[2]
[1]
[bingo] so, pipes it is brah

pottering
KVRian
762 posts since 14 Dec, 2014

Re: MAX

Post Sat Oct 19, 2019 10:44 am

klaatugort wrote:
Fri Oct 18, 2019 11:11 pm
up down makes much more sense
[4]
[3]
[2]
[1]
[bingo] so, pipes it is brah
No, it doesn't make "more sense".

Adding MORE WORK for people that ACTUALLY USE MAX, just to please people that DON'T USE MAX (*) doesn't make ANY SENSE WHATSOEVER.

(*) Clearly you don't, otherwise you wouldn't be insisting on the clearly WORSE workflow that adds useless time-wasting micromanagement of the fake cables, for a tiny potential benefit in the beginning of the learning process.

User avatar
Tj Shredder
KVRAF
3237 posts since 6 Jan, 2017 from Outer Space

Re: MAX

Post Fri Oct 25, 2019 3:08 am

klaatugort wrote:
Thu Oct 17, 2019 5:33 pm
max is an extremely frustrating software to learn to use. its not out there but its common sense that any approachable max design was made by an actual computer programmer. there is a design workflow element which makes things very difficult, where you put the modules determines the order in which they are processed:
i=input o=output -#=order of operation
[oa-ia]-4 [oa-ia]-3 [oa-ia]-2 [oa-ia]-1
[ia]
I would say the opposite! Though in one of the first lessons you need to be introduced to the trigger object. Obviously you gave up before. In Pd the order is completely arbitrary and you cannot create reliable patches without the trigger object. In Max you can if you know the rules...
I gave up lines of code programming (c, c++ etc...) for Max and never regret it. Some who insist on constructions like if-then-else (very common in traditional programming languages) post funny questions on the Max forum...; - )

Return to “DSP and Plug-in Development”