#N canvas 36 66 801 787 12;
#X obj 56 45 gemargs;
#X text 141 46 get arguments and initmessages of parent patch;
#X msg 60 106 bang;
#X obj 60 131 gemargs;
#X obj 60 186 print initmessages;
#X obj 106 156 print arguments;
#X text 247 103 Gem-objects can be initialized with initmessages \, which are arguments to the object \, but separated by semicolon;
#X obj 70 492 gemargs-test;
#X obj 270 492 gemargs-test 1 2 3;
#X obj 270 643 gemargs-test \; only init;
#X obj 70 643 gemargs-test 2 arguments \; foo bar;
#X obj 325 146 rectangle 4 2 \; draw line;
#X obj 501 643 gemargs-test \; first init \; but there's more;
#X text 60 256 <arguments> are always output as lists \, whereas <initmessages> keep their selector.;
#X text 251 194 the [gemargs] object allows you to build abstractions that follow the same pattern.;
#X text 63 410 examples ========, f 8;
#X text 72 467 no args \, no init-msg;
#X text 275 466 some args \, no init-msg;
#X text 72 625 some args \, one init-msg;
#X text 272 624 no args \, one init-msg;
#X text 504 622 no args \, two init-msgs;
#X obj 549 341 gemargs 1;
#X text 57 332 You can pass an optional argument \, indicating the "parent depth" (0=the abstraction the [gemargs] object lives in \; 1=the parent of the abstraction \, ...), f 65;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
