[patcherargs] flexible list items

Brian H.'s icon

Hi,
I want to have an abstraction that takes a list of variable length as an argument. I also want to have a default list, in case there is no argument. It seems like once there is a list argument in [patcherargs], the flexibility of the number of items is gone.

In the example below, the default argument is a 5 item list. If I override the default with my own argument, and it has *fewer* items than the default, then a list of my argument + the end of the default argument.

What's the logic I'm missing here?
Thanks,
Brian

Max Patch
Copy patch and select New From Clipboard in Max.

Bill 2's icon

I couldn't work that out either a few months ago, so I made a workaround with [zl reg] and a delayed [loadbang]:

Max Patch
Copy patch and select New From Clipboard in Max.

With any luck someone's got a better method.

Roman Thilenius's icon

the only thing you can do is to filter out "0" - which means that "0" can also not be used in cases where you want it.

works great for say, a list of symbols as argument-to-patcher.

otherwise... you can always use quotation marks (yes that sucks) and send your list as one symbol into the patcher. in this case it can also be longer than 9 elements.

Brian H.'s icon

Do you guys think this is a bug? I don't see it as expected behavior...

Bill 2's icon

My guess is that it's not a bug. One could expect one's own argument to completely override the default list, as with [zl reg]. But what happens isn't unusual in Max either, e.g. [pack] does it.

Bill 2's icon

But currently it works in a very silly way, like Monty Python. ;-)