MotorMix SysEx


    Feb 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.

    • Feb 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.
    • Feb 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. > > > > >
    • Feb 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 www.cassiel.com www.myspace.com/cassieldotcom www.last.fm/music/cassiel www.reverbnation.com/cassiel www.linkedin.com/in/cassiel www.loadbang.net
    • Feb 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
    • Feb 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
    • Feb 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?
    • Feb 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
    • Feb 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
    • Feb 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
    • Feb 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
    • Feb 13 2008 | 7:40 am
      HI,
      can you please show us the patch for 14 bit fader values ?
      Thanks
      All the best
      -- Alessandro Fogar
      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 >
    • Feb 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 www.cassiel.com www.myspace.com/cassieldotcom www.last.fm/music/cassiel www.reverbnation.com/cassiel www.linkedin.com/in/cassiel www.loadbang.net