Mouse Gesture Composer (MGC) Code
Status: Alpha
Brought to you by:
frankiezafe
#N canvas 502 22 1077 990 10; #X obj 9 72 bng 30 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1 ; #X msg 49 203 tempo \$1; #X obj -51 375 route #0; #X obj -51 485 unpack f f f; #X floatatom -11 551 5 0 0 0 - - -; #X floatatom 29 551 5 0 0 0 - - -; #X obj -51 546 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj -51 684 osc~; #X obj -30 619 bang; #X obj 0 619 loadbang; #X obj -51 764 dac~; #X obj -51 661 line; #X floatatom 16 684 5 0 0 0 - - -; #X obj -51 736 *~; #X obj -28 707 line~; #X floatatom 53 684 5 0 0 0 - - -; #X obj 53 642 - 1; #X obj 53 663 * -1; #X obj 12 707 line~; #X obj -21 736 *~; #X obj -51 576 * 1; #X obj 114 478 route #1; #X obj 114 587 unpack f f f; #X floatatom 154 647 5 0 0 0 - - -; #X floatatom 194 647 5 0 0 0 - - -; #X obj 114 648 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 114 786 osc~; #X obj 135 721 bang; #X obj 165 721 loadbang; #X obj 114 763 line; #X floatatom 181 786 5 0 0 0 - - -; #X obj 114 838 *~; #X obj 137 809 line~; #X floatatom 218 786 5 0 0 0 - - -; #X obj 218 744 - 1; #X obj 218 765 * -1; #X obj 177 809 line~; #X obj 144 838 *~; #X obj 114 678 * 1; #X obj 114 869 dac~; #X msg -51 45 filepath /Volumes/data/docs/MGC.0.1.ex2.mgc.xml; #X obj -51 413 route #0 #1; #X obj 288 588 unpack f f f; #X floatatom 328 648 5 0 0 0 - - -; #X obj 288 649 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 288 787 osc~; #X obj 309 722 bang; #X obj 339 722 loadbang; #X obj 288 867 dac~; #X obj 288 764 line; #X floatatom 355 787 5 0 0 0 - - -; #X obj 288 839 *~; #X obj 311 810 line~; #X obj 351 810 line~; #X obj 318 839 *~; #X obj 288 679 * 1; #X obj 288 699 * 2000; #X obj 288 478 route #2; #X obj 448 588 unpack f f f; #X floatatom 488 655 5 0 0 0 - - -; #X obj 448 649 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 448 787 osc~; #X obj 469 722 bang; #X obj 499 722 loadbang; #X obj 448 867 dac~; #X obj 448 764 line; #X floatatom 515 787 5 0 0 0 - - -; #X obj 448 839 *~; #X obj 471 810 line~; #X obj 511 810 line~; #X obj 478 839 *~; #X obj 448 679 * 1; #X obj 448 478 route #3; #X obj 448 516 route #0; #X floatatom 363 647 5 0 0 0 - - -; #X floatatom 523 654 5 0 0 0 - - -; #X msg 309 743 5; #X msg 469 743 5; #X msg -30 640 5; #X msg -1 640 10; #X msg 164 742 10; #X msg 338 743 10; #X msg 498 743 10; #X obj 114 698 * 1500; #X obj -51 596 * 1000; #X obj 448 699 * 1000; #X floatatom 397 786 5 0 0 0 - - -; #X obj 397 744 - 1; #X obj 397 765 * -1; #X floatatom 557 786 5 0 0 0 - - -; #X obj 557 744 - 1; #X obj 557 765 * -1; #X obj 523 614 - 1; #X obj 523 635 * -1; #X obj 29 511 - 1; #X obj 29 532 * -1; #X obj 114 516 route #0 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10; #X obj 288 556 route #0 #1 #2 #3 #4 #5; #X obj -51 275 pdj mgc.reader; #X obj 49 181 * 100; #X floatatom 49 159 5 0 0 0 - - -; #X msg 135 742 5; #X text 244 44 << 1 adapt path to the xml "MGC.0.1.ex2.mgc.xml"; #X text 137 77 <<------------------ 2 press to start reading the xml ; #X text 137 157 <<------------------ 3 change the reading speed; #X text 244 174; #X text 281 174 default speed is 30 \, or 3000 \, meaning each measure duration is 3000 milliseconds; #X text 108 374 <<------------------ first folder; #X text 108 413 <<------------------ routing the 2 lines of the folder ; #X obj 9 109 metro 5; #X text 625 249 MGC xml is an export of an MGC project (.mgc) To edit project \, launch MGC.0.1.jar \, go to "File > open" and select "MGC.0.1.ex2.mgc" MGC xml is produced via the "File > export XML" and contains information about: - the measure duration (default 3000 millisec) - the timeline and all its folders and lines mgc.reader is a java class prepare to import and read MGC xml in puredata. It output \, for each line \, a list of maximum 5 atoms: 0 -> #[folder position] 1 -> #[line position] 2 -> 1 or 0 if line is active or not If line is active \, meaning there is a gesture currently read in it \, 2 other values are sent: 3 -> x position \, usually between 0 & 1 4 -> y position \, usually between 0 & 1 In this example \, active \, x & y are sent to an unpack object \, used to control pan and frequency of an osc~; #X connect 0 0 109 0; #X connect 1 0 98 0; #X connect 2 0 41 0; #X connect 3 0 6 0; #X connect 3 1 4 0; #X connect 3 2 94 0; #X connect 4 0 12 0; #X connect 4 0 16 0; #X connect 5 0 20 1; #X connect 6 0 20 0; #X connect 7 0 13 0; #X connect 7 0 19 0; #X connect 8 0 78 0; #X connect 8 0 79 0; #X connect 9 0 78 0; #X connect 9 0 79 0; #X connect 11 0 7 0; #X connect 12 0 14 0; #X connect 13 0 10 0; #X connect 14 0 13 1; #X connect 15 0 18 0; #X connect 16 0 17 0; #X connect 17 0 15 0; #X connect 18 0 19 1; #X connect 19 0 10 1; #X connect 20 0 84 0; #X connect 21 0 96 0; #X connect 22 0 25 0; #X connect 22 1 23 0; #X connect 22 2 24 0; #X connect 23 0 30 0; #X connect 23 0 34 0; #X connect 24 0 38 1; #X connect 25 0 38 0; #X connect 26 0 31 0; #X connect 26 0 37 0; #X connect 27 0 101 0; #X connect 27 0 80 0; #X connect 28 0 101 0; #X connect 28 0 80 0; #X connect 29 0 26 0; #X connect 30 0 32 0; #X connect 31 0 39 0; #X connect 32 0 31 1; #X connect 33 0 36 0; #X connect 34 0 35 0; #X connect 35 0 33 0; #X connect 36 0 37 1; #X connect 37 0 39 1; #X connect 38 0 83 0; #X connect 40 0 98 0; #X connect 41 0 3 0; #X connect 41 1 3 0; #X connect 42 0 44 0; #X connect 42 1 43 0; #X connect 42 2 74 0; #X connect 43 0 50 0; #X connect 43 0 87 0; #X connect 44 0 55 0; #X connect 45 0 51 0; #X connect 45 0 54 0; #X connect 46 0 76 0; #X connect 46 0 81 0; #X connect 47 0 76 0; #X connect 47 0 81 0; #X connect 49 0 45 0; #X connect 50 0 52 0; #X connect 51 0 48 0; #X connect 52 0 51 1; #X connect 53 0 54 1; #X connect 54 0 48 1; #X connect 55 0 56 0; #X connect 56 0 49 0; #X connect 56 0 46 0; #X connect 57 0 97 0; #X connect 58 0 60 0; #X connect 58 1 59 0; #X connect 58 2 92 0; #X connect 59 0 66 0; #X connect 59 0 90 0; #X connect 60 0 71 0; #X connect 61 0 67 0; #X connect 61 0 70 0; #X connect 62 0 77 0; #X connect 62 0 82 0; #X connect 63 0 77 0; #X connect 63 0 82 0; #X connect 65 0 61 0; #X connect 66 0 68 0; #X connect 67 0 64 0; #X connect 68 0 67 1; #X connect 69 0 70 1; #X connect 70 0 64 1; #X connect 71 0 85 0; #X connect 72 0 73 0; #X connect 73 0 58 0; #X connect 73 1 58 0; #X connect 74 0 55 1; #X connect 75 0 71 1; #X connect 76 0 49 1; #X connect 77 0 65 1; #X connect 78 0 11 1; #X connect 79 0 14 1; #X connect 79 0 18 1; #X connect 80 0 32 1; #X connect 80 0 36 1; #X connect 81 0 52 1; #X connect 81 0 53 1; #X connect 82 0 68 1; #X connect 82 0 69 1; #X connect 83 0 29 0; #X connect 83 0 27 0; #X connect 84 0 11 0; #X connect 84 0 8 0; #X connect 85 0 65 0; #X connect 85 0 62 0; #X connect 86 0 53 0; #X connect 87 0 88 0; #X connect 88 0 86 0; #X connect 89 0 69 0; #X connect 90 0 91 0; #X connect 91 0 89 0; #X connect 92 0 93 0; #X connect 93 0 75 0; #X connect 94 0 95 0; #X connect 95 0 5 0; #X connect 96 0 22 0; #X connect 96 1 22 0; #X connect 96 2 22 0; #X connect 96 3 22 0; #X connect 96 4 22 0; #X connect 96 5 22 0; #X connect 96 6 22 0; #X connect 96 7 22 0; #X connect 96 8 22 0; #X connect 96 9 22 0; #X connect 96 10 22 0; #X connect 97 0 42 0; #X connect 97 1 42 0; #X connect 97 2 42 0; #X connect 97 3 42 0; #X connect 97 4 42 0; #X connect 98 0 21 0; #X connect 98 0 2 0; #X connect 98 0 57 0; #X connect 98 0 72 0; #X connect 99 0 1 0; #X connect 100 0 99 0; #X connect 101 0 29 1; #X connect 109 0 98 0;