MC8 as a simple Display & Button Device via Sysex?

I’m sorry if this has been asked and answered elsewhere, but I couldn’t find it. I also read through the SysEx documentation and cannot see a way to do what I’m about to describe. Wondering if it’s possible or could be made possible.

Desire:
A mode for the MC8 where it will simply display what it is told to display (via SysEx), and report button presses/releases and external switch/expression events over MIDI.

Use case:
As a flexible and dynamic controller for GigPerformer, a DAW, or any program that can run its own code to control what is displayed on the MC8 display and respond to button presses, expression pedals, etc.

Example:
GigPerformer is a cross platform VST host designed for live performance. In a typical GigPerformer “Rackspace” (generally akin to a “patch”) a user might have half a dozen VSTs with different parameters controllable in real time via MIDI. One can have an unlimited number of Rackspaces, each with different VSTs and different parameters linked to different footswitches or pedals. Setlists and Songparts can be used to change among Rackspaces, or change any number of VST parameters while moving through songs or sets.

While one could set up their MC8 in any number of ways as a “smart” controller for GigPerformer, it is both cumbersome and complicated to keep programs on the MC8 (or any control surface) in alignment with changes made in GigPerformer.

GigPerformer (or Ableton Live, Bitwig…) allows a user (or third party) to create external libraries (through an SDK) to integrate control surfaces into the operation of the program and its components.

Once the external library is written it should be relatively easy for end users to integrate the control surface (MC8 in this case) into their own workflow and performances.

In my own simple guitar setup I use GigPerformer to host TH-U for amp & cabinet simulation plus some overdrive or distortion effects. I generally use different VSTs in the chain for compression, chorus, EQ, reverb, and delay. For any given song all of those components may be different, and for each song I may have need for different effects toggles or expression pedal control.

I envision a control surface integration with GigPerformer such that the user can fully configure from within their GigPerformer Rackspaces and Songs what they want displayed and what they want each button or external switch/expression pedal to control on a Song by Song and Rackspace by Rackspace basis.

Additional thoughts:
I have already written and currently use similar GIgPerformer external libraries with the Novation SL MK3 “In Control” protocol and the generic Mackie MCU protocol. I would intend to do the same for the MC8 and make the code free for use or modification via Github or similar. I’d love a similar capability in a foot switch device like the MC8. (I currently use an FCB1010, but the inconvenient size and lack of display translates into me not actually using it much.)

Required list and wish list:
The basic minimum to make this functional would be to have full control of all four lines of the display, and to have each button send note or CC messages.

Much better would be the ability to write to the display by position address, e.g., line 1, position 8, x number of characters.

Would be nice if there were a way to switch the MC8 into this “external control mode” via SysEx command so that it can be set into this mode automatically when it is detected by the application. Once in this mode it would be awesome if “button combo” presses could be detected and utilized by the external control library rather than within the MC8. e.g., if buttons A-H send CC [81-88] 127 when pressed down and CC [81-88] 0 when released then the external control can detect combination to expand control options. [Some combination like A+H should likely be reserved to exit this “external control mode”.]

Is there some way to accomplish this on the MC8 already that I am not aware of? And if not, is it something that might be considered?

We do have a SysEx API to interact allow you to programmatically with the controller: SysEx Documentation for External Applications

Would this help for your case?

I have read through all that, thank you.

I think it goes much of the way there, but what appears to be missing is:

  • ability to address the full text display through sysex
  • ability to prevent the MCx from acting on button press combinations (e.g., A+B, B+C, etc.)

Essentially a mode where the MCx would act as “a dumb control surface” in the same way that an Ableton Push 2, Icon Platform M+, Behringer X-Touch mini, etc. do. The MC series is clearly designed around a different use case, but by having a “dumb” mode available the MC8 would make it the only reasonably priced foot switch controller with a decent display in that market.

The MC6 Pro looks even more interesting for this because of the improved displays. Maybe that’s the more practical place for you to consider it.

I don’t know how many incremental sales it would generate, but it would make a huge difference in the usefulness of these devices for anyone performing with a PC-based rig using something like GigPerformer. Whether they’re a guitar player, keyboardist, bassist, or vocalist. Maybe even some of those guys that carry sticks and hang around with musicians.

That’s available today via the Dual Switch Lock option in the Controller Settings.