diff --git a/Flying_Monkey_Redux.mid b/Flying_Monkey_Redux.mid new file mode 100644 index 0000000..62e863c Binary files /dev/null and b/Flying_Monkey_Redux.mid differ diff --git a/Flying_Monkey_Redux.wav b/Flying_Monkey_Redux.wav new file mode 100644 index 0000000..b393da8 Binary files /dev/null and b/Flying_Monkey_Redux.wav differ diff --git a/Simple_Scale.mid b/Simple_Scale.mid new file mode 100644 index 0000000..8c14a92 Binary files /dev/null and b/Simple_Scale.mid differ diff --git a/bwv772.mid b/bwv772.mid new file mode 100644 index 0000000..42c78c0 Binary files /dev/null and b/bwv772.mid differ diff --git a/cpu_meter.pd b/cpu_meter.pd new file mode 100644 index 0000000..27c598b --- /dev/null +++ b/cpu_meter.pd @@ -0,0 +1,24 @@ +#N canvas 0 23 450 300 12; +#X floatatom 108 123 10 0 0 0 - - -; +#X obj 102 12 cputime; +#X obj 102 -108 loadbang; +#X obj 102 -44 metro 1000; +#X obj 102 -16 t b b; +#X obj 102 72 * 0.1; +#X obj 102 41 int; +#X text 125 -78 <= on/off; +#X obj 102 -77 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 106 102 CPU load %; +#X obj 111 144 hsl 67 10 0 100 0 0 empty empty empty -2 -8 0 10 -204786 +-1 -1 1188 1; +#X connect 0 0 10 0; +#X connect 1 0 6 0; +#X connect 2 0 8 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X connect 4 1 1 1; +#X connect 5 0 0 0; +#X connect 6 0 5 0; +#X connect 8 0 3 0; +#X coords 0 -1 1 1 90 60 2 100 100; diff --git a/gui_template.pd b/gui_template.pd new file mode 100644 index 0000000..0ad8250 --- /dev/null +++ b/gui_template.pd @@ -0,0 +1,4 @@ +#N canvas 542 189 1035 751 12; +#X obj 100 100 cnv 15 200 200 empty empty empty 20 12 0 14 -233017 +-66577 0; +#X coords 0 -1 1 1 200 200 1 100 100; diff --git a/hamilr4.pd b/hamilr4.pd index 5ba64d1..28c28fc 100644 --- a/hamilr4.pd +++ b/hamilr4.pd @@ -1667,7 +1667,7 @@ pointer location \, depending on the system.; #X obj 79 195 tabread melody; #N canvas 0 22 1652 1321 (subpatch) 0; #X array melody 16 float 1; -#A 0 74 76 77 76 74 77 79 81 88 88 0 82 0 62 0 72; +#A 0 60 72 71 71 69 69 67 67 65 65 64 64 62 62 60 72; #X coords 0 127 15 0 200 140 1 0 0; #X restore 213 68 graph; #X obj 110 228 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 @@ -1865,9 +1865,8 @@ to "hamilr4_control"; #X connect 2 0 6 0; #X connect 3 0 4 0; #X restore 207 320 pd more_structure; -#X obj 738 278 hamilr4_etude_1; +#X obj 1240 533 hamilr4_etude_1; #X obj 1628 429 channel; -#X obj 737 321 throw~ hamilr4_audio_1; #X obj 1333 271 catch~ monkey; #X obj 1332 234 throw~ monkey; #X text 1320 198 AUDIO DATA (~); @@ -1876,9 +1875,7 @@ to "hamilr4_control"; #X obj 1099 234 send hippo; #X obj 1099 267 receive hippo; #X text 1151 198 CONTROL DATA; -#X obj 1242 466 receive bilgeh_control; -#X obj 1239 503 print; -#X obj 277 443 class_3; +#X obj 1243 616 class_3; #N canvas 0 23 960 1031 data_parsing 0; #X obj 259 124 textfile; #X obj 259 81 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 @@ -1921,38 +1918,183 @@ to "hamilr4_control"; #X connect 13 1 11 1; #X connect 14 0 15 0; #X connect 14 0 18 0; -#X restore 215 397 pd data_parsing; -#X obj 580 543 r hamilr4_midi; -#X obj 600 590 list trim; -#X msg 600 611 hamilr4 midi key 1 54 38 0; -#X obj 600 569 list prepend set; -#X obj 580 687 route hamilr4; -#X obj 580 711 route midi; -#X obj 580 755 route key; -#X obj 760 755 route ctl; -#X obj 609 797 list trim; -#X msg 609 818 1 54 38 0; -#X obj 609 776 list prepend set; -#X obj 580 662 list trim; -#X obj 790 797 list trim; -#X msg 790 818 1 58 57 0; -#X obj 790 776 list prepend set; -#X obj 580 849 unpack f f f f; -#X obj 760 849 unpack f f f; -#X floatatom 580 873 5 0 0 0 - - -; -#X floatatom 620 873 5 0 0 0 - - -; -#X floatatom 660 873 5 0 0 0 - - -; -#X floatatom 700 873 5 0 0 0 - - -; -#X floatatom 760 873 5 0 0 0 - - -; -#X floatatom 800 873 5 0 0 0 - - -; -#X floatatom 840 873 5 0 0 0 - - -; -#X text 887 872 Value \, Ctl \, Channel; -#X text 542 493 NEW MIDI PARSING EXAMPLE; +#X restore 219 407 pd data_parsing; #X obj 1373 57 r hamilr4_midi; #X obj 1373 118 list trim; #X msg 1373 139 hamilr4 midi key 1 54 38 0; #X obj 1373 97 list prepend set; -#X text 325 874 Channel \, Key \, Velocity \, Aftertouch; +#X obj 79 113 switch~; +#X obj 79 90 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#X text 138 113 Disable audio just for this subpatch; +#N canvas 0 27 1286 989 midi 0; +#X obj 832 174 bng 15 250 50 0 empty empty empty 0 -6 0 10 -228856 +-1 -1; +#X obj 590 100 bng 22 250 50 0 empty bng_play empty 17 7 0 10 -216373 +-66577 -1; +#X obj 634 176 midiout; +#X text 552 102 Play; +#X obj 590 176 print; +#X msg 626 104 stop; +#X text 853 175 <= when finished; +#X obj 582 819 cyclone/seq Flying_Monkey_Redux.mid; +#X obj 824 855 bng 15 250 50 0 empty empty empty 0 -6 0 10 -228856 +-1 -1; +#X obj 582 781 bng 22 250 50 0 empty bng_play empty 17 7 0 10 -216373 +-66577 -1; +#X obj 626 857 midiout; +#X text 544 783 Play; +#X obj 582 857 print; +#X msg 618 785 stop; +#X text 845 856 <= when finished; +#X obj 590 138 cyclone/seq Simple_Scale.mid; +#X obj 694 176 s midifile_output; +#X obj 591 234 r midifile_output; +#X obj 591 285 cyclone/thresh 10; +#X obj 673 354 print; +#X obj 591 313 route 144; +#X obj 591 353 unpack f f; +#X floatatom 591 377 5 0 0 0 - - -; +#X floatatom 658 377 5 0 0 0 - - -; +#X obj 591 410 mtof; +#X floatatom 591 434 5 0 0 0 - - -; +#X obj 591 457 osc~; +#X obj 591 531 dac~; +#X obj 591 501 *~; +#X obj 638 460 line~; +#X obj 658 400 / 127; +#X msg 658 426 \$1 20; +#X obj 671 887 s midifile_output; +#X obj 134 102 r hamilr4_midi; +#X obj 154 149 list trim; +#X msg 154 170 hamilr4 midi key 1 54 38 0; +#X obj 154 128 list prepend set; +#X obj 134 246 route hamilr4; +#X obj 134 270 route midi; +#X obj 134 314 route key; +#X obj 314 314 route ctl; +#X obj 163 356 list trim; +#X msg 163 377 1 54 38 0; +#X obj 163 335 list prepend set; +#X obj 134 221 list trim; +#X obj 344 356 list trim; +#X msg 344 377 1 58 57 0; +#X obj 344 335 list prepend set; +#X obj 134 408 unpack f f f f; +#X obj 314 408 unpack f f f; +#X floatatom 134 432 5 0 0 0 - - -; +#X floatatom 174 432 5 0 0 0 - - -; +#X floatatom 214 432 5 0 0 0 - - -; +#X floatatom 254 432 5 0 0 0 - - -; +#X floatatom 314 432 5 0 0 0 - - -; +#X floatatom 354 432 5 0 0 0 - - -; +#X floatatom 394 432 5 0 0 0 - - -; +#X text 313 460 Value \, Ctl \, Channel; +#X text 96 52 NEW MIDI PARSING EXAMPLE; +#X text 50 458 Channel \, Key \, Velocity \, Aftertouch; +#X text 581 54 MIDI FILE INPUT; +#X text 812 137 SINGLE MIDI TRACK; +#X text 850 818 MULTIPLE MIDI TRACKS; +#N canvas 0 23 1652 1130 (subpatch) 0; +#X array midi_scale_pitch 50 float 1; +#A 0 60 62 62 64 64 65 65 67 67 69 69 71 71 72 72 72 72 71 71 69 69 +67 67 65 65 64 64 62 62 60 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +; +#X coords 0 127 49 0 200 140 1 0 0; +#X restore 783 561 graph; +#X obj 918 427 i; +#X obj 948 428 + 1; +#X obj 886 395 t f b; +#X msg 937 396 0; +#X floatatom 918 475 5 0 0 0 - - -; +#X obj 788 503 tabwrite midi_scale_pitch; +#X obj 918 451 % 50; +#N canvas 0 23 1652 1130 (subpatch) 0; +#X array midi_scale_velocity 50 float 1; +#A 0 0 80 0 80 0 80 0 80 0 80 0 80 0 80 0 80 0 80 0 80 0 80 0 80 0 +80 0 80 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; +#X coords 0 127 49 0 200 140 1 0 0; +#X restore 1003 561 graph; +#X obj 1118 427 i; +#X obj 1148 428 + 1; +#X obj 1086 395 t f b; +#X msg 1137 396 0; +#X floatatom 1118 475 5 0 0 0 - - -; +#X obj 1118 451 % 50; +#X obj 988 503 tabwrite midi_scale_velocity; +#X connect 1 0 15 0; +#X connect 5 0 15 0; +#X connect 7 0 12 0; +#X connect 7 0 10 0; +#X connect 7 0 32 0; +#X connect 7 1 8 0; +#X connect 9 0 7 0; +#X connect 13 0 7 0; +#X connect 15 0 4 0; +#X connect 15 0 2 0; +#X connect 15 0 16 0; +#X connect 15 1 0 0; +#X connect 15 1 16 0; +#X connect 17 0 18 0; +#X connect 18 0 20 0; +#X connect 20 0 19 0; +#X connect 20 0 21 0; +#X connect 21 0 22 0; +#X connect 21 1 23 0; +#X connect 22 0 24 0; +#X connect 22 0 66 0; +#X connect 23 0 30 0; +#X connect 23 0 74 0; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 28 0; +#X connect 28 0 27 0; +#X connect 29 0 28 1; +#X connect 30 0 31 0; +#X connect 31 0 29 0; +#X connect 33 0 36 0; +#X connect 33 0 44 0; +#X connect 34 0 35 0; +#X connect 36 0 34 0; +#X connect 37 0 38 0; +#X connect 38 0 39 0; +#X connect 38 0 40 0; +#X connect 39 0 43 0; +#X connect 39 0 48 0; +#X connect 40 0 47 0; +#X connect 40 0 49 0; +#X connect 41 0 42 0; +#X connect 43 0 41 0; +#X connect 44 0 37 0; +#X connect 45 0 46 0; +#X connect 47 0 45 0; +#X connect 48 0 50 0; +#X connect 48 1 51 0; +#X connect 48 2 52 0; +#X connect 48 3 53 0; +#X connect 49 0 54 0; +#X connect 49 1 55 0; +#X connect 49 2 56 0; +#X connect 64 0 65 0; +#X connect 64 0 70 0; +#X connect 65 0 64 1; +#X connect 66 0 69 0; +#X connect 66 1 64 0; +#X connect 67 0 64 1; +#X connect 68 0 69 1; +#X connect 70 0 68 0; +#X connect 72 0 73 0; +#X connect 72 0 77 0; +#X connect 73 0 72 1; +#X connect 74 0 78 0; +#X connect 74 1 72 0; +#X connect 75 0 72 1; +#X connect 76 0 78 1; +#X connect 77 0 76 0; +#X restore 276 361 pd midi; +#X text 342 360 More MIDI...; +#X text 343 405 More Data...; +#X connect 6 0 47 0; #X connect 7 0 9 0; #X connect 8 0 12 0; #X connect 10 0 11 0; @@ -1965,33 +2107,10 @@ to "hamilr4_control"; #X connect 20 0 15 0; #X connect 31 0 16 0; #X connect 31 1 17 0; -#X connect 36 0 38 0; -#X connect 39 0 37 0; -#X connect 41 0 42 0; -#X connect 45 0 48 0; -#X connect 45 0 56 0; -#X connect 46 0 47 0; -#X connect 48 0 46 0; -#X connect 49 0 50 0; -#X connect 50 0 51 0; -#X connect 50 0 52 0; -#X connect 51 0 55 0; -#X connect 51 0 60 0; -#X connect 52 0 59 0; -#X connect 52 0 61 0; -#X connect 53 0 54 0; -#X connect 55 0 53 0; -#X connect 56 0 49 0; -#X connect 57 0 58 0; -#X connect 59 0 57 0; -#X connect 60 0 62 0; -#X connect 60 1 63 0; -#X connect 60 2 64 0; -#X connect 60 3 65 0; -#X connect 61 0 66 0; -#X connect 61 1 67 0; -#X connect 61 2 68 0; -#X connect 71 0 74 0; -#X connect 72 0 73 0; -#X connect 74 0 72 0; +#X connect 35 0 37 0; +#X connect 38 0 36 0; +#X connect 42 0 45 0; +#X connect 43 0 44 0; +#X connect 45 0 43 0; +#X connect 47 0 46 0; #X coords 0 980 1 979 200 200 0; diff --git a/masheen.pd b/masheen.pd index f3d6e8d..de537e8 100644 --- a/masheen.pd +++ b/masheen.pd @@ -1,4 +1,4 @@ -#N canvas 0 23 1920 1010 12; +#N canvas 0 23 1920 1129 12; #X obj -114 717 mixer; #X obj 1593 1 master_outs_stereo; #X obj 1521 657 utilities; @@ -187,6 +187,7 @@ 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; @@ -202,13 +203,11 @@ of mouse data; #X connect 10 4 9 0; #X restore 1302 695 pd keyboard-examples; #X obj 923 1 midi_io; -#N canvas 0 23 450 300 stuff 0; -#X msg 966 207 \; 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 966 257 \; pd midi-dialog 3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 -0 4 4; -#X obj 967 358 cyclone/seq; -#X text 964 322 MIDI file; +#N canvas 145 313 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; @@ -226,7 +225,7 @@ 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 1423 638 pd masheen_assignment_1; +#X restore 573 39 pd masheen_assignment_1; #X restore 1527 619 pd stuff; #N canvas 0 23 607 629 sample_keyboard_local_sends 0; #X obj 181 147 list trim; @@ -313,16 +312,6 @@ files).; #X obj -83 481 smelcg; #X obj -83 504 stansj; #X obj -83 527 thompj17; -#X obj 800 139 dac~; -#X obj 871 2 adc~; -#X obj 805 43 *~ 0.05; -#X obj 865 43 *~ 0.05; -#X floatatom 754 12 5 0 0 0 - - -; -#X floatatom 754 59 5 0 0 0 - - -; -#X obj 734 14 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 754 36 / 1270; -#X obj 804 77 lop~ 5000; #X text 1452 102 Key/MIDI Sends; #N canvas 0 23 1014 681 midi-examples 0; #X obj 326 248 list trim; @@ -386,13 +375,79 @@ are extracted.; #X connect 29 0 9 0; #X connect 30 0 3 0; #X restore 1302 675 pd midi-examples; -#X connect 57 0 58 0; -#X connect 57 1 59 0; -#X connect 58 0 64 0; -#X connect 59 0 56 1; -#X connect 60 0 63 0; -#X connect 61 0 58 1; -#X connect 61 0 59 1; -#X connect 62 0 60 0; -#X connect 63 0 61 0; -#X connect 64 0 56 0; +#X obj 143 125 gui_template; +#X obj -45 43 tgl 15 0 empty global_audioenabled empty 17 7 0 10 -262144 +-1 -1 1 1; +#X obj 833 1 cpu_meter; +#X text -22 42 Enable audio for this patch; +#X obj 277 64 s global_audioenabled; +#X obj 277 38 tgl 15 0 global_audioenabled empty empty 17 7 0 10 -262144 +-1 -1 1 1; +#X text 304 37 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 3900 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 748 1 pd bad_class_mic_code; +#X connect 59 0 6 1; +#X connect 63 0 62 0;