pattrstorage too greedy?
Greetings,
According to the reference manual, attribute greedy should behave like this: "When disabled, the pattrstorage object can see pattrstorage objects in a child patch, but no other objects at that level or below in the patcher hierarchy." I am experiencing a slightly different behavior, namely that greed limitation is contingent on the presence of a pattrstorage object in the child patch. If it's not there, even with greedy set to 0, all exposed objects in the child patch are seen by the parent pattrstorage object. Hopefully the patch below demonstrates this. Please let me know if this is expected behavior.
Thanks,
Eric
it is the behavoir I'd expect, if this was not so, making an abstraction tap into the pattrstorage system would be impossible !
which would be very sad ;)
you'll have to use the active message on the name of the subpatchers you wan't to exclude.
I'm not sure this is so. Recall that with the "greedy" attribute enabled pattrstorage does "see everything" as advertised, which as you point out is sometimes desirable. However, my example patch above addresses the fact that when "greedy" is turned off, pattrstorage still sees some things which, if I understood it correctly, the documentation suggests that it should not see.
Of course it's possible to make anything inaccessible with the "active" message, and placing a pattrstorage in every subpatch apparently also solves the problem. But the documentation is not clear on this point, and the interaction of multiple pattrstorage objects at different levels might be worth learning more about.
I should mention that I'm using 4.5.7 on OSX 10.4.6.
Eric
Eric -
greedy is working as advertised. I'm not entirely sure what the
problem is.
greedy 0: pattrstorage looks downwards. if it encounters another
pattrstorage object, it sees that object, but nothing else at the
patcher level or below of that 2nd object.
greedy 1: pattrstorage looks downwards. regardless of what objects it
encounters, it sees everything, as far down the patcher hierarchy as
it can.
greedy 2: pattrstorage looks in its own patch, and nowhere else.
jb
Thanks, Jeremy.
My documentation was out of date and the behavior of pattrstorage has since changed. It make a lot more sense with mode 2 added.
Eric