I have a, probably, easy question. If I want to give an object, let’s take the play~ object, certain arguments in its box but want to leave others open, how do you do that? For instance, I want to tell the play~ object to have 2 channels, but I don’t want to define a buffer name to play for it from the beginning. The problem here is that the channel argument is on 2nd place so I have to tell Max that this is supposed to be the channel argument by mentioning a placeholder name as the buffer argument.
Nope, you cannot do that. When using arguments, the place/order are fixed. The more flexible way is attributes. Jitter objects use them by default, but not all Max objects use attributes.
In the case of [play~], you can see in the reference that the buffer~ name is mandatory, though.
That’s annoying. The point is that I definitely know the number of channels play is supposed to have, but the buffer will be defined at runtime via the set (buffer) message. I cannot define the number of channels via a message. Mhmpf.