#N canvas 68 50 876 553 12; #X floatatom 318 379 0 0 0; #X floatatom 282 468 0 0 0; #X floatatom 200 469 0 0 0; #X text 96 330 off; #X floatatom 52 383 0 0 0; #X floatatom 70 134 0 0 0; #X obj 34 108 notein; #X floatatom 34 134 0 0 0; #X obj 52 488 noteout; #X obj 52 462 makenote 64 250; #X obj 52 409 metro 500; #X msg 52 356 1; #X msg 84 356 0; #X text 52 333 on; #X msg 52 436 60; #X obj 200 496 pgmout; #X obj 282 494 bendout; #X floatatom 416 379 0 0 0; #X floatatom 197 136 0 0 0; #X floatatom 145 136 0 0 0; #X text 41 79 omni; #X floatatom 106 134 0 0 0; #X obj 145 109 notein 1; #X text 145 85 channel 1; #X text 194 17 MIDI I/O objects; #X text 85 54 notes; #X text 334 47 control change; #X text 264 69 everything; #X floatatom 309 137 0 0 0; #X floatatom 271 137 0 0 0; #X floatatom 347 136 0 0 0; #X obj 271 110 ctlin; #X floatatom 440 138 0 0 0; #X floatatom 396 138 0 0 0; #X obj 396 111 ctlin 7; #X text 364 71 specific controller number; #X text 410 88 omni; #X text 496 89 channel 1; #X floatatom 493 140 0 0 0; #X obj 493 114 ctlin 7 1; #X obj 61 221 pgmin; #X floatatom 97 248 0 0 0; #X floatatom 61 248 0 0 0; #X floatatom 197 250 0 0 0; #X floatatom 161 250 0 0 0; #X floatatom 307 253 0 0 0; #X floatatom 272 253 0 0 0; #X floatatom 382 255 0 0 0; #X floatatom 343 253 0 0 0; #X floatatom 420 256 0 0 0; #X obj 161 222 bendin; #X obj 272 226 touchin; #X obj 343 227 polytouchin; #X text 49 167 these can also take an optional channel number as argument but by default are omni:; #X text 32 197 program change; #X text 155 198 pitch bend; #X text 271 203 channel and poly aftertouch; #X floatatom 191 380 0 0 0; #X floatatom 224 380 0 0 0; #X floatatom 260 382 0 0 0; #X obj 191 407 ctlout; #X obj 318 406 ctlout 7; #X text 192 349 control out; #X text 314 353 control 7; #X text 409 354 control 7 \, channel 4; #X obj 416 406 ctlout 7 4; #X text 101 277 outputs work similarly. They all take an optional channel as creation argument \, and ctlin takes a control number and a channel. You get inlets to change them in any case. IF you specify no channel \, it's channel 1; #X floatatom 355 467 0 0 0; #X floatatom 440 466 0 0 0; #X obj 355 493 touchout; #X obj 440 492 polytouchout; #X floatatom 479 467 0 0 0; #X floatatom 520 467 0 0 0; #X obj 625 218 midiin; #X floatatom 625 249 0 0 0; #X floatatom 656 249 0 0 0; #X floatatom 695 249 0 0 0; #X floatatom 726 250 0 0 0; #X text 590 155 These two are always omni and; #X text 590 174 output the port number instead; #X text 594 192 of the channel:; #X obj 697 218 sysexin; #X obj 623 472 midiout; #X text 571 413 use this to output raw MIDI; #X text 566 433 (the second inlet is the port; #X text 569 451 number.); #X text 625 514 updated for Pd release 0.33; #X connect 0 0 61 0; #X connect 1 0 16 0; #X connect 2 0 15 0; #X connect 4 0 10 0; #X connect 6 0 7 0; #X connect 6 1 5 0; #X connect 6 2 21 0; #X connect 9 0 8 0; #X connect 9 1 8 1; #X connect 10 0 14 0; #X connect 11 0 4 0; #X connect 12 0 4 0; #X connect 14 0 9 0; #X connect 17 0 65 0; #X connect 22 0 19 0; #X connect 22 1 18 0; #X connect 31 0 29 0; #X connect 31 1 28 0; #X connect 31 2 30 0; #X connect 34 0 33 0; #X connect 34 1 32 0; #X connect 39 0 38 0; #X connect 40 0 42 0; #X connect 40 1 41 0; #X connect 50 0 44 0; #X connect 50 1 43 0; #X connect 51 0 46 0; #X connect 51 1 45 0; #X connect 52 0 48 0; #X connect 52 1 47 0; #X connect 52 2 49 0; #X connect 57 0 60 0; #X connect 58 0 60 1; #X connect 59 0 60 2; #X connect 67 0 69 0; #X connect 68 0 70 0; #X connect 71 0 70 1; #X connect 72 0 70 2; #X connect 73 0 74 0; #X connect 73 1 75 0; #X connect 81 0 76 0;