# Mackie control as supported MIDI controller

**URL:** <https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717>\
**Category:** Software\
**Tags:** documentation\
**Created:** [June 30, 2025, 6:53pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717 "2025-06-30T18:53:22Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jawn](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jawn/32/14487_2.png) [@jawn](https://discourse.zynthian.org/u/jawn)\
**Post date:** [June 30, 2025, 6:53pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/1 "2025-06-30T18:53:22Z")

</div>

Hi

According to the [Wiki docs](https://wiki.zynthian.org/index.php/Supported_plug_%26_play_MIDI_controllers#Mackie_Control), Mackie control is supported out of the box.

However, looking at the [code](https://github.com/zynthian/zynthian-ui/tree/oram/zyngine/ctrldev) and various messages here I don’t think that’s the case yet?

Update, found the following fork with a driver at zynthian\_ctrldev\_mackiecontrol.py from [zynthian-ui/zyngine/ctrldev/zynthian\_ctrldev\_mackiecontrol.py at vangelis · chrismatthews/zynthian-ui · GitHub](https://github.com/chrismatthews/zynthian-ui/blob/vangelis/zyngine/ctrldev/zynthian_ctrldev_mackiecontrol.py), unclear how generic it is.

---

<div class="post-metadata">

**Author:** ![chrismat](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/c/67e7ee/32.png) [@chrismat](https://discourse.zynthian.org/u/chrismat)\
**Post date:** [June 30, 2025, 7:22pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/2 "2025-06-30T19:22:47Z")

</div>

Hi @jawn

It’s work in progress, my fork may well work but I’ve only tested it on X-Touch. There are a lot of features that Mackiecontrol offer which may not fit with zynthian, as it’s not a mixer.

Here are my comments from yesterday.

> [@NEW: Control-device manager + controller device "drivers"](https://discourse.zynthian.org/t/new-control-device-manager-controller-device-drivers/8593/222):
>
> I’ve rewritten my code this weekend and it’s a lot nicer, there’s one section which I want to improve before adapting for other devices (I have already included some bits especially for the BCF2000) The sad news I’ve hit a strange issue when having more than 8 chains getting the volume for the 9th returns the wrong value, 10 and beyond are correct again. So this may take some time to debug. Perhaps in the mean time you would like to think about what the functionality the BCF2000 buttons / enco…

I’ll give it another big push at the weekend , as there is growing interest

Which controller do you have?

---

<div class="post-metadata">

**Author:** ![jawn](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jawn/32/14487_2.png) [@jawn](https://discourse.zynthian.org/u/jawn)\
**Post date:** [June 30, 2025, 7:25pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/3 "2025-06-30T19:25:32Z")

</div>

Hi @christmat, that’s the Zoom R8. Thanks for your rapid feedback!

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [July 1, 2025, 6:12am UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/4 "2025-07-01T06:12:26Z")

</div>

> [@chrismat](#):
>
> as it’s not a mixer

Zynthian has a stereo mixer with multiple inputs and outputs (groups). Each channel had pan/balance, fader/level, mute, solo, phase reverse, m+s & mono.

---

<div class="post-metadata">

**Author:** ![chrismat](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/c/67e7ee/32.png) [@chrismat](https://discourse.zynthian.org/u/chrismat)\
**Post date:** [July 1, 2025, 8:11am UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/5 "2025-07-01T08:11:22Z")

</div>

I know and I’m certainly not requesting the extra features. But Mackiecontrol has been designed for so much more (Auxs, buses, eq, automation, transport). So my main aim is to make it as user configurable as possible to be a Zynthian controller and not a DAW controller. Square pegs don’t always fit in round holes.  
With the new design with yaml files (for different models) I think this can be achieved.

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [July 1, 2025, 9:11am UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/6 "2025-07-01T09:11:00Z")

</div>

> [@chrismat](#):
>
> Auxs, buses, eq, automation, transport

Many on their way or already implemented.

> [@chrismat](#):
>
> Square pegs don’t always fit in round holes.

They can if you hit hard enough. 😉

> [@chrismat](#):
>
> my main aim is to make it as user configurable as possible to be a Zynthian controller

A good aspiration.

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [July 1, 2025, 4:01pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/7 "2025-07-01T16:01:33Z")

</div>

Hi @chrismat !

I would like to merge the mackie control driver into vangelis. As you didn’t modify other files, i could do it without risk. Could you send a PR?

For testing i’ve an old “logic control” from Mackie. No USB, just MIDI-DIN-5. It would serve as a good reference because it implements almost every feature from the Mackie protocol. Indeed, this device is probably a kind of “defacto reference” as it’s the original Mackie Control device 😉

Regards,

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [July 1, 2025, 4:08pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/8 "2025-07-01T16:08:04Z")

</div>

Hi @jawn !

It’s not officially supported yet.

> [@jawn](#):
>
> According to the [Wiki docs](https://wiki.zynthian.org/index.php/Supported_plug_%26_play_MIDI_controllers#Mackie_Control), Mackie control is supported out of the box.

Only the picture here. I added the picture to put some pressure over my shoulders and go forward with the implementation, but it seems @chrismat has been faster than me! Nice!

Let’s make this driver official ASAP 😉

Regards,

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [July 1, 2025, 5:56pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/9 "2025-07-01T17:56:12Z")

</div>

Hey @chrismat!!!

It works in my Mackie MCU! I just made 2 minimal changes and it works. Congratulations and thanks a lot for this fantastic driver!!

This is what works nicely:

- Loading/unloading driver
- Selecting mixer channels from MCU and from zynthian. Also using the MCU arrows and the big selector encoder.
- Mute/Solo/Record Arm
- Channel Balance using the assignable channel encoder
- Channel Volume using motorized faders (see comment below)
- Main fader’s volume
- Transport buttons (play/record/stop)

There are a few issues:

- Text display doesn’t work
- Fader’s mixer scale seems to be wrong and bizarre effects happen when moving in the MCU. Changing from zynthian mixer works like a charm and motorized faders move smoothly.

Awaiting your PR to start working on it!

All the best,

---

<div class="post-metadata">

**Author:** ![chrismat](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/c/67e7ee/32.png) [@chrismat](https://discourse.zynthian.org/u/chrismat)\
**Post date:** [July 1, 2025, 7:38pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/10 "2025-07-01T19:38:54Z")

</div>

Thanks for testing and for the comments, As I’ve already mentioned over the last couple of weeks I’ve rewritten it (same functional set) but a different approach which gives better performance and flexable user configuration, to my sins I’ve not commited it yet. Unfortunately I’m not at my computer until Friday evening, to give you the choice which version you would like me to PR.

“Fader’s mixer scale seems to be wrong“. setting xtouch to False in the settings ini file should correct it.

\*Text display doesn’t work“ hmm… that’s a surprise

I’m kicking myself now for still not writing any documentation to explain functionality, it would be handy right now.

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [July 1, 2025, 7:41pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/11 "2025-07-01T19:41:15Z")

</div>

> [@chrismat](#):
>
> I’m kicking myself now for still not writing any documentation

Start with specification. Adapt to test scripts. Adapt to user documentation.

---

<div class="post-metadata">

**Author:** ![jawn](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jawn/32/14487_2.png) [@jawn](https://discourse.zynthian.org/u/jawn)\
**Post date:** [July 1, 2025, 8:31pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/12 "2025-07-01T20:31:22Z")

</div>

It seems the stars are aligning!

Thanks for the momentum @chrismat @jofemodo @riban, once a version is added to Vangelis I’ll gladly test it with the Zoom R8.

---

<div class="post-metadata">

**Author:** ![chrismat](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/c/67e7ee/32.png) [@chrismat](https://discourse.zynthian.org/u/chrismat)\
**Post date:** [July 5, 2025, 10:13am UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/13 "2025-07-05T10:13:38Z")

</div>

> [@jofemodo](#):
>
> PR to start working on it!

PR done!  
As mentioned this is my newer version using a yaml file for (nearly all definitions) presently saved next to the driver file, I was thinking that templates could be created for known devices (prehaps under /zynthian/zynthian-data/…/…) and then saved in a user path (perhaps under zynthian/zynthian-my-data/…/…) where users can adapt to their preferences, prehaps later added to the webui.

I promise I’ll start write some documentation soon.

So each ccnum button number is defined as key, the name added so that users knows what the button is named on the device. A command Type: ZYNSWITCH, cuia or mkc (mkc: internal commands/funtions), Commands are obvious for ZYNSWITCH and cuia, but for mkc the command is split with “\_” for the function to be called and the argument e.g. command: mute\_5 calls self.mute(‘5’).

Examples from the yaml file  
21:  
name: mute\_5  
command\_type: mkc  
command: mute\_5  
85:  
name: transport\_nudge  
command\_type: cuia  
command: SCREEN\_ADMIN  
100:  
name: select  
command\_type: ZYNSWITCH  
command: 3

The bug I found with Chain 9 is fixed and @SteveFlesh “Pan incorrectly changing 2nd channel balance” (thanks for reporting it) is also fixed. I’ve still not added the encoder pan LEDs yet.  
I’ve no idea why your display doesn’t work, I’ll look forward to your feedback.

It’ll be interesting to here what is the default reading and writing for the motorized faders as xtouch seems to deviate see lines from 665.

> ```
> if self.device_settings['xtouch']:
> zyn_vol_level = mackie_vol_level / (self.max_fader_value * 2)
> mackie_vol_level = int(mackie_vol_level / 2) 
> 
> ```

Further Reading, I found useful…

> <https://github.com/NicoG60/TouchMCU/blob/main/doc/mackie_control_protocol.md>

For the Video watches…

[![](https://img.youtube.com/vi/36Ek5qyTmTk/maxresdefault.jpg "MackieControl Explained: How does an external controller communicate with the DAW?") ](https://www.youtube.com/watch?v=36Ek5qyTmTk)

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [July 5, 2025, 1:00pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/14 "2025-07-05T13:00:37Z")

</div>

Supernice code! Congrats @chrismat !  
It’s now merged in vangelis branch.

Now, i would try to fix the display text in my Mackie Logic Control. Faders now work OK, BTW!

Regards,

---

<div class="post-metadata">

**Author:** ![chrismat](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/c/67e7ee/32.png) [@chrismat](https://discourse.zynthian.org/u/chrismat)\
**Post date:** [July 7, 2025, 6:43pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/15 "2025-07-07T18:43:56Z")

</div>

> [@jofemodo](#):
>
> Now, i would try to fix the display text in my Mackie Logic Control

Try changing the number 14 to either 10 or 11 below, if it works we could send a Host Connection Query to check which one replies.

```auto
	def send_syx(self, data='00'):
		msg = bytes.fromhex(f"F0 00 00 66 14 {data} f7")
		lib_zyncore.dev_send_midi_event(self.idev_out, msg, len(msg))

```

Reference list of known Mackie Designs device IDs:

| ID | Device |
| --- | --- |
| `0x05` | Mackie HUI (also BabyHUI and D8B) |
| `0x10` | Emagic Logic Control |
| `0x11` | Emagic Logic Control XT |
| `0x14` | **Mackie Control (Universal) (Pro)** |
| `0x15` | Mackie Control (Universal) XT (Pro) |

---

<div class="post-metadata">

**Author:** ![jawn](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jawn/32/14487_2.png) [@jawn](https://discourse.zynthian.org/u/jawn)\
**Post date:** [July 16, 2025, 8:53pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/16 "2025-07-16T20:53:35Z")

</div>

I’ve done some quick testing with the Zoom R8 and managed to get the Mackie mode working. Using the latest vangelis.

E.g. Mute/unmute of channels works, as does left/right arrow navigation and setting channel volume using up/down arrows.

What doesn’t have effect is using the physical channel faders.

Update: this Bitwig project shows it can be done

> **[Zoom-R8-Bitwig-Controller-Script/Zoom at master ·...](https://github.com/dschiller/Zoom-R8-Bitwig-Controller-Script/tree/master/Zoom)**
>
> Zoom R8 Bitwig Controller Script. Contribute to dschiller/Zoom-R8-Bitwig-Controller-Script development by creating an account on GitHub.

On a side note I’ve seen a bug where disabling/enabling Hot plug audio sometimes adds menu items twice, see here. Should I log a bug or is this a known issue?

 ![IMG_20250716_121544](https://discourse.zynthian.org/uploads/default/original/2X/0/0e25cb034ddaeac8cd06057a71e4f79b57e03691.jpeg)

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [July 16, 2025, 9:03pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/17 "2025-07-16T21:03:46Z")

</div>

Log a bug.

---

<div class="post-metadata">

**Author:** ![jawn](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jawn/32/14487_2.png) [@jawn](https://discourse.zynthian.org/u/jawn)\
**Post date:** [July 16, 2025, 9:17pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/18 "2025-07-16T21:17:02Z")

</div>

Done [Duplicate Hotplug audio menu items · Issue #1434 · zynthian/zynthian-issue-tracking · GitHub](https://github.com/zynthian/zynthian-issue-tracking/issues/1434)

---

<div class="post-metadata">

**Author:** ![chrismat](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/c/67e7ee/32.png) [@chrismat](https://discourse.zynthian.org/u/chrismat)\
**Post date:** [July 17, 2025, 4:34pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/19 "2025-07-17T16:34:23Z")

</div>

Hi @jawn

You’ll need to adjust the device\_settings in the yaml file (see below for the path),  
xtouch: False  
touchsensefaders: False

/zynthian/zynthian-ui/zyngine/ctrldev/zynthian\_ctrldev\_mackiecontrol.yaml

---

<div class="post-metadata">

**Author:** ![jawn](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jawn/32/14487_2.png) [@jawn](https://discourse.zynthian.org/u/jawn)\
**Post date:** [July 18, 2025, 3:56pm UTC](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717/20 "2025-07-18T15:56:18Z")

</div>

Thanks @chrismat, that fixed the physical channel faders on the Zoom R8! I can use channel 1-8 and the master fader now and they work as expected.

[Next page](https://discourse.zynthian.org/t/mackie-control-as-supported-midi-controller/11717.md?page=2)
