#N canvas 443 108 448 247 10;
#N canvas 109 239 534 409 channel 0;
#X obj 23 22 midiin;
#X obj 23 59 moses 128;
#X obj 83 85 moses 144;
#X obj 143 112 moses 160;
#X obj 203 139 moses 176;
#X obj 263 166 moses 192;
#X obj 323 192 moses 208;
#X obj 383 218 moses 224;
#X msg 83 146 noteoff;
#X msg 143 179 noteon;
#X msg 263 240 control;
#X msg 323 265 program;
#X msg 203 212 polytouch;
#X msg 383 295 touch;
#X msg 443 321 bend;
#X obj 443 246 moses 240;
#X obj 203 363 print received channel;
#X connect 0 0 1 0;
#X connect 1 1 2 0;
#X connect 2 0 8 0;
#X connect 2 1 3 0;
#X connect 3 0 9 0;
#X connect 3 1 4 0;
#X connect 4 0 12 0;
#X connect 4 1 5 0;
#X connect 5 0 10 0;
#X connect 5 1 6 0;
#X connect 6 0 11 0;
#X connect 6 1 7 0;
#X connect 7 0 13 0;
#X connect 7 1 15 0;
#X connect 8 0 16 0;
#X connect 9 0 16 0;
#X connect 10 0 16 0;
#X connect 11 0 16 0;
#X connect 12 0 16 0;
#X connect 13 0 16 0;
#X connect 14 0 16 0;
#X connect 15 0 14 0;
#X restore 27 92 pd channel messages;
#N canvas 407 238 552 257 system 0;
#X obj 54 28 sysexin;
#X obj 209 29 midiin;
#X obj 209 60 route 241 242 243 246;
#X msg 317 165 tunerequest;
#X msg 209 89 timecode;
#X msg 245 113 songpos;
#X obj 54 58 route 240 247;
#X msg 54 88 start;
#X msg 98 114 end;
#X msg 281 140 song;
#X obj 54 147 print received sysexin;
#X obj 245 197 print received system;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 2 2 9 0;
#X connect 2 3 3 0;
#X connect 3 0 11 0;
#X connect 4 0 11 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 6 1 8 0;
#X connect 6 2 10 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 11 0;
#X restore 27 120 pd system messages;
#N canvas 297 53 508 411 realtime 0;
#X obj 51 51 midirealtimein;
#X obj 51 92 route 248 250 251 252 254 255;
#X msg 51 123 clock;
#X msg 84 151 start;
#X msg 117 184 continue;
#X msg 151 213 stop;
#X msg 184 243 activesense;
#X msg 217 270 systemreset;
#X obj 117 350 print received realtime;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 1 2 4 0;
#X connect 1 3 5 0;
#X connect 1 4 6 0;
#X connect 1 5 7 0;
#X connect 2 0 8 0;
#X connect 3 0 8 0;
#X connect 4 0 8 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 8 0;
#X restore 27 150 pd realtime messages;
#N canvas 0 23 300 282 bytes 0;
#X obj 58 56 midiin;
#X obj 132 183 moses 128;
#X obj 132 209 print -n;
#X obj 132 157 spigot;
#X obj 58 85 sel 240 247;
#X msg 171 116 1;
#X obj 171 86 loadbang;
#X msg 58 115 0;
#X msg 95 116 1;
#X text 41 28 data bytes \, filter sysex bytes;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X connect 4 0 7 0;
#X connect 4 1 8 0;
#X connect 4 2 3 0;
#X connect 5 0 3 1;
#X connect 6 0 5 0;
#X connect 7 0 3 1;
#X connect 8 0 3 1;
#X restore 28 184 pd bytes;
#N canvas 721 199 559 457 send 0;
#X obj 38 29 inlet;
#X obj 38 407 outlet;
#X obj 204 344 polytouchout;
#X obj 148 213 route noteon polytouch control program touch bend;
#X obj 116 189 t a a;
#X obj 148 370 noteout;
#X obj 261 317 ctlout;
#X obj 318 295 pgmout;
#X obj 374 270 touchout;
#X obj 431 245 bendout;
#X obj 38 55 t b b;
#X obj 116 406 print sent channel;
#X msg 116 118 noteon 64 65 \, noteon 66 0 \, polytouch 67 68 \, control
69 70 \, program 71 \, touch 72 \, bend -8119 \, noteon 64 0;
#X text 141 57 pd pitchbend range is -8192 to 8192;
#X text 141 75 so -8119 will show up as two bytes: 73 0 or 0x49 0x00
;
#X connect 0 0 10 0;
#X connect 3 0 5 0;
#X connect 3 1 2 0;
#X connect 3 2 6 0;
#X connect 3 3 7 0;
#X connect 3 4 8 0;
#X connect 3 5 9 0;
#X connect 4 0 11 0;
#X connect 4 1 3 0;
#X connect 10 0 1 0;
#X connect 10 1 12 0;
#X connect 12 0 4 0;
#X restore 234 91 pd send channel messages;
#N canvas 143 162 546 402 send 0;
#X obj 40 30 inlet;
#X obj 40 348 outlet;
#X obj 40 56 t b b;
#X obj 210 345 print sent system;
#X text 158 56 sysex start: 240;
#X text 173 78 sysex end: 247;
#X obj 72 83 delay 20;
#X msg 72 116 sysex 240 1 2 3 4 5 247 \, timecode 241 10 \, songpos
242 20 30 \, song 243 40 \, tunerequest 246;
#X obj 407 294 midiout;
#X obj 236 262 list split 1;
#X obj 236 295 list trim;
#X obj 103 260 list split 2;
#X obj 143 295 route bang;
#X obj 213 176 t a a a;
#X obj 367 263 list split 1;
#X text 255 242 name;
#X text 140 240 data bytes;
#X text 388 242 send;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 1 6 0;
#X connect 6 0 7 0;
#X connect 7 0 13 0;
#X connect 9 0 10 0;
#X connect 10 0 3 0;
#X connect 11 1 12 0;
#X connect 12 1 3 0;
#X connect 13 0 11 0;
#X connect 13 1 9 0;
#X connect 13 2 14 0;
#X connect 14 1 8 0;
#X restore 234 122 pd send system messages;
#N canvas 725 341 488 332 send 0;
#X obj 41 31 inlet;
#X obj 81 211 midiout;
#X obj 41 275 print sent system;
#X obj 41 82 delay 40;
#X msg 41 117 clock 248 \, start 250 \, continue 251 \, stop 252 \,
activesense 254 \, systemreset 255;
#X obj 41 176 list split 1;
#X obj 44 86;
#X obj 44 86;
#X obj 41 242 list trim;
#X connect 0 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 1 1 0;
#X connect 8 0 2 0;
#X restore 234 153 pd send realtime messages;
#X obj 234 65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 293 63 send;
#X text 64 64 receive;
#X text 33 17 Test patch which sends & receives all MIDI messages.
;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 7 0 4 0;
