#N canvas 431 32 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header poly 3 12 0 18 -204280
-1 0;
#X obj 0 287 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 482 220 494 405 META 0;
#X text 12 165 LIBRARY internal;
#X text 12 205 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 185 AUTHOR Miller Puckette;
#X text 12 245 HELP_PATCH_AUTHORS Updated for Pd version 0.25. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS control MIDI;
#X text 12 45 DESCRIPTION MIDI-style polyphonic voice allocator;
#X text 12 85 INLET_1 float;
#X text 12 125 OUTLET_1 float;
#X text 12 145 OUTLET_2 float;
#X text 12 65 INLET_0 float list stop clear;
#X text 12 105 OUTLET_0 float;
#X text 12 225 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 435 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 512 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 568 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 220 510 428 109 Related_objects 0;
#X obj 62 43 makenote;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X obj 22 43 route;
#X obj 122 43 pack;
#X text 8 2 [poly] Related Objects;
#X restore 102 597 pd Related_objects;
#X obj 78 296 cnv 17 3 100 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 295 float;
#X text 98 323 list;
#X obj 78 444 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 407 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 406 float;
#X text 98 381 clear;
#X obj 503 11 poly;
#X obj 102 190 poly 4 1;
#X msg 153 144 60 0;
#X msg 197 144 62 64;
#X msg 244 144 62 0;
#X obj 102 216 pack 0 0 0;
#X obj 102 242 print;
#X text 147 241 Output is in the printout window.;
#X msg 304 145 stop;
#X msg 346 145 clear;
#X msg 102 144 60 64;
#X text 98 353 stop;
#X text 168 353 - output all values one by one \, ordered according
to voice number \, and clear the memory of [poly].;
#X text 168 381 - clear all stored values.;
#X text 167 406 - the right inlet stores the velocity.;
#X text 11 23 MIDI-style polyphonic voice allocator;
#X text 168 323 - a (pitch \, velocity) pair is distributed to the
two inlets. Lists with more than two elements will be truncated.;
#X text 168 545 - a "1" sets voice stealing \, which is off by default.
;
#X text 168 530 - the first argument sets the number of voices.;
#X text 80 530 1) float;
#X text 80 545 2) float;
#X text 48 56 The [poly] object takes a stream of pitch/velocity pairs
and outputs triples containing voice number \, pitch and velocity.
You can pack the output and use the route object to route messages
among a bank of voices depending on the first outlet. [poly] can be
configured to do voice stealing or not (the default.);
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 78 467 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X obj 78 490 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 443 float;
#X text 98 466 float;
#X text 98 489 float;
#X text 168 295 - a float to the left inlet sets the pitch and triggers
the output.;
#X text 168 443 - voice number;
#X text 168 466 - pitch;
#X text 168 489 - velocity;
#X connect 16 0 20 0;
#X connect 16 1 20 1;
#X connect 16 2 20 2;
#X connect 17 0 16 0;
#X connect 18 0 16 0;
#X connect 19 0 16 0;
#X connect 20 0 21 0;
#X connect 23 0 16 0;
#X connect 24 0 16 0;
#X connect 25 0 16 0;
