Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 643 lines (643 sloc) 19.4 KB
#N canvas 99 24 1821 1129 12;
#X obj -114 717 mixer;
#X obj 1528 -1 master_outs_stereo;
#X obj 1456 655 utilities;
#N canvas 0 23 450 300 init 0;
#X obj 41 99 s init;
#X obj 41 59 loadbang;
#X text 27 24 Initialize values;
#X obj 120 111 v global_solo_count;
#X msg 120 88 0;
#X connect 1 0 0 0;
#X connect 1 0 4 0;
#X connect 4 0 3 0;
#X restore 1381 695 pd init;
#N canvas 913 66 450 300 solo 0;
#X floatatom 87 93 5 0 0 0 - - -;
#X obj 87 69 r solo_mode;
#X obj 87 194 +;
#X obj 120 194 i;
#X floatatom 120 218 5 0 0 0 - - -;
#X obj 120 257 v global_solo_count;
#X obj 186 25 r init;
#X msg 186 95 0;
#X obj 239 23 r solo_all;
#X obj 239 47 select 0;
#X obj 186 125 t f f f f;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 2 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X connect 10 0 2 0;
#X connect 10 1 5 0;
#X connect 10 2 2 1;
#X connect 10 3 3 1;
#X restore 1470 674 pd solo;
#X obj 1528 641 recorder_controls;
#X obj -33 219 hamilr4;
#N canvas 310 379 1610 654 masheen_global_tempo 0;
#N canvas 686 101 479 747 tempo_sender 0;
#X obj 89 687 s hamilr4_tempo;
#X obj 89 13 inlet;
#X obj 303 87 s bilgeh_tempo;
#X obj 293 117 s boller_tempo;
#X obj 283 147 s corres2_tempo;
#X obj 273 177 s fallit_tempo;
#X obj 263 206 s golubm_tempo;
#X obj 253 237 s johnsa23_tempo;
#X obj 243 267 s krantm_tempo;
#X obj 232 297 s lillij2_tempo;
#X obj 223 327 s liuz18_tempo;
#X obj 212 357 s lockwa_tempo;
#X obj 203 387 s mcneee_tempo;
#X obj 193 417 s mejiak_tempo;
#X obj 183 447 s nelsoc5_tempo;
#X obj 173 477 s olynia_tempo;
#X obj 163 507 s paris_tempo;
#X obj 153 537 s powerj7_tempo;
#X obj 143 567 s sabary_tempo;
#X obj 133 597 s smelcg_tempo;
#X obj 123 627 s stansj_tempo;
#X obj 113 657 s thompj17_tempo;
#X connect 1 0 0 0;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 1 0 4 0;
#X connect 1 0 5 0;
#X connect 1 0 6 0;
#X connect 1 0 7 0;
#X connect 1 0 8 0;
#X connect 1 0 9 0;
#X connect 1 0 10 0;
#X connect 1 0 11 0;
#X connect 1 0 12 0;
#X connect 1 0 13 0;
#X connect 1 0 14 0;
#X connect 1 0 15 0;
#X connect 1 0 16 0;
#X connect 1 0 17 0;
#X connect 1 0 18 0;
#X connect 1 0 19 0;
#X connect 1 0 20 0;
#X connect 1 0 21 0;
#X restore 335 223 pd tempo_sender;
#X obj 335 185 metro 500;
#X obj 335 206 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 335 138 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 100 100 bpmtoms;
#X floatatom 395 76 5 0 0 0 - - -;
#X floatatom 495 76 5 0 0 0 - - -;
#X obj 495 43 r global_tempo_ms;
#X obj 395 13 r global_tempo_bpm;
#X obj 335 -11 r global_tempo_onoff;
#X msg 422 46 120;
#X msg 462 46 10;
#X msg 352 46 1300;
#X obj 425 155 s global_tempo_ms_value;
#X obj 114 140 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X text 106 122 on/off;
#X obj 335 279 s global_tempo_onoff;
#X obj 132 140 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 163 15 5 0 0 0 - - -;
#X text 167 -5 bpm;
#X floatatom 217 16 10 0 0 0 - - -;
#X text 240 -4 ms;
#X obj 100 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 100 196 1;
#X text 103 102 BPM Controls;
#X obj 598 -6 loadbang;
#X msg 598 18 120;
#X floatatom 425 130 5 0 0 0 - - -;
#X obj 595 155 s global_tempo_bpm_value;
#X floatatom 595 129 5 0 0 0 - - -;
#X obj 17 -1 inlet;
#X obj 67 -1 inlet;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 2 0 17 0;
#X connect 2 0 27 0;
#X connect 2 0 29 0;
#X connect 3 0 1 0;
#X connect 4 0 22 0;
#X connect 4 0 29 0;
#X connect 4 1 1 1;
#X connect 4 1 27 0;
#X connect 5 0 4 0;
#X connect 6 0 4 1;
#X connect 7 0 6 0;
#X connect 8 0 5 0;
#X connect 9 0 3 0;
#X connect 10 0 5 0;
#X connect 11 0 5 0;
#X connect 12 0 5 0;
#X connect 14 0 16 0;
#X connect 18 0 5 0;
#X connect 20 0 6 0;
#X connect 22 0 23 0;
#X connect 23 0 14 0;
#X connect 25 0 26 0;
#X connect 26 0 18 0;
#X connect 27 0 13 0;
#X connect 29 0 28 0;
#X connect 30 0 4 0;
#X connect 31 0 4 1;
#X coords 0 -1 1 1 220 60 2 100 100;
#X restore 1198 -1 pd masheen_global_tempo;
#X obj 1418 -1 dsp_onoff;
#N canvas 384 54 666 989 keyboard-examples 0;
#X obj 93 168 list trim;
#X msg 93 189 username mouse 0 577 423 3 -1;
#X obj 93 147 list prepend set;
#X obj 93 125 receive username_control;
#X obj 89 586 user_keyreceive username;
#X msg 122 647 username mouse 0 577 423 3 -1;
#X symbolatom 90 795 10 0 0 0 - - -;
#X symbolatom 117 775 10 0 0 0 - - -;
#X floatatom 144 752 5 0 0 0 - - -;
#X floatatom 198 700 5 0 0 0 - - -;
#X obj 89 670 unpack s s f s f;
#X symbolatom 170 726 10 0 0 0 - - -;
#X symbolatom 142 622 10 0 0 0 - - -;
#X floatatom 216 622 5 0 0 0 - - -;
#X symbolatom 257 622 10 0 0 0 - - -;
#X floatatom 331 622 5 0 0 0 - - -;
#X obj 92 295 user_keysend username;
#X text 19 7 EXAMPLE: Named keyboard sends and receives.;
#X text 88 35 The [receive username_control] patch can be used to get
all control data (i.e. mouse \, keyboard \, OSC) that is being sent
to the send using your own RCS ID as "username". So I can use [receive
hamilr4_control] to only get data from my own named send.;
#X text 90 228 Using the [user_keysend] abstraction \, we can toggle
on or off keyboard strokes for any user. For example \, to toggle on
or off keyboard strokes for user "username" use this checkbox:;
#X text 88 326 There's one of these check-box abstractions for each
user of the Masheen on the main page. Use these instead of creating
your own [key] [keyup] or [keyname] objects so that everyone's Masheen
patch can co-exist peacefully with one another.;
#X text 89 441 To receive your named keyboard data in a way that is
controlled by the [user_keysend] abstraction checkboxes \, there is
an abstraction designed to make it easy called [user_keyreceive]. Again
\, you'll pass your username as an argument \, and that way you can
easily access all the keybaord data \, either as an unpackable list
(outlet 1) \, a display list (outlet 2) or as pairs of keyname (symbol)
and ascii value (float) for keydown and keyup:;
#X obj 88 922 keycontrol your_username_here;
#X text 86 850 [user_keyreceive username] should be now used instead
of [keycontrol username] to make sure only those users with their checkbox
checked in the main Masheen window will receive Keyboard data in their
patches.;
#X text -321 625 NOTE: connecting here throws error on Windows because
of mouse data;
#X text 214 295 < --- Keyboard / MIDI checkboxes;
#X connect 0 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 4 1 5 0;
#X connect 4 2 12 0;
#X connect 4 3 13 0;
#X connect 4 4 14 0;
#X connect 4 5 15 0;
#X connect 10 0 6 0;
#X connect 10 1 7 0;
#X connect 10 2 8 0;
#X connect 10 3 11 0;
#X connect 10 4 9 0;
#X restore 1237 695 pd keyboard-examples;
#X obj 858 -1 midi_io;
#N canvas 145 238 1600 915 stuff 0;
#X msg 60 52 \; pd midi-dialog 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
4 4;
#X msg 60 102 \; pd midi-dialog 3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0
4 4;
#N canvas 0 23 553 467 masheen_assignment_1 0;
#X text 40 52 1 Create a subpatch saved with the filename as your RCS
id;
#X text 40 92 2 In your patch create two inlets and two outlets;
#X text 95 169 e.g.;
#X text 95 239 e.g.;
#X text 40 132 3 Add a "Receive" object named with your RCS ID_tempo
;
#X obj 149 169 receive hamilr4_tempo;
#X obj 149 239 receive hamilr4_control;
#X text 40 202 4 Add a "Receive" object named with your RCS ID_control
;
#X text 40 282 5 Make your patch _do something_ with a metro beat (coming
in from the _tempo receive) and spit out audio from your left outlet.
DO NOT INCLUDE A [DAC~] OBJECT IN YOUR PATCH \, just pass audio out
the outlet for now.;
#X text 40 362 6 Send Rob your patch on Sunday.;
#X restore 573 39 pd masheen_assignment_1;
#X restore 1462 617 pd stuff;
#N canvas 0 23 607 629 sample_keyboard_local_sends 0;
#X obj 181 147 list trim;
#X obj 181 193 route key;
#X obj 181 318 unpack f s f;
#X floatatom 181 342 5 0 0 0 - - -;
#X symbolatom 222 343 10 0 0 0 - - -;
#X floatatom 319 343 5 0 0 0 - - -;
#X obj 333 372 s key_\$0;
#X obj 188 395 s keyname_\$0;
#X obj 180 417 select 1 0;
#X obj 180 464 s keydown_bang_\$0;
#X obj 190 442 s keyup_bang_\$0;
#X obj 193 294 s keydown_\$0;
#X obj 193 218 route 1 0;
#X obj 290 264 s keyup_\$0;
#X obj 198 372 s keynamesymbol_\$0;
#X obj 223 241 unpack s f;
#X obj 193 261 unpack s f;
#X obj 164 118 receive username_control;
#X obj 181 169 route username;
#X text 82 61 Sample keyboard data receive code. Note the "\$0" used
to identify unique embedded patches (patches saved as separate .pd
files).;
#X connect 0 0 18 0;
#X connect 1 0 2 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 2 2 5 0;
#X connect 3 0 7 0;
#X connect 3 0 8 0;
#X connect 4 0 14 0;
#X connect 5 0 6 0;
#X connect 8 0 9 0;
#X connect 8 1 10 0;
#X connect 12 0 16 0;
#X connect 12 1 15 0;
#X connect 15 1 13 0;
#X connect 16 1 11 0;
#X connect 17 0 0 0;
#X connect 18 0 1 0;
#X restore 1021 695 pd sample_keyboard_local_sends;
#X obj 1377 148 user_keysend bilgeh;
#X obj 1377 167 user_keysend boller;
#X obj 1377 186 user_keysend corres2;
#X obj 1377 224 user_keysend golubm;
#X obj 1377 243 user_keysend johnsa23;
#X obj 1377 262 user_keysend krantm;
#X obj 1377 281 user_keysend lillij2;
#X obj 1377 300 user_keysend lockwa;
#X obj 1377 319 user_keysend mcneee;
#X obj 1377 357 user_keysend olynia;
#X obj 1377 376 user_keysend powerj7;
#X obj 1377 395 user_keysend sabary;
#X obj 1377 414 user_keysend smelcg;
#X obj 1377 431 user_keysend stansj;
#X obj 1377 450 user_keysend thompj17;
#X obj 1377 205 user_keysend fallit;
#X text -88 31 [ARTS 2020] FALL 2020 "MASHEEN";
#X obj 1377 338 user_keysend nelsoc5;
#X obj 1377 131 user_keysend hamilr4;
#X obj -33 481 nelsoc5;
#X obj -33 572 smelcg;
#N canvas 0 23 1014 681 midi-examples 0;
#X obj 326 248 list trim;
#X msg 326 269 username midi key 1 61 37 0;
#X obj 326 227 list prepend set;
#X obj 306 369 route midi;
#X obj 306 413 route key;
#X obj 486 413 route ctl;
#X obj 335 455 list trim;
#X msg 335 476 1 61 37 0;
#X obj 335 434 list prepend set;
#X obj 306 320 list trim;
#X obj 516 455 list trim;
#X msg 516 476 1 58 57 0;
#X obj 516 434 list prepend set;
#X obj 306 507 unpack f f f f;
#X obj 486 507 unpack f f f;
#X floatatom 306 531 5 0 0 0 - - -;
#X floatatom 346 531 5 0 0 0 - - -;
#X floatatom 386 531 5 0 0 0 - - -;
#X floatatom 426 531 5 0 0 0 - - -;
#X floatatom 486 531 5 0 0 0 - - -;
#X floatatom 526 531 5 0 0 0 - - -;
#X floatatom 566 531 5 0 0 0 - - -;
#X text 613 530 Value \, Ctl \, Channel;
#X text 68 36 NEW MIDI PARSING EXAMPLE;
#X text 51 532 Channel \, Key \, Velocity \, Aftertouch;
#X text 72 91 MIDI parsing is handled globally \, like with keyboard
data. If the checkbox for a given named send is checked on the main
Masheen page \, then MIDI will be sent to that user's named send.;
#X text 70 167 Key/MIDI Sends;
#X text 451 312 Here you can see how to break apart the MIDI message.
On the left \, MIDI key data \, such as channel \, key number \, velocity
and after-touch are parsed out. On the right \, control data (such
as the turning of a knob or press of a button on the midi controller)
are extracted.;
#X obj 75 205 user_keysend username;
#X obj 306 201 r username_midi;
#X obj 306 345 route username;
#X connect 0 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 8 0;
#X connect 4 0 13 0;
#X connect 5 0 12 0;
#X connect 5 0 14 0;
#X connect 6 0 7 0;
#X connect 8 0 6 0;
#X connect 9 0 30 0;
#X connect 10 0 11 0;
#X connect 12 0 10 0;
#X connect 13 0 15 0;
#X connect 13 1 16 0;
#X connect 13 2 17 0;
#X connect 13 3 18 0;
#X connect 14 0 19 0;
#X connect 14 1 20 0;
#X connect 14 2 21 0;
#X connect 29 0 2 0;
#X connect 29 0 9 0;
#X connect 30 0 3 0;
#X restore 1237 673 pd midi-examples;
#X obj 13 197 tgl 15 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 768 -1 cpu_meter;
#X text 36 196 Enable audio for this patch;
#X obj -54 132 s global_audioenabled;
#X obj -54 106 tgl 15 0 global_audioenabled empty empty 17 7 0 10 -262144
-1 -1 0 1;
#X text -27 105 Enable Audio for all users;
#N canvas 0 23 718 460 bad_class_mic_code 0;
#X obj 575 301 dac~;
#X obj 580 205 *~ 0.05;
#X obj 640 205 *~ 0.05;
#X floatatom 529 174 5 0 0 0 - - -;
#X floatatom 529 221 5 0 0 0 - - -;
#X obj 509 176 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 529 198 / 1270;
#X obj 579 239 lop~ 5000;
#X obj 110 122 hsl 67 10 0 100 0 0 empty empty empty -2 -8 0 10 -204786
-1 -1 0 1;
#X floatatom 57 118 5 0 0 0 - - -;
#X obj 57 141 / 100;
#X floatatom 107 135 5 0 0 0 - - -;
#X obj 148 138 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 107 170 * 1;
#X floatatom 107 194 5 0 0 0 - - -;
#X obj 107 248 line~;
#X msg 107 219 \$1 20;
#X obj 71 294 *~;
#X obj 101 294 *~;
#X obj 620 165 adc~;
#X obj 71 248 adc~;
#X obj 71 382 dac~;
#X obj 71 332 lop~ 5000;
#X obj 96 354 lop~ 5000;
#X obj 148 170 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 108 102 Mic Level;
#X obj 189 138 select 0 1;
#X msg 189 162 0;
#X obj 148 74 loadbang;
#X connect 1 0 7 0;
#X connect 3 0 6 0;
#X connect 4 0 1 1;
#X connect 4 0 2 1;
#X connect 5 0 3 0;
#X connect 6 0 4 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 12 0 24 0;
#X connect 12 0 26 0;
#X connect 13 0 14 0;
#X connect 14 0 16 0;
#X connect 15 0 17 1;
#X connect 15 0 18 1;
#X connect 16 0 15 0;
#X connect 17 0 22 0;
#X connect 18 0 23 0;
#X connect 20 0 17 0;
#X connect 20 1 18 0;
#X connect 22 0 21 0;
#X connect 23 0 21 1;
#X connect 24 0 11 0;
#X connect 26 0 27 0;
#X connect 26 1 8 0;
#X connect 27 0 11 0;
#X connect 28 0 12 0;
#X coords 0 -1 1 1 85 60 2 100 100;
#X restore 683 -1 pd bad_class_mic_code;
#X text 1367 100 Mouse/Key/MIDI Sends;
#N canvas 0 50 1570 687 timer_counts 0;
#X obj 217 59 r global_tempo_ms_value;
#X floatatom 217 93 5 0 0 0 - - -;
#X obj 293 95 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 385 59 r global_tempo_bpm_value;
#X floatatom 385 91 5 0 0 0 - - -;
#X obj 428 94 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 185 155 metro;
#X obj 185 190 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 169 126 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 61 58 r global_tempo_onoff;
#X obj 217 116 * 2;
#X obj 246 116 / 2;
#X obj 293 124 mycounter_class;
#X floatatom 293 148 5 0 0 0 - - -;
#X obj 293 171 % 2;
#X floatatom 293 195 5 0 0 0 - - -;
#X obj 293 219 select 0;
#X obj 384 171 % 4;
#X floatatom 384 195 5 0 0 0 - - -;
#X obj 384 218 select 0;
#X obj 384 248 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 293 248 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 97 318 % 16;
#X floatatom 97 342 5 0 0 0 - - -;
#X obj 97 371 select 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
#X obj 103 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 123 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 143 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 163 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 183 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 203 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 223 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 243 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 263 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 283 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 303 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 323 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 343 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 363 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 383 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 403 441 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 106 419 hsl 310 15 0 15 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 16480 1;
#X obj 417 486 outlet;
#X obj 407 508 outlet;
#X obj 397 526 outlet;
#X obj 387 548 outlet;
#X obj 337 486 outlet;
#X obj 327 508 outlet;
#X obj 317 526 outlet;
#X obj 307 548 outlet;
#X obj 257 486 outlet;
#X obj 247 508 outlet;
#X obj 237 526 outlet;
#X obj 227 548 outlet;
#X obj 177 486 outlet;
#X obj 167 508 outlet;
#X obj 157 526 outlet;
#X obj 147 548 outlet;
#X obj 477 486 outlet;
#X connect 0 0 1 0;
#X connect 0 0 2 0;
#X connect 1 0 10 0;
#X connect 1 0 11 0;
#X connect 2 0 12 0;
#X connect 3 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 7 0;
#X connect 8 0 6 0;
#X connect 9 0 8 0;
#X connect 11 0 6 1;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 13 0 17 0;
#X connect 13 0 22 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 21 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 23 0 41 0;
#X connect 23 0 58 0;
#X connect 24 0 25 0;
#X connect 24 1 26 0;
#X connect 24 2 27 0;
#X connect 24 3 28 0;
#X connect 24 4 29 0;
#X connect 24 5 30 0;
#X connect 24 6 31 0;
#X connect 24 7 32 0;
#X connect 24 8 33 0;
#X connect 24 9 34 0;
#X connect 24 10 35 0;
#X connect 24 11 36 0;
#X connect 24 12 37 0;
#X connect 24 13 38 0;
#X connect 24 14 39 0;
#X connect 24 15 40 0;
#X connect 25 0 57 0;
#X connect 26 0 56 0;
#X connect 27 0 55 0;
#X connect 28 0 54 0;
#X connect 29 0 53 0;
#X connect 30 0 52 0;
#X connect 31 0 51 0;
#X connect 32 0 50 0;
#X connect 33 0 49 0;
#X connect 34 0 48 0;
#X connect 35 0 47 0;
#X connect 36 0 46 0;
#X connect 37 0 45 0;
#X connect 38 0 44 0;
#X connect 39 0 43 0;
#X connect 40 0 42 0;
#X coords 0 -1 1 1 325 60 1 100 400;
#X restore 358 -1 pd timer_counts;
#X obj -57 253 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -33 322 hw1/fallit;
#X obj -57 276 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 299 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 367 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 390 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 435 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 457 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 549 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 595 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 343 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 504 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -57 526 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X msg 1195 88 120;
#X obj -57 618 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj -33 618 hw1/thompj17;
#X obj -33 595 hw1/stansj;
#X obj -33 549 hw1/sabary;
#X obj -33 526 hw1/powerj7;
#X obj -33 504 hw1/olynia;
#X obj -33 458 hw1/mcneee;
#X obj -33 435 hw1/lockwa;
#X obj -34 412 hw1/lillij2;
#X obj -33 390 hw1/krantm;
#X obj -33 367 hw1/johnsa23;
#X obj -33 345 hw1/golubm;
#X obj -33 299 hw1/corres2;
#X obj -33 276 hw1/boller;
#X obj -33 253 hw1/bilgeh;
#X obj -57 412 tgl 19 0 empty global_audioenabled empty 17 7 0 10 -262144
-1 -1 0 1;
#X connect 35 0 6 1;
#X connect 39 0 38 0;
#X connect 44 0 72 1;
#X connect 46 0 71 0;
#X connect 47 0 70 0;
#X connect 48 0 68 1;
#X connect 49 0 67 0;
#X connect 50 0 65 0;
#X connect 51 0 64 0;
#X connect 52 0 61 0;
#X connect 53 0 60 1;
#X connect 54 0 69 0;
#X connect 55 0 63 0;
#X connect 56 0 62 0;
#X connect 57 0 7 0;
#X connect 58 0 59 0;
#X connect 73 0 66 0;