Exclude vars from autopattr by name.

Mar 5, 2008 at 1:45am

Exclude vars from autopattr by name.

Dear all,

Is it possible to exclude stuff from autopattr by name? I have objects all over the place and it’s very difficult/messy to get the autopattr “exclude” wire connected to all of them.

‘active foo 0′ on pattrstorage doesnt do the same thing.

- Glot

#36186
Mar 5, 2008 at 3:13am

i don’t think so.
i would recommend going the other way around. name the things you want in autopattr, and don’t name what you don’t want. keep autoname 0 and you’ll get just the named objects in the pattr.

the pattr stuff is great, but you kind of have to incorporate it from the ground up. sometimes it’s hard to just shove it into an existing application and get good results.

#124019
Mar 5, 2008 at 3:16am

On Mar 4, 2008, at 5:45 PM, Glot wrote:
> Is it possible to exclude stuff from autopattr by name? I have
> objects all over the place and it’s very difficult/messy to get the
> autopattr “exclude” wire connected to all of them.

Do the object you’re trying to exclude have to be named? If not, just
get rid of their names, and they will disappear from the pattr world.

Chris Muir
cbm@well.com

#124020
Mar 5, 2008 at 3:45am

Yes, the objects I’m excluding are named.

Here’s some patchers to demonstrate where the problem arises. It’s a local send and receive system using pattr.

guid.pat:
#P window setfont “Sans Serif” 10.;
#P window linecount 1;
#P newex 12 30 53 9109514 loadbang;
#P message 12 52 26 9109514 $0_;
#P newex 12 138 62 9109514 fromsymbol;
#P newex 12 94 49 9109514 zl ecils 1;
#P newex 12 116 40 9109514 itoa;
#P newex 12 72 40 9109514 atoi;
#P outlet 12 160 15 0;
#P connect 4 0 0 0;
#P connect 2 0 4 0;
#P connect 3 0 2 0;
#P connect 1 0 3 0;
#P connect 5 0 1 0;
#P connect 6 0 5 0;
#P window clipboard copycount 7;

ls.pat:
#P window setfont “Sans Serif” 10.;
#P window linecount 1;
#P newex 13 45 29 9109514 t b b;
#P message 74 111 71 9109514 $1;
#P newex 13 67 48 9109514 deferlow;
#P newex 13 23 53 9109514 loadbang;
#P newex 13 89 193 9109514 pattr scope parent::guid @autorestore 0;
#X prestore 1 0 0;
#P objectname scope;
#P inlet 24 178 15 0;
#P newex 13 199 42 9109514 forward;
#P newex 13 131 71 9109514 sprintf %s_%s;
#P newex 13 153 39 9109514 _ send;
#P connect 7 0 1 1;
#P connect 8 1 7 0;
#P connect 3 0 2 0;
#P connect 0 0 2 0;
#P connect 1 0 0 0;
#P connect 4 0 1 0;
#P connect 6 0 4 0;
#P connect 8 0 6 0;
#P connect 5 0 8 0;
#P window clipboard copycount 9;

lr.pat:
#P window setfont “Sans Serif” 10.;
#P window linecount 1;
#P message 74 111 71 9109514 $1;
#P newex 13 153 14 9109514 _;
#P outlet 13 197 15 0;
#P newex 13 175 14 9109514 r;
#P newex 13 45 29 9109514 t b b;
#P newex 13 67 48 9109514 deferlow;
#P newex 13 23 53 9109514 loadbang;
#P newex 13 89 193 9109514 pattr scope parent::guid @autorestore 0;
#X prestore 1 0 0;
#P objectname scope;
#P newex 13 131 71 9109514 sprintf %s_%s;
#P connect 8 0 0 1;
#P connect 4 1 8 0;
#P connect 5 0 6 0;
#P connect 7 0 5 0;
#P connect 0 0 7 0;
#P connect 1 0 0 0;
#P connect 3 0 1 0;
#P connect 4 0 3 0;
#P connect 2 0 4 0;
#P window clipboard copycount 9;

and in the top-level patch, you put:
#P window setfont “Sans Serif” 10.;
#P window linecount 1;
#P newex 357 282 127 9109514 pattr guid @autorestore 0;
#X prestore 1 0 1384;
#P objectname guid;
#P number 327 317 35 10 0 0 164 139 0 0 0 40 204 140 222 222 222 0 0 0;
#P noclick;
#P objectname number[1];
#P newex 327 282 29 9109514 guid;
#P connect 2 1 1 0;
#P connect 0 0 1 0;
#P window clipboard copycount 3;

Now this is the only possible way I was able to get a GUID from child patches, because ‘pv’ doesn’t work with upwards scope when it’s saved in a file. pv only works in subpatchers. So I had to use the pattr system here.

The problem is that when changing presets, all the GUID’s get all messed up, and set to various different values that were in the GUID’s at different moments in time. And there’s no way to exclude the pattr from downlevel scope from the ‘pattr’ object itself (like @exclude 1) — if that worked I could just exclude it from at the LS and LR patch.

I have local sends and receives everywhere, so adding them to ‘active foo 0′ mode would involve me making a nasty list from dynamic names and constantly adding new entries to it. It doesn’t help to do what rob mentioned, cause even if I add them one by one, the pattr objects in the LS and LR patches get added in automatically.

- Glot

#124021

You must be logged in to reply to this topic.