Forums > MaxMSP

MotorMix SysEx

February 12, 2008 | 4:32 am

I’m writing a program for my MotorMix and sxformat is telling me (Max
window) that a sysex message starting with B0 (hex translates to 176) is an
illegal byte code. Although I can still use it and it turns the LEDs on the
MotorMix on. I realize the sxformat object desires 240 (beginning byte) and
247 (end byte), just wondering if I’m doing something wrong.
Also, how do I create variable/dynamic length arguments for sxformat? IE: I
want to be able to write text to the MotorMix screen of varying lengths,
etc.


February 12, 2008 | 4:45 am

You don’t want to program sysex for this – it is better to decode/
encode raw MIDI bytes in and out. The MotorMix works with a
combination of note, CC and other messages.

[ddg]
Darwin Grosse

On Feb 11, 2008, at 9:32 PM, Wade wrote:

> I’m writing a program for my MotorMix and sxformat is telling me
> (Max window) that a sysex message starting with B0 (hex translates
> to 176) is an illegal byte code. Although I can still use it and it
> turns the LEDs on the MotorMix on. I realize the sxformat object
> desires 240 (beginning byte) and 247 (end byte), just wondering if
> I’m doing something wrong.
>
> Also, how do I create variable/dynamic length arguments for
> sxformat? IE: I want to be able to write text to the MotorMix
> screen of varying lengths, etc.


February 12, 2008 | 3:05 pm

So, why is it better to use MIDI bytes? According to the Dev manual from CM
Labs, I’m supposed to use thebyte codes I’m using (which are working). Also
if I was to use MIDI bytes, which object would I use for this, just midiout?

One last question Darwin, are you planning on making the MotorMix objects
14-bit (fine resolution) compatible?

>
> On Feb 11, 2008 11:45 PM, Darwin Grosse

wrote:
>
> > You don’t want to program sysex for this – it is better to decode/
> > encode raw MIDI bytes in and out. The MotorMix works with a
> > combination of note, CC and other messages.
> >
> > [ddg]
> > Darwin Grosse
> >
> > On Feb 11, 2008, at 9:32 PM, Wade wrote:
> >
> > > I’m writing a program for my MotorMix and sxformat is telling me
> > > (Max window) that a sysex message starting with B0 (hex translates
> > > to 176) is an illegal byte code. Although I can still use it and it
> > > turns the LEDs on the MotorMix on. I realize the sxformat object
> > > desires 240 (beginning byte) and 247 (end byte), just wondering if
> > > I’m doing something wrong.
> > >
> > > Also, how do I create variable/dynamic length arguments for
> > > sxformat? IE: I want to be able to write text to the MotorMix
> > > screen of varying lengths, etc.
> >
> >
>


February 12, 2008 | 3:55 pm

On 12 Feb 2008, at 15:05, Wade wrote:

> So, why is it better to use MIDI bytes? According to the Dev manual
> from CM Labs, I’m supposed to use the
> byte codes I’m using (which are working). Also if I was to use MIDI
> bytes, which object would I use for this, just midiout?

The Motor-Mix uses sysex for sending characters to the LCD and the 7-
segment LED, but practically everything else is MIDI control change
messages (so use ctlout).

– N.

Nick Rothwell / Cassiel.com Limited
http://www.cassiel.com
http://www.myspace.com/cassieldotcom
http://www.last.fm/music/cassiel
http://www.reverbnation.com/cassiel
http://www.linkedin.com/in/cassiel
http://www.loadbang.net


February 12, 2008 | 4:05 pm

Would JSing it make it slower? Or maybe the JS is just for ease of use for
programmers who don’t know C?

On Feb 12, 2008 10:51 AM, Darwin Grosse

wrote:

> Actually, what I’m probably going to do is just post up the source
> for the motormix object. I’ve been working on js-ing it, but have
> run out of steam. I’ll see if I can’t get the source posted sometime
> this week.
>
> [ddg]
> Darwin Grosse


February 12, 2008 | 4:23 pm

It’s not much slower, and is easy for both programming and cross-
platform support.

[ddg]
Darwin Grosse

On Feb 12, 2008, at 9:05 AM, Wade wrote:

> Would JSing it make it slower? Or maybe the JS is just for ease of
> use for programmers who don’t know C?
>
> On Feb 12, 2008 10:51 AM, Darwin Grosse

wrote:
> Actually, what I’m probably going to do is just post up the source
> for the motormix object. I’ve been working on js-ing it, but have
> run out of steam. I’ll see if I can’t get the source posted sometime
> this week.
>
> [ddg]
> Darwin Grosse


February 13, 2008 | 12:10 am

On Feb 12, 2008 10:55 AM, Nick Rothwell wrote:
>
>
> The Motor-Mix uses sysex for sending characters to the LCD and the 7-
> segment LED, but practically everything else is MIDI control change
> messages (so use ctlout).
>
> — N.

How this instead of using ctlout? It should make your Shift button on
your MotorMix blink. It seems simpler to me. Is this inefficient?

#P window setfont "Sans Serif" 9.;
#P number 134 49 47 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 86 99 15 0;
#P window linecount 1;
#P newex 86 119 41 196617 sel 1 0;
#P toggle 86 49 15 0;
#P newex 86 73 58 196617 metro 150;
#P newex 44 230 90 196617 midiout MotorMix;
#P message 127 156 82 196617 176 12 8 44 64;
#P message 44 156 76 196617 176 12 8 44 0;
#P newex 44 196 25 196617 iter;
#P window linecount 3;
#P comment 161 95 108 196617 Should make the Shift button blink at the
speed of the metro;
#P connect 2 0 1 0;
#P connect 3 0 1 0;
#P connect 1 0 4 0;
#P connect 6 0 5 0;
#P connect 5 0 8 0;
#P connect 8 0 7 0;
#P connect 9 0 5 1;
#P connect 7 0 2 0;
#P connect 7 1 3 0;
#P window clipboard copycount 10;


February 13, 2008 | 12:52 am

Hi All,

For what it’s worth a couple of years ago I made a patch to get data to and from a MotorMix in Max. I seem to have used control messages for input, and raw midi bytes for output..

It supports all the functions of the device including setting the little panning graphics etc. The only thing I couldn’t really get working as I remember was 14-bit fader, as the LSB seemed to be garbage (I think it sends 2 control messages per fader).

Anyway, motorised fader stuff / 7-seg display / lcd text is all there, as are buttons and setting the lights on the buttons. I think the buttons get translated to sequential values (hence the long coll), but I’m not really sure. A bit of poking around should make it clear.

The bad news…. It’s undocumented and as is. Looking at it now (after a lengthy gap – I don’t own a MotorMix myself), most of it should be obvious. Some is less so (what should one send into the lights input – how are the buttons numbered etc…).

The basic principle however, is stuff in at the top, out at the bottom. Oh and for text you just type it in the message bow and then bang the box/click it…

Maybe it will be of use here so it is below.

Regards,

Alex

max v2;
#N vpatcher 72 74 1101 555;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 284 367 67 196617 r MM_Lights;
#P newex 709 266 74 196617 s MM_Buttons;
#N vpatcher 218 141 593 565;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 36 226 70 196617 s MM_Faders;
#P newex 176 95 30 196617 – 64;
#P newex 137 357 78 196617 s MM_Rotaries;
#P newex 137 334 77 196617 pack 0 0 0;
#P window linecount 1;
#P message 320 303 19 196617 -1;
#P window linecount 0;
#P message 213 303 14 196617 1;
#P button 320 279 15 0;
#P button 213 279 15 0;
#P newex 137 225 43 196617 unpack;
#P window linecount 1;
#P newex 170 277 30 196617 – 64;
#P newex 170 249 160 196617 if $i1 > 64 then $i1 else out2 $i1;
#P newex 137 203 44 196617 zl rot 1;
#P newex 36 203 44 196617 zl rot 1;
#P message 246 143 14 196617 0;
#P newex 156 121 30 196617 pack;
#P message 230 143 14 196617 1;
#P newex 137 175 29 196617 gate;
#P button 230 121 15 0;
#P newex 230 95 60 196617 split 64 73;
#P message 103 143 14 196617 0;
#P inlet 55 38 15 0;
#P newex 55 121 30 196617 pack;
#P inlet 87 71 15 0;
#P message 87 143 14 196617 1;
#P newex 36 175 29 196617 gate;
#P button 87 121 15 0;
#P newex 87 95 48 196617 split 0 7;
#P fasten 3 0 2 0 92 166 41 166;
#P lcolor 16;
#P fasten 7 0 2 0 108 166 41 166;
#P lcolor 16;
#P connect 2 0 14 0;
#P connect 14 0 26 0;
#P connect 6 0 5 0;
#P connect 5 0 2 1;
#P fasten 4 0 5 1 92 90 80 90;
#P lcolor 8;
#P connect 4 0 0 0;
#P lcolor 8;
#P connect 0 0 1 0;
#P connect 1 0 3 0;
#P fasten 0 1 7 0 130 127 108 127;
#P fasten 13 0 10 0 251 166 142 166;
#P lcolor 16;
#P fasten 11 0 10 0 235 166 142 166;
#P lcolor 16;
#P connect 10 0 15 0;
#P connect 15 0 18 0;
#P connect 18 0 23 0;
#P connect 23 0 24 0;
#P fasten 6 0 12 0 60 58 161 58;
#P connect 12 0 10 1;
#P connect 18 1 16 0;
#P connect 16 0 17 0;
#P fasten 16 1 23 1 325 272 267 272 267 323 175 323;
#P connect 17 0 23 1;
#P fasten 4 0 25 0 92 90 181 90;
#P lcolor 8;
#P connect 25 0 12 1;
#P fasten 22 0 23 2 325 330 208 330;
#P lcolor 15;
#P fasten 21 0 23 2 218 330 208 330;
#P lcolor 15;
#P fasten 16 0 19 0 175 272 218 272;
#P connect 19 0 21 0;
#P fasten 4 0 8 0 92 90 235 90;
#P lcolor 8;
#P connect 8 0 9 0;
#P connect 9 0 11 0;
#P fasten 8 1 13 0 285 127 251 127;
#P connect 16 1 20 0;
#P connect 20 0 22 0;
#P pop;
#P newobj 93 78 129 196617 p Group_Controller_Types;
#P comment 810 353 194 196617 Graphic Display (Channels / Vals / Type);
#P comment 566 395 121 196617 Text Display (w/ offset);
#P comment 434 392 91 196617 7 Segment Display;
#P number 936 372 35 9 0 127 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 864 372 35 9 0 127 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 900 372 35 9 0 7 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 828 372 35 9 0 7 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 828 393 120 196617 pak 0 0 0 0;
#P number 964 394 35 9 0 7 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 556 371 249 196617 "This Could Say Anything ";
#P number 692 394 35 9 0 79 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P comment 617 224 80 196617 Rot Switch Vals;
#P comment 435 225 86 196617 Rotary Pot Values;
#P comment 338 205 270 196617 1——2——3——4——5——6——7——8;
#N vpatcher 281 221 464 377;
#P outlet 33 113 15 0;
#P inlet 33 38 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 107 84 40 196617 atoi;
#P message 70 85 20 196617 58;
#P window linecount 0;
#P newex 33 60 85 196617 route dash space;
#P message 33 86 20 196617 45;
#P connect 4 0 1 0;
#P connect 1 0 0 0;
#P connect 0 0 5 0;
#P connect 2 0 5 0;
#P connect 3 0 5 0;
#P connect 1 1 2 0;
#P connect 1 2 3 0;
#P pop;
#P newobj 566 324 44 196617 p Chars;
#P user umenu 566 297 55 196647 1 64 313 1;
#X add 0;
#X add 1;
#X add 2;
#X add 3;
#X add 4;
#X add 5;
#X add 6;
#X add 7;
#X add 8;
#X add 9;
#X add A;
#X add B;
#X add C;
#X add D;
#X add E;
#X add F;
#X add G;
#X add H;
#X add I;
#X add J;
#X add K;
#X add L;
#X add M;
#X add N;
#X add O;
#X add P;
#X add Q;
#X add R;
#X add S;
#X add T;
#X add U;
#X add V;
#X add W;
#X add X;
#X add Y;
#X add Z;
#X add dash;
#X add space;
#N vpatcher 281 221 464 377;
#P outlet 33 113 15 0;
#P inlet 33 38 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 107 84 40 196617 atoi;
#P message 70 85 20 196617 58;
#P window linecount 0;
#P newex 33 60 85 196617 route dash space;
#P message 33 86 20 196617 45;
#P connect 4 0 1 0;
#P connect 1 0 0 0;
#P connect 3 0 5 0;
#P connect 2 0 5 0;
#P connect 0 0 5 0;
#P connect 1 1 2 0;
#P connect 1 2 3 0;
#P pop;
#P newobj 420 325 44 196617 p Chars;
#P user umenu 420 298 55 196647 1 64 314 1;
#X add 0;
#X add 1;
#X add 2;
#X add 3;
#X add 4;
#X add 5;
#X add 6;
#X add 7;
#X add 8;
#X add 9;
#X add A;
#X add B;
#X add C;
#X add D;
#X add E;
#X add F;
#X add G;
#X add H;
#X add I;
#X add J;
#X add K;
#X add L;
#X add M;
#X add N;
#X add O;
#X add P;
#X add Q;
#X add R;
#X add S;
#X add T;
#X add U;
#X add V;
#X add W;
#X add X;
#X add Y;
#X add Z;
#X add dash;
#X add space;
#P toggle 639 296 15 0;
#P toggle 493 296 15 0;
#P newex 420 346 229 196617 pak 0 0 0 0;
#P newex 148 392 73 196617 pack;
#P number 211 370 35 9 0 7 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 148 371 35 9 0 127 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N coll ;
#T flags 1 0;
#T 8192 0;
#T 0 1;
#T 8193 2;
#T 1 3;
#T 8194 4;
#T 2 5;
#T 8195 6;
#T 3 7;
#T 8196 8;
#T 4 9;
#T 8197 10;
#T 5 11;
#T 8198 12;
#T 6 13;
#T 8199 14;
#T 7 15;
#P newobj 764 235 53 196617 coll;
#P number 660 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 623 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 586 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 549 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 512 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 475 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 438 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 401 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 364 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 327 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 290 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 253 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 216 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 179 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 142 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 105 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 68 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 31 187 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N coll ;
#T flags 1 0;
#T 8320 1;
#T 128 2;
#T 8321 3;
#T 129 4;
#T 8322 5;
#T 130 6;
#T 8323 7;
#T 131 8;
#T 8324 9;
#T 132 10;
#T 8325 11;
#T 133 12;
#T 8326 13;
#T 134 14;
#T 8327 15;
#T 135 16;
#T 8704 17;
#T 512 18;
#T 8705 19;
#T 513 20;
#T 8706 21;
#T 514 22;
#T 8707 23;
#T 515 24;
#T 8708 25;
#T 516 26;
#T 8709 27;
#T 517 28;
#T 8710 29;
#T 518 30;
#T 8711 31;
#T 519 32;
#T 8832 33;
#T 640 34;
#T 8833 35;
#T 641 36;
#T 8834 37;
#T 642 38;
#T 8835 39;
#T 643 40;
#T 8836 41;
#T 644 42;
#T 8837 43;
#T 645 44;
#T 8838 45;
#T 646 46;
#T 8839 47;
#T 647 48;
#T 8576 49;
#T 384 50;
#T 8577 51;
#T 385 52;
#T 8578 53;
#T 386 54;
#T 8579 55;
#T 387 56;
#T 8580 57;
#T 388 58;
#T 8581 59;
#T 389 60;
#T 8582 61;
#T 390 62;
#T 8583 63;
#T 391 64;
#T 8448 65;
#T 256 66;
#T 8449 67;
#T 257 68;
#T 8450 69;
#T 258 70;
#T 8451 71;
#T 259 72;
#T 8452 73;
#T 260 74;
#T 8453 75;
#T 261 76;
#T 8454 77;
#T 262 78;
#T 8455 79;
#T 263 80;
#T 9096 81;
#T 904 82;
#T 8968 83;
#T 776 84;
#T 8840 85;
#T 648 86;
#T 8712 87;
#T 520 88;
#T 8584 89;
#T 392 90;
#T 8456 91;
#T 264 92;
#T 8328 93;
#T 136 94;
#T 8200 95;
#T 8 96;
#T 9097 97;
#T 905 98;
#T 8969 99;
#T 777 100;
#T 8841 101;
#T 649 102;
#T 8713 103;
#T 521 104;
#T 8585 105;
#T 393 106;
#T 8457 107;
#T 265 108;
#T 8329 109;
#T 137 110;
#T 8201 111;
#T 9 112;
#T 8202 113;
#T 10 114;
#T 8330 115;
#T 138 116;
#T 8458 117;
#T 266 118;
#T 8586 119;
#T 394 120;
#T 8714 121;
#T 522 122;
#T 8842 123;
#T 650 124;
#T 8970 125;
#T 778 126;
#T 8203 127;
#T 11 128;
#T 8331 129;
#T 139 130;
#T 8459 131;
#T 267 132;
#T 8587 133;
#T 395 134;
#P newobj 709 235 53 196617 coll;
#P newex 709 212 47 196617 +;
#P newex 709 186 38 196617 * 128;
#P newex 31 154 767 196617 route 0 1 2 3 4 5 6 7 64 65 66 67 68 69 70 71 72 73 47 15;
#P newex 31 130 44 196617 zl rot 1;
#P newex 31 108 30 196617 pack;
#P newex 31 52 400 196617 ctlin;
#P user umenu 287 119 153 196647 1 64 135 1;
#X add "AU DLS Synth 1";
#X add "from Max/MSP 1";
#X add "from Max/MSP 2";
#X add "828mk2 #2 Midi Port";
#P button 287 78 15 0;
#P newex 287 97 46 196617 midiinfo;
#P comment 692 134 144 196617 N.B. Buttons / Faders Engaged;
#N vpatcher 120 362 1147 676;
#N comlet Graphic Type (0 to 7):;
#P inlet 930 113 15 0;
#N comlet List of channels / Vals:;
#P inlet 834 117 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 930 133 62 196617 prepend set;
#P newex 834 214 61 196617 append 247;
#P newex 834 188 147 196617 prepend 240 0 1 15 0 17 0 17;
#P newex 834 163 45 196617 prepend;
#N comlet Address For Text:;
#P inlet 726 114 15 0;
#N comlet Text String;
#P inlet 682 115 15 0;
#P newex 726 135 62 196617 prepend set;
#P newex 682 167 45 196617 prepend;
#P newex 682 136 40 196617 atoi;
#P newex 682 209 61 196617 append 247;
#P newex 682 189 147 196617 prepend 240 0 1 15 0 17 0 16;
#N comlet Ascii Char / Dot/ Char 2 / Dot2 Packed:;
#P inlet 422 89 15 0;
#P button 361 165 15 0;
#P newex 574 141 29 196617 < < 6;
#P newex 544 164 27 196617 + 0;
#P newex 544 141 29 196617 >> 4;
#P newex 605 141 34 196617 % 32;
#P newex 452 141 29 196617 < < 6;
#P newex 422 110 195 196617 unpack 0 0 0 0;
#P newex 422 164 27 196617 + 0;
#P newex 422 141 29 196617 >> 4;
#P newex 483 141 34 196617 % 32;
#P newex 361 189 316 196617 18 0 0 0 0 247;
#P newex 361 211 132 196617 prepend 240 0 1 15 0 17 0;
#N comlet Light State / Flashing Packed;
#P inlet 230 24 15 0;
#P newex 230 44 58 196617 unpack 0 0;
#P newex 282 188 27 196617 +;
#P newex 299 165 32 196617 < < 4;
#P newex 299 141 42 196617 &&;
#P newex 299 118 29 196617 >> 5;
#P newex 282 92 29 196617 >> 7;
#P button 178 190 15 0;
#P newex 230 189 40 196617 % 128;
#N coll ;
#T flags 1 0;
#T 1 8320;
#T 2 128;
#T 3 8321;
#T 4 129;
#T 5 8322;
#T 6 130;
#T 7 8323;
#T 8 131;
#T 9 8324;
#T 10 132;
#T 11 8325;
#T 12 133;
#T 13 8326;
#T 14 134;
#T 15 8327;
#T 16 135;
#T 17 8704;
#T 18 512;
#T 19 8705;
#T 20 513;
#T 21 8706;
#T 22 514;
#T 23 8707;
#T 24 515;
#T 25 8708;
#T 26 516;
#T 27 8709;
#T 28 517;
#T 29 8710;
#T 30 518;
#T 31 8711;
#T 32 519;
#T 33 8832;
#T 34 640;
#T 35 8833;
#T 36 641;
#T 37 8834;
#T 38 642;
#T 39 8835;
#T 40 643;
#T 41 8836;
#T 42 644;
#T 43 8837;
#T 44 645;
#T 45 8838;
#T 46 646;
#T 47 8839;
#T 48 647;
#T 49 8576;
#T 50 384;
#T 51 8577;
#T 52 385;
#T 53 8578;
#T 54 386;
#T 55 8579;
#T 56 387;
#T 57 8580;
#T 58 388;
#T 59 8581;
#T 60 389;
#T 61 8582;
#T 62 390;
#T 63 8583;
#T 64 391;
#T 65 8448;
#T 66 256;
#T 67 8449;
#T 68 257;
#T 69 8450;
#T 70 258;
#T 71 8451;
#T 72 259;
#T 73 8452;
#T 74 260;
#T 75 8453;
#T 76 261;
#T 77 8454;
#T 78 262;
#T 79 8455;
#T 80 263;
#T 81 9096;
#T 82 904;
#T 83 8968;
#T 84 776;
#T 85 8840;
#T 86 648;
#T 87 8712;
#T 88 520;
#T 89 8584;
#T 90 392;
#T 91 8456;
#T 92 264;
#T 93 8328;
#T 94 136;
#T 95 8200;
#T 96 8;
#T 97 9097;
#T 98 905;
#T 99 8969;
#T 100 777;
#T 101 8841;
#T 102 649;
#T 103 8713;
#T 104 521;
#T 105 8585;
#T 106 393;
#T 107 8457;
#T 108 265;
#T 109 8329;
#T 110 137;
#T 111 8201;
#T 112 9;
#T 113 8202;
#T 114 10;
#T 115 8330;
#T 116 138;
#T 117 8458;
#T 118 266;
#T 119 8586;
#T 120 394;
#T 121 8714;
#T 122 522;
#T 123 8842;
#T 124 650;
#T 125 8970;
#T 126 778;
#T 127 8203;
#T 128 11;
#T 129 8331;
#T 130 139;
#T 131 8459;
#T 132 267;
#T 133 8587;
#T 134 395;
#P newobj 230 69 53 196617 coll;
#P newex 178 211 115 196617 pack 176 12 0 44 0;
#P newex 41 152 40 196617 unpack;
#P window linecount 1;
#P newex 131 180 31 196617 + 32;
#P button 41 185 15 0;
#P newex 41 211 133 196617 pack 176 0 0 32 0;
#P newex 21 248 43 196617 midiout;
#N comlet Val/Fader Packed:;
#P inlet 41 128 15 0;
#N comlet Select Midi Port:;
#P inlet 21 212 15 0;
#P fasten 32 0 2 0 687 238 26 238;
#P fasten 3 0 2 0 46 238 26 238;
#P fasten 0 0 2 0 26 238 26 238;
#P fasten 7 0 2 0 183 238 26 238;
#P fasten 18 0 2 0 366 238 26 238;
#P fasten 40 0 2 0 839 238 26 238;
#P connect 1 0 6 0;
#P connect 6 0 4 0;
#P lcolor 9;
#P connect 4 0 3 0;
#P connect 6 1 3 1;
#P fasten 6 0 3 2 46 179 106 179;
#P lcolor 9;
#P fasten 6 1 5 0 76 174 136 174;
#P connect 5 0 3 3;
#P fasten 8 0 10 0 235 179 183 179;
#P connect 10 0 7 0;
#P connect 17 0 16 0;
#P connect 16 0 8 0;
#P connect 8 0 9 0;
#P connect 9 0 7 2;
#P fasten 8 0 11 0 235 90 287 90;
#P connect 11 0 15 0;
#P connect 15 0 7 4;
#P fasten 11 0 12 0 287 114 304 114;
#P connect 12 0 13 0;
#P connect 13 0 14 0;
#P connect 14 0 15 1;
#P fasten 16 1 13 1 283 67 336 67;
#P fasten 23 0 29 0 427 134 366 134;
#P connect 29 0 19 0;
#P connect 19 0 18 0;
#P connect 30 0 23 0;
#P connect 23 0 21 0;
#P connect 21 0 22 0;
#P connect 22 0 19 1;
#P fasten 24 0 22 1 457 161 444 161;
#P fasten 23 1 24 0 488 130 457 130;
#P lcolor 16;
#P fasten 23 0 20 0 427 134 488 134;
#P connect 20 0 19 2;
#P connect 23 2 26 0;
#P connect 26 0 27 0;
#P connect 27 0 19 3;
#P fasten 28 0 27 1 579 161 566 161;
#P fasten 23 3 28 0 610 131 579 131;
#P lcolor 16;
#P fasten 23 2 25 0 549 134 610 134;
#P connect 25 0 19 4;
#P connect 36 0 33 0;
#P fasten 35 0 34 0 731 159 687 159;
#P connect 33 0 34 0;
#P connect 34 0 31 0;
#P connect 31 0 32 0;
#P connect 37 0 35 0;
#P fasten 41 0 38 0 935 156 839 156;
#P connect 42 0 38 0;
#P connect 38 0 39 0;
#P connect 39 0 40 0;
#P connect 43 0 41 0;
#P pop;
#P newobj 12 417 965 196617 p MidiOut;
#P comment 147 225 70 196617 Fader Values;
#P comment 47 205 270 196617 1——2——3——4——5——6——7——8;
#P comment 130 341 150 196617 Motorised Faders (Val / Fader);
#P comment 299 392 37 196617 Lights;
#P window setfont "Arial Black" 36.;
#P comment 539 29 394 791478308 Motor Mix Interface;
#P hidden fasten 9 1 5 0 435 44 17 44;
#P hidden fasten 9 1 10 0 435 44 36 44;
#P connect 10 0 11 0;
#P connect 11 0 12 0;
#P connect 12 0 13 0;
#P connect 13 0 17 0;
#P fasten 10 1 11 1 231 101 56 101;
#P connect 13 1 18 0;
#P fasten 10 0 60 0 36 73 98 73;
#P connect 13 2 19 0;
#P connect 13 3 20 0;
#P connect 36 0 38 0;
#P connect 38 0 5 1;
#P connect 13 4 21 0;
#P connect 37 0 38 1;
#P fasten 10 1 60 1 231 73 217 73;
#P connect 13 5 22 0;
#P connect 13 6 23 0;
#P connect 62 0 5 2;
#P connect 8 0 7 0;
#P connect 7 0 9 0;
#P connect 13 7 24 0;
#P connect 13 8 25 0;
#P connect 13 9 26 0;
#P connect 13 10 27 0;
#P fasten 42 1 43 0 470 318 425 318;
#P connect 43 0 39 0;
#P connect 39 0 5 3;
#P connect 13 12 29 0;
#P connect 40 0 39 1;
#P connect 13 13 30 0;
#P connect 13 14 31 0;
#P connect 50 0 5 4;
#P fasten 44 1 45 0 616 317 571 317;
#P connect 45 0 39 2;
#P connect 13 15 32 0;
#P connect 13 16 33 0;
#P connect 41 0 39 3;
#P connect 13 17 34 0;
#P connect 49 0 5 5;
#P fasten 13 18 14 0 702 177 714 177;
#P connect 14 0 15 0;
#P connect 15 0 16 0;
#P connect 16 0 61 0;
#P fasten 13 19 15 1 739 179 751 179;
#P fasten 15 0 35 0 714 232 769 232;
#P connect 53 0 52 0;
#P connect 52 0 5 6;
#P connect 55 0 52 1;
#P connect 54 0 52 2;
#P connect 56 0 52 3;
#P connect 51 0 5 7;
#P pop;


February 13, 2008 | 1:00 am

Quote: AlexHarker wrote on Tue, 12 February 2008 17:52
—————————————————-
>> I think the buttons get translated to sequential values (hence the long coll), but I’m not really sure. A bit of poking around should make it clear.

I had a closer look and it seems likely (from what I remember) that the buttons are in some reasonably sensible sequential order from 1 upwards, except even numbers are button releases I think – so:

1 – is (probably) the top left button
2 – is the release of the button…

I’m pretty sure that’s how I did it.
The coll on the right is probably for the little black buttons…

The lights may take these numbers. A bit of experimentation should tell you quite soon…

Alex


February 13, 2008 | 1:59 am

Wicked, thanks a lot for sharing Alex! This will definitely save me
some time. I have a patch for doing the 14-bit fader values already so
maybe you should go and buy another MotorMix now. :)

Thanks again!

> The lights may take these numbers. A bit of experimentation should tell you quite soon…
>
> Alex


February 13, 2008 | 7:14 am

Wade schrieb:
> just wondering if I’m doing something wrong.

Yes, you didn’t learn Midi yet, there are some nice tutorials from Peter
Elsea and lots of resources on the web to learn what these bytes
actually mean. It is helpful to know it (and answer your question by
itself…)

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


February 13, 2008 | 7:40 am

HI,

can you please show us the patch for 14 bit fader values ?

Thanks

All the best


Alessandro Fogar

http://www.fogar.it

2008/2/13, Wade :
> Wicked, thanks a lot for sharing Alex! This will definitely save me
> some time. I have a patch for doing the 14-bit fader values already so
> maybe you should go and buy another MotorMix now. :)
>
> Thanks again!
>
>
>
> > The lights may take these numbers. A bit of experimentation should tell you quite soon…
> >
> > Alex
>


February 13, 2008 | 10:09 am

On 13 Feb 2008, at 00:10, Wade wrote:

> How this instead of using ctlout? It should make your Shift button on
> your MotorMix blink. It seems simpler to me. Is this inefficient?

Nope.

It’s really your call whether having a string of numbers in a message
box is better or worse than using ctlout and sending individual
numerical values to inlets. I suspect that will become clear as you
progress with the coding…

– N.

Nick Rothwell / Cassiel.com Limited
http://www.cassiel.com
http://www.myspace.com/cassieldotcom
http://www.last.fm/music/cassiel
http://www.reverbnation.com/cassiel
http://www.linkedin.com/in/cassiel
http://www.loadbang.net


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