Skip to content
Permalink
809caa0850
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
398 lines (398 sloc) 12.3 KB
#N canvas 0 23 1920 1010 12;
#X obj -114 717 mixer;
#X obj 1593 1 master_outs_stereo;
#X obj 1521 657 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 1446 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 1535 676 pd solo;
#X obj 1593 643 recorder_controls;
#X obj -91 65 hamilr4;
#N canvas 494 281 892 349 masheen_global_tempo 0;
#N canvas 585 56 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 connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 2 0 17 0;
#X connect 3 0 1 0;
#X connect 4 0 22 0;
#X connect 4 1 1 1;
#X connect 4 1 13 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 coords 0 -1 1 1 220 60 2 100 100;
#X restore 1263 1 pd masheen_global_tempo;
#X obj 1483 1 dsp_onoff;
#N canvas 384 54 666 989 keyboard-examples 0;
#X obj 93 168 list trim;
#X msg 93 189 username key 1 Meta_L 0;
#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 key 1 Meta_L 0;
#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 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 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 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 1423 638 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;
#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 1086 695 pd sample_keyboard_local_sends;
#X obj 1462 150 user_keysend bilgeh;
#X obj 1462 169 user_keysend boller;
#X obj 1462 188 user_keysend corres2;
#X obj 1462 226 user_keysend golubm;
#X obj 1462 245 user_keysend johnsa23;
#X obj 1462 264 user_keysend krantm;
#X obj 1462 283 user_keysend lillij2;
#X obj 1462 302 user_keysend liuz18;
#X obj 1462 321 user_keysend lockwa;
#X obj 1462 340 user_keysend mcneee;
#X obj 1462 359 user_keysend mejiak;
#X obj 1462 397 user_keysend olynia;
#X obj 1462 416 user_keysend paris;
#X obj 1462 435 user_keysend powerj7;
#X obj 1462 454 user_keysend sabary;
#X obj 1462 473 user_keysend smelcg;
#X obj 1462 490 user_keysend stansj;
#X obj 1462 509 user_keysend thompj17;
#X obj 1462 207 user_keysend fallit;
#X text -105 11 [ARTS 2020] FALL 2020 "MASHEEN";
#X obj 1462 378 user_keysend nelsoc5;
#X obj 1462 133 user_keysend hamilr4;
#X obj -67 609 throw~ username_audio_1;
#X obj -83 89 bilgeh;
#X obj -83 112 boller;
#X obj -83 135 corres2;
#X obj -83 158 fallit;
#X obj -83 181 golubm;
#X obj -83 203 johnsa23;
#X obj -83 226 krantm;
#X obj -83 249 lillij2;
#X obj -83 272 liuz18;
#X obj -83 295 lockwa;
#X obj -83 321 mcneee;
#X obj -84 344 mejiak;
#X obj -83 367 nelsoc5;
#X obj -83 390 olynia;
#X obj -83 413 paris;
#X obj -83 435 powerj7;
#X obj -83 458 sabary;
#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;
#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 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;