[PD] PolyPoly - tricky to modify

Phil Stone pkstone at ucdavis.edu
Fri Aug 10 19:09:07 CEST 2007

I have been using Frank B.'s wonderful abstraction [polypoly] (which is 
a revision and improvement of [nqpoly]) and getting great results with 
it.  In fact, I'll publish a synth based on it very soon now -- just as 
soon as I work out this final issue.

I added an extra inlet to [polypoly] in order to be able to send a 
"clear" message to the [poly] object within it, which manages all the 
dynamically-created voices.  I did this because imperfect input can 
sometimes drop a note-off and leave a note hanging, and it never gets 
de-allocated or released by [poly] -- that's what the "clear" message 

This actually worked great, with one small problem -- the $0-poly 
subpatch, which is where the magic of [polypoly] mostly seems to occur, 
doesn't respond well to editing of its parent.  There's dynamic 
instantiation using $0- variables going on here, and I think that's what 
is getting messed up by editing -- these extra lines appear in the 
edited version:

#X obj 50 60 r 1002-in1;
#X obj 199 60 r 1002-in2;
#X obj 50 200 throw~ 1002-out0;
#X obj 199 200 throw~ 1002-out1;

and the subpatch invocation is this:

#N canvas 7 455 362 318 1002-poly 0;   (edited)

instead of:

#N canvas 7 455 362 318 \$0-poly 0;       (original)

These cause startup errors, although after that, everything seems to 
work fine.

I'm not sure how to correctly edit self-modifying patches such as this.  
What's the trick?  Should I just edit the text directly?  I've attached 
the modified version of [polypoly].  By the way, Frank, will [polypoly] 
be made available from CVS?  I think it's the best thing since sliced bread.

Phil Stone
UC Davis

More information about the Pd-list mailing list