Forums > Jitter

[sharing is fun] Jitter modulation matrix

June 7, 2007 | 10:46 pm

Hey,

I needed a nice mod matrix for my VJ rig, and this is what I came up
with. Not totally finished yet (still missing an input/output or two)
but it works. This will make it into my patch as a bpatcher of sorts.

I hope it’s self-explanatory to some extent and commented enough, also I
would love to hear any views on different ways to do this with Jitter,
and how to improve on this one. Let me know what you think.

Cheers,
Andreas.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 518 60 85 9109513 Mod Mult Amount:;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 516 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 497 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 478 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 459 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 440 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 421 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 402 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 383 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 364 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 345 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 326 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 307 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 288 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 269 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 250 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 231 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 212 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 193 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 174 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 155 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 136 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 117 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 98 523 17 9109513 p;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P newex 50 72 59 9109513 mxj list.sum;
#P newex 50 50 96 9109513 jit.spill @listlength 16;
#P inlet 50 30 15 0;
#P outlet 50 96 15 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 0 0;
#P pop;
#P newobj 79 523 17 9109513 p;
#P newex 307 498 249 9109513 jit.scissors @columns 12;
#P newex 79 498 240 9109513 jit.scissors @columns 12;
#P newex 79 474 466 9109513 jit.scissors @columns 2;
#P newex 79 551 450 9109513 pack 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.;
#P comment 80 45 52 9109513 Modulation;
#N vpatcher 15 55 615 455;
#P window setfont "Sans Serif" 9.;
#P window linecount 4;
#P message 50 72 351 9109513 set 0 $2 $1 , set 1 $2 $1 , set 2 $2
$1 , set 3 $2 $1 , set 4 $2 $1 , set 5 $2 $1 , set 6 $2 $1
, set 7 $2 $1 , set 8 $2 $1 , set 9 $2 $1 , set 10 $2 $1 ,
set 11 $2 $1 , set 12 $2 $1 , set 13 $2 $1 , set 14 $2 $1 ,
set 15 $2 $1 , set 16 $2 $1 , set 17 $2 $1 , set 18 $2 $1 ,
set 19 $2 $1 , set 20 $2 $1 , set 21 $2 $1 , set 22 $2 $1 ,
set 23 $2 $1 , bang;
#P window linecount 1;
#P newex 50 50 47 9109513 pack 0. 0;
#P inlet 50 30 15 0;
#P inlet 87 30 15 0;
#P outlet 50 133 15 0;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 0 0;
#P connect 1 0 3 1;
#P pop;
#P newobj 81 100 44 9109513 p format;
#P flonum 81 63 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 115 63 35 9 0 15 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P user ubumenu 800 60 145 9109513 0 1 1 0;
#X add Zoom X;
#X add Zoom Y;
#X add Theta;
#X add Anchor X;
#X add Anchor Y;
#X add Slide!;
#X add R;
#X add G;
#X add B;
#X add A;
#X add Rotate X;
#X add Rotate Y;
#X add Rotate Z;
#X add Position X;
#X add Position Y;
#X add Position Z;
#X add Scale X;
#X add Scale Y;
#X add Scale Z;
#X add LumaDisplace X;
#X add LumaDisplace Y;
#X add LumaDisplace Global Amount.;
#X prefix_set 0 0 0;
#P comment 744 60 58 9109513 Destination:;
#P user ubumenu 677 60 66 9109513 0 1 1 0;
#X add Audio Low;
#X add Audio Mid;
#X add Audio High;
#X add Sensor 1;
#X add Sensor 2;
#X add Sensor 3;
#X add Sensor 4;
#X add Sensor 5;
#X add Sensor 6;
#X prefix_set 0 0
0;
#P number 713 85 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 606 60 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 677 85 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 655 131 86 9109513 set $3 $2 $1 , bang;
#P newex 655 109 55 9109513 pack 0. 0 0;
#P user jit.cellblock 317 158 994 372 3 9 24 16 28 13 0 1 1 0 0 0 0 0 5
0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P newex 292 378 20 9109513 t b;
#P newex 231 410 110 9109513 jit.matrix 1 float32 24 16;
#P user jit.cellblock 81 158 116 371 3 9 24 16 32 13 0 1 1 0 0 0 0 0 5 0
0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P newex 81 378 20 9109513 t b;
#P newex 79 410 108 9109513 jit.matrix 1 float32 24 16;
#P newex 170 448 57 9109513 jit.op @op *;
#B color 5;
#P comment 641 60 40 9109513 Source:;
#P comment 152 64 78 9109513 Input to simulate;
#P comment 79 692 1301 9109513 Zoom X , Zoom Y , Theta , Anchor X ,
Anchor Y , Slide! , R , G , B , A , Rotate X , Rotate Y , Rotate
Z , Position X , Position Y , Position Z , Scale X , Scale Y ,
Scale Z , LumaDisp.X , LumaDisplYLumaDisp. Global Amount.;
#P comment 1204 620 85 9109513 23 and 24: unused;
#P window linecount 3;
#P comment 237 61 264 9109513 Cellblock action and "p format" will be
replaced by regular setcell commands later on , along with dedicated
modulation inputs and so on.;
#P window linecount 2;
#P comment 760 424 190 9109513 – work in progress. By Andreas Wetterberg
, The Covert Operators dot Org.;
#P user multiSlider 79 577 1216 112 -100. 100. 24 2937 15 0 2 2 4 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P window linecount 7;
#P comment 559 475 100 9109513 Here the multiplied matrix is split into
24 columns in order to add the total modulation for each destination ,
shown below;
#P user panel 509 40 456 67;
#X brgb 202 205 157;
#X frgb 0 0 0;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 77 40 431 85;
#X brgb 202 205 157;
#X frgb 0 0 0;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P window linecount 1;
#P comment 30 141 35 9109513 Inputs;
#P window linecount 9;
#P comment 31 159 53 9109513 Audio Low , Audio Mid , Audio High ,
Sensor 1 , Sensor 2 , Sensor 3 , Sensor 4 , Sensor 5 , Sensor 6;
#P user panel 15 133 78 158;
#X brgb 202 205 157;
#X frgb 0 0 0;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P fasten 18 0 14 0 297 403 84 403;
#P fasten 15 0 14 0 86 396 84 396;
#P fasten 13 0 33 0 175 470 84 470;
#P connect 33 0 34 0;
#P connect 34 0 36 0;
#P connect 36 0 32 0;
#P connect 32 0 6 0;
#P connect 29 0 30 0;
#P fasten 14 0 16 0 84 437 190 437 190 129 86 129;
#P connect 30 0 16 0;
#P fasten 16 0 15 0 86 367 86 367;
#P connect 34 1 37 0;
#P connect 37 0 32 1;
#P connect 28 0 30 1;
#P connect 34 2 38 0;
#P connect 38 0 32 2;
#P connect 34 3 39 0;
#P connect 39 0 32 3;
#P connect 34 4 40 0;
#P connect 40 0 32 4;
#P fasten 14 0 13 0 84 438 175 438;
#P connect 34 5 41 0;
#P connect 41 0 32 5;
#P connect 34 6 42 0;
#P connect 42 0 32 6;
#P connect 34 7 43 0;
#P connect 43 0 32 7;
#P fasten 17 0 13 1 236 437 222 437;
#P fasten 18 0 17 0 297 412 236 412;
#P fasten 15 0 17 0 86 403 236 403;
#P connect 34 8 44 0;
#P connect 44 0 32 8;
#P connect 34 9 45 0;
#P connect 45 0 32 9;
#P connect 34 10 46 0;
#P connect 46 0 32 10;
#P connect 34 11 47 0;
#P connect 47 0 32 11;
#P fasten 19 0 18 0 322 378 297 378;
#P connect 33 1 35 0;
#P connect 35 0 48 0;
#P connect 48 0 32 12;
#P fasten 17 0 19 0 236 436 222 436 222 129 322 129;
#P fasten 21 0 19 0 660 154 322 154;
#P connect 35 1 49 0;
#P connect 49 0 32 13;
#P connect 35 2 50 0;
#P connect 50 0 32 14;
#P connect 35 3 51 0;
#P connect 51 0 32 15;
#P connect 35 4 52 0;
#P connect 52 0 32 16;
#P connect 35 5 53 0;
#P connect 53 0 32 17;
#P connect 35 6 54 0;
#P connect 54 0 32 18;
#P connect 35 7 55 0;
#P connect 55 0 32 19;
#P connect 35 8 56 0;
#P connect 56 0 32 20;
#P connect 35 9 57 0;
#P connect 57 0 32 21;
#P connect 35 10 58 0;
#P connect 58 0 32 22;
#P connect 35 11 59 0;
#P connect 59 0 32 23;
#P fasten 23 0 20 0 611 81 660 81;
#P connect 20 0 21 0;
#P fasten 25 0 22 0 682 77 682 77;
#P connect 22 0 20 1;
#P fasten 24 0 20 2 718 103 704 103;
#P fasten 27 0 24 0 805 80 718 80;
#P window clipboard copycount 61;


June 7, 2007 | 11:09 pm

Hi Andreas,
something that might help make yor patch more efficient. I made a
column/row sum object called xray.jit.mean. It’s available here:

http://www.mat.ucsb.edu/~whsmith/xray-mac-UB.zip

http://www.mat.ucsb.edu/~whsmith/Software/xray-win1.0.zip

wes


June 13, 2007 | 8:10 pm


Viewing 3 posts - 1 through 3 (of 3 total)