Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 03-24-2012, 04:12 PM   #1
yagonnawantthatcowbell
Human being with feelings
 
Join Date: Aug 2009
Posts: 344
Default how do I translate mackie control protocol to OSC?

I want to translate mackie control protocol to OSC and back. Klinke, Geoff, anyone, need mucho help...

Gracias
yagonnawantthatcowbell is offline   Reply With Quote
Old 03-24-2012, 06:05 PM   #2
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Good question.

I'd much rather see someone explain the details of this proprietary format than dig into it myself.

Then perhaps I'd be interested in using any of it to build some OSC conversion layer. But I'm not sure I'd even have a use for it really. I don't see anything it can do that OSC can't do better (but feel free to correct me on that, please), but I also don't have any gear that depends on it (since I avoided that like the plague), so I'm not really interested in reverse engineering it myself.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-26-2012, 12:21 PM   #3
yagonnawantthatcowbell
Human being with feelings
 
Join Date: Aug 2009
Posts: 344
Default

Well, Geoff Waddington and Klinke have both written plugins to interface Mackie Control protocol with Reaper via csurf plugins. I wonder if they had to listen and decode the MCU protocol to implement their support...

I'm going to look around the web and see if I can find anything on it that can help us get started.


EDIT - found this:

http://home.comcast.net/~robbowers11/MCMap.htm

I'm just looking to be able to use the different functions on the mackie control, like the sends, i/o, eq, dyn, modes... and get something similar as Klinke's MCU support happening on OSX


EDIT AGAIN:

I'm not sure exactly what that MIDI map above references. After further investigation it seems the MCU doesn't send midi, but rather sysex. I've plugged the MCU into OSCulator and can see that different button presses or fader moves actually send multiple messages...

WAAAAAAY over my head here... lol...

Last edited by yagonnawantthatcowbell; 03-26-2012 at 06:11 PM.
yagonnawantthatcowbell is offline   Reply With Quote
Old 03-27-2012, 09:24 AM   #4
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by yagonnawantthatcowbell View Post
Well, Geoff Waddington and Klinke have both written plugins to interface Mackie Control protocol with Reaper via csurf plugins. I wonder if they had to listen and decode the MCU protocol to implement their support...

I'm going to look around the web and see if I can find anything on it that can help us get started.


EDIT - found this:

http://home.comcast.net/~robbowers11/MCMap.htm

I'm just looking to be able to use the different functions on the mackie control, like the sends, i/o, eq, dyn, modes... and get something similar as Klinke's MCU support happening on OSX


EDIT AGAIN:

I'm not sure exactly what that MIDI map above references. After further investigation it seems the MCU doesn't send midi, but rather sysex. I've plugged the MCU into OSCulator and can see that different button presses or fader moves actually send multiple messages...

WAAAAAAY over my head here... lol...
Hey thanks, that seems to be just what we're looking for. Saved for future reference. If this is correct (and complete), it looks entirely possible and not that complicated at all to make an OSC<-->Mackie Control conversion patch for Pure data or Max (runtime) which would work with REAPER on OS X, Windows and Linux (and which doesn't involve any coding, and allows for further customization). Noted on my to-do list, just waiting for me to come across one of those devices while I have a bit of spare time.

The multiple messages thing seems to be correct: according to that chart it sends separate commands for touching a slider and actually moving it, so you'd get a sequence of start touch, new value(s), stop touch every time you move a slider.

And translating SysEx (if that's what it is) isn't that much harder than other MIDI; it would still be a matter of set up once, forget. Assuming it has all been correctly reverse engineered, of course.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 03-27-2012, 10:20 AM   #5
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,108
Default

Quote:
Originally Posted by yagonnawantthatcowbell View Post

EDIT AGAIN:

I'm not sure exactly what that MIDI map above references. After further investigation it seems the MCU doesn't send midi, but rather sysex. I've plugged the MCU into OSCulator and can see that different button presses or fader moves actually send multiple messages...

WAAAAAAY over my head here... lol...
Until the Mackie gurus chime in...

I don't have a MCU but have done a bit of work doing the BCR2000 MCU emu preset I use:

http://forum.cockos.com/showthread.php?t=60110

I used exactly the Mackie map you linked to above, so indeed the Mackie protocol (for controlling stuff) is basically just Midi messages (eg pitchbend for volume because of the double precision).
The sysex messages you are seeing are probably for stuff like updating the MCU display which is handled via sysex afaik.

Also a bit of info here:

http://forum.cockos.com/showthread.p...158#post800158
nofish is offline   Reply With Quote
Old 04-02-2012, 02:20 PM   #6
yagonnawantthatcowbell
Human being with feelings
 
Join Date: Aug 2009
Posts: 344
Default

still trying to get rolling with pure data...
yagonnawantthatcowbell is offline   Reply With Quote
Old 04-02-2012, 03:04 PM   #7
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Anything in particular? I'm an expert in rolling.

More seriously, I'm planning to post a few OSC+Pd tutorials here, but it's not easy to decide where to start, and how to keep it simple. If you just post any questions you have, perhaps I can help you out.

PS: congrats on reaching post 303, one of my favorites.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 04-04-2012, 02:37 AM   #8
Klinke
Human being with feelings
 
Klinke's Avatar
 
Join Date: Jul 2008
Location: Berlin / Germany
Posts: 832
Default

I didn't reverse engineering the protocol by myself, that was already done in the code you get when you download the Reaper Extension SDK (http://www.cockos.com/reaper/sdk/plu...in.php#ext_dev). And the protocol is documented in the code (incl. the sysex-elements that are missing on the webpage you found), so i suggest that you download the SDK just to study the comments in the CSurf_Mackie code.
Klinke is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:43 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.