max v2; #N vpatcher 228 79 516 264; #P window setfont "Fixedwidth Serif" 10.; #P window linecount 1; #N vpatcher 40 55 404 390; #P window setfont Times 10.; #P comment 136 20 75 1310730 ¥ play randomly.; #P window setfont "Fixedwidth Serif" 10.; #P hidden message 286 86 32 1441802 100.; #P hidden newex 286 58 53 1441802 loadbang; #P window setfont Times 10.; #P comment 142 227 44 1310730 volume.; #P window setfont "Fixedwidth Serif" 10.; #P message 54 260 32 1441802 stop; #P message 40 242 73 1441802 startwindow; #P window setfont Times 10.; #P comment 12 226 70 1310730 start/stop audio.; #P window setfont "Fixedwidth Serif" 10.; #P number 24 81 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P message 24 102 50 1441802 open \$1; #P message 248 160 86 1441802 target 0 \, \$1; #P flonum 248 134 49 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 118 80 69 1441802 random 127; #P toggle 118 21 15 0; #P newex 118 40 66 1441802 metro 200; #P newex 74 80 41 1441802 noise~; #N counter 1 16; #X flags 0 0; #P newobj 190 80 82 1441802 counter 1 16; #P message 190 107 63 1441802 target \$1; #P user gain~ 118 211 21 28 158 0 1.071519 7.94321 10.; #P newex 118 284 29 1441802 dac~; #P newex 118 180 140 1441802 poly~ littlefilter~ 16; #B color 5; #P window setfont Times 10.; #P comment 175 134 71 1310730 ¥ base frequency of filter.; #P comment 23 134 80 1310730 ¥ open a specific subpatch by voice number.; #P connect 14 0 13 0; #P connect 9 0 8 0; #P connect 8 0 10 0; #P fasten 5 0 2 0 195 129 123 129; #P connect 10 0 2 0; #P fasten 7 0 2 0 79 129 123 129; #P fasten 13 0 2 0 29 129 123 129; #P connect 2 0 4 0; #P fasten 17 0 3 0 59 280 123 280; #P fasten 16 0 3 0 45 280 123 280; #P connect 4 0 3 0; #P fasten 4 0 3 1 123 271 142 271; #P fasten 8 0 6 0 123 68 195 68; #P connect 6 0 5 0; #P hidden fasten 20 0 11 0 291 128 253 128; #P connect 11 0 12 0; #P connect 12 0 2 1; #P hidden connect 19 0 20 0; #P pop; #P newobj 87 127 158 1441802 p poly_using_signal_input; #N vpatcher 145 199 557 515; #P window setfont Times 10.; #P comment 136 15 75 1310730 ¥ play randomly.; #P comment 144 202 44 1310730 volume.; #P window setfont "Fixedwidth Serif" 10.; #P message 56 228 32 1441802 stop; #P message 42 210 73 1441802 startwindow; #P window setfont Times 10.; #P comment 14 194 70 1310730 start/stop audio.; #P window setfont "Fixedwidth Serif" 10.; #P number 271 141 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P number 271 195 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P toggle 118 17 15 0; #P newex 118 36 64 1441802 metro 250; #P newex 118 59 70 1441802 random 127; #P newex 118 82 109 1441802 makenote 64 1000; #P message 118 150 113 1441802 target \$1 \, \$2 \$3; #P newex 118 130 69 1441802 pack 0 0 0; #P newex 118 105 68 1441802 poly 16 1; #P user gain~ 118 192 21 28 158 0 1.071519 7.94321 10.; #P newex 118 262 29 1441802 dac~; #P newex 118 170 128 1441802 poly~ targetbeep~ 16; #B color 5; #P window setfont Times 10.; #P comment 218 214 118 1310730 ¥ the target message tells poly~ to send subsequent messages to a specific voice \, until another target message is received.; #P comment 281 163 93 1310730 ¥ compare: these should be the same.; #P connect 11 0 10 0; #P connect 10 0 9 0; #P connect 9 0 8 0; #P connect 8 0 5 0; #P connect 5 0 6 0; #P connect 6 0 7 0; #P connect 7 0 2 0; #P connect 2 0 4 0; #P fasten 16 0 3 0 61 253 123 253; #P fasten 15 0 3 0 47 253 123 253; #P connect 4 0 3 0; #P fasten 4 0 3 1 123 252 142 252; #P connect 5 1 6 1; #P fasten 8 1 5 1 222 102 181 102; #P connect 5 2 6 2; #P fasten 5 0 13 0 123 127 276 127; #P fasten 2 1 12 0 241 191 276 191; #P pop; #P newobj 87 104 122 1441802 p poly_using_target; #N vpatcher 90 124 585 458; #P origin 0 -55; #P window setfont Times 10.; #P comment 191 22 75 1310730 ¥ play randomly.; #P window setfont "Fixedwidth Serif" 10.; #P newex 173 94 32 1441802 + 60; #P newex 173 71 62 1441802 random 24; #P toggle 173 21 15 0; #P newex 173 45 53 1441802 metro 50; #P window setfont Times 10.; #P comment 200 231 44 1310730 volume.; #P comment 310 189 144 1310730 ¥ a simple poly~ subpatcher \, this time with dynamic cpu allocation.; #P window setfont "Fixedwidth Serif" 10.; #P message 105 257 32 1441802 stop; #P message 91 239 73 1441802 startwindow; #P window setfont Times 10.; #P comment 63 223 70 1310730 start/stop audio.; #P user gain~ 173 211 21 28 158 0 1.071519 7.94321 10.; #P window setfont "Fixedwidth Serif" 10.; #P newex 173 162 81 1441802 prepend note; #P user kslider 173 120 35 1 60 24 19 7 0 128 128 128 128 128 128 255 255 255 0 0 0 0 0 0; #P newex 173 281 29 1441802 dac~; #P newex 173 186 133 1441802 poly~ littlebeep2~ 16; #B color 5; #P window setfont Times 10.; #P comment 274 119 118 1310730 ¥ the note message tells poly~ to allocate the message to the next free voice.; #P connect 12 0 11 0; #P connect 11 0 13 0; #P connect 13 0 14 0; #P connect 14 0 3 0; #P connect 3 0 4 0; #P connect 4 0 1 0; #P connect 1 0 5 0; #P connect 5 0 2 0; #P fasten 8 0 2 0 110 279 178 279; #P fasten 7 0 2 0 96 279 178 279; #P fasten 5 0 2 1 178 271 197 271; #P pop; #P newobj 87 81 110 1441802 p poly_using_mute; #N vpatcher 90 124 585 458; #P origin 0 -55; #P window setfont Times 10.; #P comment 191 22 75 1310730 ¥ play randomly.; #P window setfont "Fixedwidth Serif" 10.; #P newex 173 94 32 1441802 + 60; #P newex 173 71 62 1441802 random 24; #P toggle 173 21 15 0; #P newex 173 45 53 1441802 metro 50; #P window setfont Times 10.; #P comment 200 231 44 1310730 volume.; #P comment 304 189 118 1310730 ¥ a simple poly~ subpatcher.; #P window setfont "Fixedwidth Serif" 10.; #P message 105 257 32 1441802 stop; #P message 91 239 73 1441802 startwindow; #P window setfont Times 10.; #P comment 63 223 70 1310730 start/stop audio.; #P user gain~ 173 211 21 28 158 0 1.071519 7.94321 10.; #P window setfont "Fixedwidth Serif" 10.; #P newex 173 162 81 1441802 prepend note; #P user kslider 173 120 35 1 60 24 19 7 0 128 128 128 128 128 128 255 255 255 0 0 0 0 0 0; #P newex 173 281 29 1441802 dac~; #P newex 173 186 128 1441802 poly~ littlebeep~ 16; #B color 5; #P window setfont Times 10.; #P comment 274 119 118 1310730 ¥ the note message tells poly~ to allocate the message to the next free voice.; #P connect 12 0 11 0; #P connect 11 0 13 0; #P connect 13 0 14 0; #P connect 14 0 3 0; #P connect 3 0 4 0; #P connect 4 0 1 0; #P connect 1 0 5 0; #P fasten 7 0 2 0 96 279 178 279; #P fasten 8 0 2 0 110 279 178 279; #P connect 5 0 2 0; #P fasten 5 0 2 1 178 271 197 271; #P pop; #P newobj 87 58 83 1441802 p simple_poly; #N vpatcher 40 55 531 361; #P origin -4 0; #P window setfont "Fixedwidth Serif" 10.; #P message 42 208 32 1441802 stop; #P message 28 190 73 1441802 startwindow; #P window setfont Times 10.; #P comment 182 200 42 1310730 volume.; #P comment 0 174 70 1310730 start/stop audio.; #P window setfont "Fixedwidth Serif" 10.; #P flonum 146 200 35 10 0 0 0 22 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 107 228 29 1441802 dac~; #P newex 107 200 27 1441802 *~; #P newex 313 156 78 1441802 littlesynth~; #P newex 233 156 78 1441802 littlesynth~; #P newex 153 156 78 1441802 littlesynth~; #P newex 73 156 78 1441802 littlesynth~; #P newex 73 94 65 1441802 pack 0 0 0; #P newex 73 123 331 1441802 route 1 2 3 4; #P newex 73 70 65 1441802 poly 4 1; #P newex 73 37 50 1441802 notein; #P window setfont Times 10.; #P comment 161 57 66 1310730 ¥ polyphony management \, the hard way.; #P connect 1 0 2 0; #P connect 2 0 4 0; #P connect 4 0 3 0; #P connect 3 0 5 0; #P connect 2 1 4 1; #P fasten 5 0 9 0 78 186 112 186; #P fasten 6 0 9 0 158 186 112 186; #P fasten 7 0 9 0 238 186 112 186; #P fasten 8 0 9 0 318 186 112 186; #P connect 9 0 10 0; #P fasten 15 0 10 0 47 226 112 226; #P fasten 14 0 10 0 33 226 112 226; #P connect 11 0 9 1; #P fasten 9 0 10 1 112 222 131 222; #P connect 2 2 4 2; #P fasten 1 1 2 1 98 62 133 62; #P connect 3 1 6 0; #P connect 3 2 7 0; #P connect 3 3 8 0; #P pop; #P newobj 87 35 80 1441802 p thehardway; #P window setfont Times 10.; #P window linecount 4; #P comment 8 35 76 1310730 double-click a subpatch to go through the poly~ examples.; #P pop;