Forums > MaxMSP

feature request: grab subpatcher

March 6, 2007 | 4:40 pm

Hi all and especially cycling 74,

At the moment I am dying for the possibility to connect a receive to a subpatcher and grab the subpatcher’s output. It’s like having a function return back to the caller. Without this fundamental functionality I feel crippled!

Thanks,
Mattijs


March 6, 2007 | 5:10 pm

Er, add an [outlet] within the subpatcher? Then [p foo] -> [s foo]. Perhaps I don’t understand what you’re after.

best,
Dan


March 6, 2007 | 7:37 pm

No,

For example like this (schematically):

#P comment 247 50 48 9109513 time (ms);
#P user jit.pwindow 208 93 82 62 0 1 0 0 1 0;
#P flonum 209 50 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 209 70 80 9109513 grab 1 grabMovie;
#P newex 91 70 57 9109513 r grabMovie;
#P flonum 45 50 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.pwindow 44 93 82 62 0 1 0 0 1 0;
#N vpatcher 122 264 320 482;
#P window setfont "Sans Serif" 9.;
#P newex 50 50 27 9109513 t b f;
#P newex 67 72 27 9109513 / 0.6;
#P newex 67 95 62 9109513 prepend time;
#P newex 50 120 55 9109513 jit.qt.movie;
#P inlet 50 30 15 0;
#P outlet 50 144 15 0;
#P connect 1 0 5 0;
#P connect 3 0 2 0;
#P connect 5 0 2 0;
#P connect 2 0 0 0;
#P connect 5 1 4 0;
#P connect 4 0 3 0;
#P pop;
#P newobj 45 70 42 9109513 p movie;
#P comment 83 50 48 9109513 time (ms);
#P connect 6 0 5 0;
#P connect 5 0 7 0;
#P connect 4 0 1 0;
#P connect 3 0 1 0;
#P connect 1 0 2 0;

Mattijs

Quote: plasticpool wrote on Tue, 06 March 2007 18:10
—————————————————-
> Er, add an [outlet] within the subpatcher? Then [p foo] -> [s foo]. Perhaps I don’t understand what you’re after.
>
> best,
> Dan
>
>
>
>
—————————————————-


March 9, 2007 | 8:25 am

Mattijs Kneppers schrieb:
> For example like this (schematically):

Does it work if you put the receive inside the subpatcher? I guess that
wouldn’t hurt…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


March 9, 2007 | 9:23 am

We work with big patches in which it is essential to keep a very tight structure. Subpatchers are often used as black boxes, which means all communication must be done via inlets and outlets. To place a receive inside a black box ruins this structure..

Mattijs

Quote: Stefan Tiedje wrote on Fri, 09 March 2007 09:25
—————————————————-
> Mattijs Kneppers schrieb:
> > For example like this (schematically):
>
> Does it work if you put the receive inside the subpatcher? I guess that
> wouldn’t hurt…
>
> Stefan
>
> —
> Stefan Tiedje————x——-
> –_____———–|————–
> –(_|_ —-|—–|—–()——-
> — _|_)—-|—–()————–
> ———-()——–www.ccmix.com
>
>
—————————————————-



_j
March 11, 2007 | 6:57 am

I’m kinda confused about this too. I don’t understand what you mean, even after looking at the patch.


April 24, 2007 | 10:13 am

Quote: Mattijs wrote on Tue, 06 March 2007 17:40
—————————————————-
> At the moment I am dying for the possibility to connect a receive to a subpatcher and grab the subpatcher’s output. It’s like having a function return back to the caller. Without this fundamental functionality I feel crippled!
—————————————————-

Unfortunately, the grab object’s magic (as you have seen) doesn’t work with abstractions or sub-patchers. At least, it doesn’t work the way you were hoping for.

It may not fit well with your design principles, but the only way to get the effect you want is something like the following. It’s the best I got.

#P window linecount 1;
#P newex 209 102 80 9109513 r grabscherout;
#P window linecount 2;
#P comment 247 50 48 9109513 time (ms);
#P user jit.pwindow 208 141 82 62 0 1 0 0 1 0;
#P flonum 209 50 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 209 80 74 9109513 s grabscherin;
#P flonum 45 50 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P user jit.pwindow 41 205 82 62 0 1 0 0 1 0;
#N vpatcher 122 264 544 535;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 153 171 80 196617 s grabscherout;
#P window linecount 0;
#P newex 153 143 31 196617 grab;
#P newex 153 116 30 196617 t b f;
#P window linecount 1;
#P newex 153 95 74 196617 r grabscherin;
#P window linecount 0;
#P newex 50 50 30 196617 t b f;
#P newex 67 72 35 196617 / 0.6;
#P newex 67 95 70 196617 prepend time;
#P newex 50 120 65 196617 jit.qt.movie;
#P inlet 50 30 15 0;
#P outlet 50 144 15 0;
#P connect 1 0 5 0;
#P fasten 8 1 2 0 179 165 139 165 61 113;
#P connect 5 0 2 0;
#P connect 3 0 2 0;
#P connect 2 0 0 0;
#P fasten 7 1 4 0 178 138 241 138 241 69 72 69;
#P connect 5 1 4 0;
#P connect 4 0 3 0;
#P connect 6 0 7 0;
#P connect 7 0 8 0;
#P connect 8 0 9 0;
#P pop;
#P newobj 45 70 42 9109513 p movie;
#P window linecount 2;
#P comment 83 50 48 9109513 time (ms);
#P connect 8 0 6 0;
#P connect 5 0 4 0;
#P connect 1 0 2 0;
#P connect 3 0 1 0;
#P window clipboard copycount 9;


Viewing 7 posts - 1 through 7 (of 7 total)