#N canvas 2 24 526 561 10; #X obj 21 251 stave; #X obj 21 180 pack f f f; #X obj 28 159 t b; #X floatatom 21 119 5 0 0 0 - - -; #X obj 21 138 * 0.1; #X floatatom 61 119 5 0 0 0 - - -; #X obj 61 138 * 0.1; #X floatatom 101 119 5 0 0 0 - - -; #X obj 101 138 * 0.1; #X obj 48 221 tgl 25 0 empty empty Show 27 7 0 14 -262144 -1 -1 1 1 ; #X obj 206 57 gemwin; #X msg 233 38 0 \, destroy; #X obj 21 54 loadbang; #X msg 21 73 -36; #X msg 161 19 dimen 800 600 \, create \, 1; #X obj 219 110 sharpsandflats; #X msg 233 382 0 pitch \$1; #X obj 233 347 fiddle~; #X msg 112 382 0 rhythm \$1; #X obj 112 295 hradio 15 1 0 7 empty empty rhythmic_value 0 -8 0 10 -262144 -1 -1 0; #X msg 61 73 19; #X obj 112 363 +; #X obj 140 346 t b f; #X msg 140 326 0; #X msg 162 326 7; #X text 139 311 dotted?; #X text 217 82 You must have this abstraction; #X text 217 94 in the top-level patch.; #X obj 233 328 adc~; #X text 217 313 go on...sing!; #X obj 43 344 t b; #X text 30 102 stave position; #X msg 43 363 reclock; #X obj 43 382 s g0; #X floatatom 233 366 5 0 0 0 - - -; #N canvas 0 22 561 217 other_symbols 0; #X msg 208 103 0 pitch 68; #X obj 74 168 outlet; #X msg 128 103 0 rhythm 4; #X msg 173 42 0 dur 2; #X text 300 137 meaningless unless in a beamed group; #X msg 340 152 0 beam 0; #X msg 114 61 0 bt \$1; #X obj 114 42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 289 102 0 tail \$1; #X obj 289 83 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 357 102 0 tie \$1; #X obj 357 83 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 400 152 0 tuple 3; #X text 35 24 change these after-the-fact at your peril!; #X floatatom 63 86 5 0 0 0 - - -; #X msg 63 103 0 xoff \$1; #X msg 419 102 0 acc \$1; #X obj 419 83 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 36 42 0 stem 0.2; #X connect 0 0 1 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 6 0; #X connect 8 0 1 0; #X connect 9 0 8 0; #X connect 10 0 1 0; #X connect 11 0 10 0; #X connect 12 0 1 0; #X connect 14 0 15 0; #X connect 15 0 1 0; #X connect 16 0 1 0; #X connect 17 0 16 0; #X connect 18 0 1 0; #X restore 81 261 pd other_symbols; #X msg 101 73 4; #X msg 21 199 x \$1 \, y \$2 \, z \$3 \, len 16 \, clef 1 \, r 1 \, g 1 \, b 1; #X text 177 154 clef 1 = treble; #X text 177 165 clef 2 = bass; #X text 227 180 r \, g \, b = color; #X text 13 423 creation args:; #X obj 348 267 rest 3 16 2; #X text 259 284 creation args: x-offset rhythm duration; #X text 98 478 duration is the number of the note values specified by the rhythm argument; #X text 312 19 <---start; #X obj 21 404 noteobject 2 16 72 1 0 0.5 0 0 1 0 0 0 0 1 0 g0 1; #X text 98 509 2012 Edward Kelly \, morph_2016@yahoo.co.uk; #X text 100 423 x-offset-from-clef rhythm pitch duration bot/top stemlength beam? tie? accidental? flat/sharp? beamgroup-length object-id beamgroup-index tail-on/off tuple-number group-id accent(currently the only form of articulation); #X connect 0 0 42 0; #X connect 0 0 46 0; #X connect 1 0 37 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 1 0; #X connect 5 0 6 0; #X connect 6 0 1 1; #X connect 6 0 2 0; #X connect 7 0 8 0; #X connect 8 0 1 2; #X connect 8 0 2 0; #X connect 9 0 0 1; #X connect 11 0 10 0; #X connect 12 0 13 0; #X connect 12 0 20 0; #X connect 12 0 36 0; #X connect 13 0 3 0; #X connect 14 0 10 0; #X connect 16 0 46 1; #X connect 17 0 34 0; #X connect 18 0 46 1; #X connect 19 0 21 0; #X connect 20 0 5 0; #X connect 21 0 18 0; #X connect 21 0 30 0; #X connect 22 0 21 0; #X connect 22 1 21 1; #X connect 23 0 22 0; #X connect 24 0 22 0; #X connect 28 0 17 0; #X connect 30 0 32 0; #X connect 32 0 33 0; #X connect 34 0 16 0; #X connect 34 0 30 0; #X connect 35 0 30 0; #X connect 35 0 46 1; #X connect 36 0 7 0; #X connect 37 0 0 0; #X connect 37 0 30 0;