#N canvas 157 53 930 603 12;
#X floatatom 259 404 0 0 0 0 - - -;
#X floatatom 287 486 0 0 0 0 - - -;
#X floatatom 205 487 0 0 0 0 - - -;
#X floatatom 70 134 0 0 0 0 - - -;
#X obj 34 108 notein;
#X floatatom 34 134 0 0 0 0 - - -;
#X obj 53 519 noteout;
#X obj 53 493 makenote 64 250;
#X obj 205 514 pgmout;
#X obj 287 512 bendout;
#X floatatom 357 404 0 0 0 0 - - -;
#X floatatom 197 136 0 0 0 0 - - -;
#X floatatom 145 136 0 0 0 0 - - -;
#X text 41 79 omni;
#X floatatom 106 134 0 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 0 - - -;
#X floatatom 271 137 0 0 0 0 - - -;
#X floatatom 347 136 0 0 0 0 - - -;
#X obj 271 110 ctlin;
#X floatatom 440 138 0 0 0 0 - - -;
#X floatatom 396 138 0 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 0 - - -;
#X obj 493 114 ctlin 7 1;
#X obj 61 221 pgmin;
#X floatatom 97 248 0 0 0 0 - - -;
#X floatatom 61 248 0 0 0 0 - - -;
#X floatatom 197 250 0 0 0 0 - - -;
#X floatatom 161 250 0 0 0 0 - - -;
#X floatatom 307 253 0 0 0 0 - - -;
#X floatatom 272 253 0 0 0 0 - - -;
#X floatatom 382 255 0 0 0 0 - - -;
#X floatatom 343 253 0 0 0 0 - - -;
#X floatatom 420 256 0 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 132 405 0 0 0 0 - - -;
#X floatatom 165 405 0 0 0 0 - - -;
#X floatatom 201 407 0 0 0 0 - - -;
#X obj 132 432 ctlout;
#X obj 259 431 ctlout 7;
#X text 129 379 control out;
#X text 255 378 control 7;
#X text 350 379 control 7 \, channel 4;
#X obj 357 431 ctlout 7 4;
#X floatatom 360 485 0 0 0 0 - - -;
#X floatatom 445 484 0 0 0 0 - - -;
#X obj 360 511 touchout;
#X obj 445 510 polytouchout;
#X floatatom 484 485 0 0 0 0 - - -;
#X floatatom 525 485 0 0 0 0 - - -;
#X obj 629 119 midiin;
#X floatatom 629 150 0 0 0 0 - - -;
#X floatatom 660 150 0 0 0 0 - - -;
#X floatatom 631 358 0 0 0 0 - - -;
#X floatatom 662 359 0 0 0 0 - - -;
#X text 615 69 output the port number instead;
#X text 616 88 of the channel:;
#X obj 633 327 sysexin;
#X obj 688 487 midiout;
#X text 592 424 use this to output raw MIDI;
#X text 589 444 (the second inlet is the port;
#X text 591 465 number.);
#X floatatom 53 468 5 0 127 0 - - -, f 5;
#X text 67 303 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 628 229 0 0 0 0 - - -;
#X floatatom 714 229 0 0 0 0 - - -;
#X obj 628 200 midirealtimein;
#X text 614 50 These four are always omni and;
#X floatatom 630 292 0 0 0 0 - - -;
#X floatatom 681 293 0 0 0 0 - - -;
#X obj 630 262 midiclkin;
#X text 713 122 all midi \, byte by byte \, except real-time messages
below, f 18;
#X text 755 200 all real-time messages, f 10;
#X text 749 266 "clock" messages, f 8;
#X text 709 330 like midiin \, but only gives incoming system exclusive
messages, f 21;
#X text 642 536 updated for Pd release 0.47;
#X connect 0 0 54 0;
#X connect 1 0 9 0;
#X connect 2 0 8 0;
#X connect 4 0 5 0;
#X connect 4 1 3 0;
#X connect 4 2 14 0;
#X connect 7 0 6 0;
#X connect 7 1 6 1;
#X connect 10 0 58 0;
#X connect 15 0 12 0;
#X connect 15 1 11 0;
#X connect 24 0 22 0;
#X connect 24 1 21 0;
#X connect 24 2 23 0;
#X connect 27 0 26 0;
#X connect 27 1 25 0;
#X connect 32 0 31 0;
#X connect 33 0 35 0;
#X connect 33 1 34 0;
#X connect 43 0 37 0;
#X connect 43 1 36 0;
#X connect 44 0 39 0;
#X connect 44 1 38 0;
#X connect 45 0 41 0;
#X connect 45 1 40 0;
#X connect 45 2 42 0;
#X connect 50 0 53 0;
#X connect 51 0 53 1;
#X connect 52 0 53 2;
#X connect 59 0 61 0;
#X connect 60 0 62 0;
#X connect 63 0 62 1;
#X connect 64 0 62 2;
#X connect 65 0 66 0;
#X connect 65 1 67 0;
#X connect 72 0 68 0;
#X connect 72 1 69 0;
#X connect 77 0 7 0;
#X connect 81 0 79 0;
#X connect 81 1 80 0;
#X connect 85 0 83 0;
#X connect 85 1 84 0;
