logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
JoeFloyd  
#1 Posted : Tuesday, June 4, 2019 5:08:22 AM(UTC)
JoeFloyd

Rank: Newbie

Groups: Registered
Joined: 3/6/2019(UTC)
Posts: 2
Man
United States
Location: Alaska

Trying to integrate the Mackie MCU PRO into my VMix workflow for hotkeys and audio control.

Have been successful in reading fader input from the control surface - the digital fader moves in correlation to the physical fader movement. There appears to be a problem with MIDI out communication, though, as the motorized fader returns to zero about a second after it is set. This movement is not reflected on the digital fader. As soon as the physical fader is touched again, the digital fader snaps to zero and follows fader movement again. I have set up both the activator and shortcuts as suggested in the User Guide.

These are the settings used:

shortcut.jpg (32kb) downloaded 3 time(s). activator.jpg (56kb) downloaded 1 time(s).

I am sure I have missed something in the setup, possibly on the Mackie driver side - VMIX sees the control surface in the shortcut "MIDI Settings" menu as well as the activator "Enable Devices" menu, but will not display the Controller in the MIDI Channel Mappings menu. Does anybody have any insights?

Thanks!
barriod  
#2 Posted : Sunday, April 5, 2020 6:23:50 AM(UTC)
barriod

Rank: Newbie

Groups: Registered
Joined: 4/5/2020(UTC)
Posts: 7
Spain
Location: Sevilla

Good, I also have the same problem, I have a behringer x-touch table, and the fades do the same to me, at the second they go back to low. I have tried all kinds of configurations but nothing.
In the behringer I have the option to put it in Mackie mode or HUI mode I think I have tried everything but I have not managed to get the fades to stay in place.
did you manage to solve it?
marcusp  
#3 Posted : Wednesday, April 29, 2020 7:50:05 PM(UTC)
marcusp

Rank: Newbie

Groups: Registered
Joined: 4/29/2020(UTC)
Posts: 6
United Kingdom

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
I now have the same problem. Sadly, I didn't look at the forum before buying my new X-Touch. All ideas welcome (or even better, added support for Mackie Controllers!)
gp47  
#4 Posted : Wednesday, May 20, 2020 7:43:33 PM(UTC)
gp47

Rank: Newbie

Groups: Registered
Joined: 5/20/2020(UTC)
Posts: 2
United States

Was thanked: 2 time(s) in 1 post(s)
I did a bit of poking around and found that the Mackie faders use PitchBend rather than ControlChange. ControlChange treats the second and third bytes separately as note and velocity, while PitchBend combines the two bytes for its value.

Because it only uses 7 of the 8 bits in the note and velocity bytes, the note field has a maximum value of 127. However, as you probably noticed when you set the Shortcut, vMix reads the note value as 1024. This exceeds the 127 value and it appears the vMix code isn't handling this as we would expect. In fact, there are some erratic MIDI signals being sent, so I'm not sure that the code is handling the overflow properly).

Regardless, the activator is sending a MIDI signal like B0 00 96 and the Mackie is expecting a signal of E0 7F 96, leading the Mackie motorized fader to reset.

I was able to get around this using Bome to translate the MIDI signal. The motorized faders now respond as expected when the digital interface is modified and retain their position. I haven't tried to program the Mackie further yet, so I'm not sure what other issues exist.

The Mackie is a great control board and it would be wonderful if vMix would provide better support for it.
thanks 2 users thanked gp47 for this useful post.
lem120 on 6/16/2020(UTC), eduardocfs on 6/16/2020(UTC)
lem120  
#5 Posted : Tuesday, June 16, 2020 2:49:53 AM(UTC)
lem120

Rank: Newbie

Groups: Registered
Joined: 5/27/2020(UTC)
Posts: 6
Italy

Thanks: 2 times
Originally Posted by: gp47 Go to Quoted Post
I was able to get around this using Bome to translate the MIDI signal. The motorized faders now respond as expected when the digital interface is modified and retain their position. I haven't tried to program the Mackie further yet, so I'm not sure what other issues exist.


Hi and thank you for your solution.
I'm very interested in how you did it.
BroadcastTechie  
#6 Posted : Tuesday, August 25, 2020 3:38:52 AM(UTC)
BroadcastTechie

Rank: Newbie

Groups: Registered
Joined: 8/25/2020(UTC)
Posts: 2
United Kingdom

Was thanked: 2 time(s) in 2 post(s)
(I realise that a lot of what I've just written is in fact a repeat of the info above, but I didn't realise this until after I'd posted as I only skim read the thread then went to work it out from scratch - that will teach me to not skim read!)
---

I've just been experimenting with an icon Platform M+ (using the Mackie profile) and Bome translator (classic) - might be missing something, but I'm also using loopMIDI to create a loopback interface between vmix and the M+.
Not got a full setup working and probably won't, but I'll leave this as a hint for anyone else searching for a solution.

Controls from the M+ into vMix shortcuts so far just works - although I can't work what do with the pots at the top of the faders, CW they send note velocities of 1-6? depending on how fast, and CCW 65-70. It would be great to map these to the channel gain control to allow quick boosting of sources.

Sending back...
Create a Loopback interface and enable in vMix. Set the Bome input to the loopback and output to the Mackie panel.
Master volume for example I'm sending out of vMix as a ControlChange (on channel 16 Note 0), event MasterVolume and type Fader.
In Bome the translator Incoming is "BF 00 pp" which translates the controller channel 16, note 0 value (pp is the value) and the Outgoing is "E8 pp pp" which is pitch bender 8 (0 indexed, 0=first fader) and pp pastes the values in. In the full Translator software you can do more maths to properly convert the value, but this method works well.

Similar for the other faders.

To make the "Mute" (this example is for fader / input 2) button work I used Bome to invert the value, so one translator is triggered "90 11 00" (90 = note on, then the note/button number, then the value), and outgoing is "90 11 7F". Repeat but reverse the values to turn the light off again. This way when the channel is active the light is off, and inactive the channel is essentially muted.
In vMix the activator is a Note control, channel 1, note 17 (17 dec = 11 hex) and again type fader - this is important - button doesn't work!

Edit: also I enabled MIDI thru so that simple button commands work as normal.

Hope that makes sense!
thanks 1 user thanked BroadcastTechie for this useful post.
tracecomplete on 11/16/2020(UTC)
christianm  
#7 Posted : Sunday, June 13, 2021 4:13:40 PM(UTC)
christianm

Rank: Member

Groups: Registered
Joined: 9/7/2018(UTC)
Posts: 22
Location: Australia

Thanks: 4 times
Originally Posted by: gp47 Go to Quoted Post
I did a bit of poking around and found that the Mackie faders use PitchBend rather than ControlChange. ControlChange treats the second and third bytes separately as note and velocity, while PitchBend combines the two bytes for its value.

Because it only uses 7 of the 8 bits in the note and velocity bytes, the note field has a maximum value of 127. However, as you probably noticed when you set the Shortcut, vMix reads the note value as 1024. This exceeds the 127 value and it appears the vMix code isn't handling this as we would expect. In fact, there are some erratic MIDI signals being sent, so I'm not sure that the code is handling the overflow properly).

Regardless, the activator is sending a MIDI signal like B0 00 96 and the Mackie is expecting a signal of E0 7F 96, leading the Mackie motorized fader to reset.

I was able to get around this using Bome to translate the MIDI signal. The motorized faders now respond as expected when the digital interface is modified and retain their position. I haven't tried to program the Mackie further yet, so I'm not sure what other issues exist.

The Mackie is a great control board and it would be wonderful if vMix would provide better support for it.


Hitting the same issue but instead I'm trying to use my avid S1 within vMix in Mackie mode. Wondering if you would be willing to share your project file from Brome? If so that would be amazing and serve as a good starting point . Thanks.
linzmeister  
#8 Posted : Wednesday, November 15, 2023 1:16:26 PM(UTC)
linzmeister

Rank: Newbie

Groups: Registered
Joined: 6/16/2017(UTC)
Posts: 7
Location: Sydney

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
In Bome MIDI Translator employ the following calculation on Fader message Receive and Transmit:

Because Bome's divide function also truncates the decimal digits it works very nicely. If using this in Excel to prove to yourself that it scales the values correctly, use the INT() function around the entire formula to lose the decimal values.

Idea triggered by: https://stackoverflow.com/questions/929103/convert-a-number-range-to-another-range-maintaining-ratio

Code:
OldRange = (OldMax - OldMin)  
NewRange = (NewMax - NewMin)  
NewValue = (((OldValue - OldMin) * NewRange) / OldRange) + NewMin


Mackie's MIDI Implementation for faders from https://www.jjlee.com/qlab/Mackie%20Control%20MIDI%20Map.pdf
Mackie Midi Map.JPG (79kb) downloaded 0 time(s).

The formulas below were generated in Excel, but the same principle applies in Bome, just assign the formula to a Bome Variable name and replace the Excel cell with another Bome variable

To receive from Mackie:
Code:
OldMax	    8176
OldMin	   -8192
OldRange   16368
NewRange     127
NewMin         0       (can be ignored as it has no impact on the calculation)

D1 is an Excel cell name containing the old Value - replace with Bome variable name of paramater value
=((D1--8192)*127)/16368   (of course the -- can be replaced with a +)
pp


To Transmit to Mackie:
Code:
OldMax	    127
OldMin	      0        (can be ignored as it has no impact on the calculation)
OldRange    127
NewRange  16368
NewMin    -8192

F1 is an Excel cell name containing the old Value - replace with Bome variable name ofparamater value
=((F1*16368)/127)-8192


I am about to try this tonight to prove if it works, and can post BOME specific code soon. Of course the Control # will need to be changed in both directions from Pitch Control to Volume and vice versa.
joedemax  
#9 Posted : Thursday, November 16, 2023 12:58:10 PM(UTC)
joedemax

Rank: Member

Groups: Registered
Joined: 6/23/2017(UTC)
Posts: 28
United Kingdom

Was thanked: 10 time(s) in 6 post(s)
Shameless self promotion, but if you are looking for an easier way to do it, it's possible with Central Control. Myself and a small Pomeranian dog show you how it's done in this video:




There's even a template in the comments to get you started!
linzmeister  
#10 Posted : Tuesday, November 28, 2023 9:50:39 AM(UTC)
linzmeister

Rank: Newbie

Groups: Registered
Joined: 6/16/2017(UTC)
Posts: 7
Location: Sydney

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
I've been working on several other things in my spare time but I sat down and got this working last night.

In Bome MIDI Translator configure as below - changing Hardware midi ports to suit your system, and you can leave the comments out, I left them in here just so that you can undersand what I am doing to the values.

Please note I have updated the CC#7 range from 127 values to 128 to include 0 as a valid value - it doesn't make a huge difference and actually works with 127, but 128 is more accurate.

Code:
Project: MIDITranslator_tmp
 Project MIDI IN ports:   HDSP9652 Midi Port 2, Bome MIDI Translator 1 Virtual In 
 Project MIDI OUT ports:  HDSP9652 Midi Port 2, Bome MIDI Translator 1 Virtual Out
 Route #1: IN 'Bome MIDI Translator 1 Virtual In' -> OUT 'HDSP9652 Midi Port 2'
 Route #2: IN 'HDSP9652 Midi Port 2' -> OUT 'Bome MIDI Translator 1 Virtual Out'
_____________________________________________________________
[x] Preset 0: CC to MCU Fader

[x] Translator 0.0: MCU Fader Pitch Bend to CC#7
Options: swallow
Incoming: Pitch Bend on any channel set 'oo' to ch. with any bend and 'pp' to bend
Rules:
  // Scale 14 bit number to 7 bit number (16368 discrete values to 128 values)
  // Old Minimum om=-8192
  // Old Range   or=16368
  // New Minimum nm=0
  // New Range   nr=128

  // NewValue = (((OldValue - OldMin) * NewRange) / OldRange) + NewMin
  // As OldMin is negative, instead of subracting a negative number simply add the absolute value of OldMin
  // qq=(((pp-om)*nr)/or)+nm   
  qq=pp+8192
  qq=qq*128
  qq=qq/16368
  //qq=qq+0	As NewMin is 0 we can skip this step
Outgoing: Control Change on ch.'oo' with CC#:7 (0x07) and value:qq

[x] Translator 0.1: CC#7 to MCU Fader Pitch Bend
Options: swallow
Incoming: Control Change on any channel set 'oo' to ch. with CC#:7 (0x07) and any value set 'pp' to value
Rules:
  // Scale 7 bit number to 14 bit number (128 discrete values to 16368 values) Shortcut MIDI.JPG (23kb) downloaded 1 time(s). Activator MIDI.JPG (30kb) downloaded 0 time(s).
  // Old Minimum  om=0
  // Old Range    or=128
  // New Minimum  nm=-8192
  // New Range     nr=16368
  // NewValue = (((OldValue - OldMin) * NewRange) / OldRange) + NewMin
  // qq=(((pp-om)*nr)/or)+nm

  // qq=pp-om  As OldMin is 0 we can skip this step
  qq=pp*16368
  qq=qq/128
  qq=qq-8192
Outgoing: Pitch Bend on ch.'oo' with bend:qq


In VMix Settings -->Shortcuts-->MIDI Settings enable BOME Virtual Input you configured in Bome above

Shortcut MIDI.JPG (23kb) downloaded 1 time(s).

In Vmix Settings-->Activators-->Enable Devices enable the BOME Virtual output port you configured in Bome above

Activator MIDI.JPG (30kb) downloaded 0 time(s).

Then add shortcuts and activators as per the VMix documentation and videos and the MCU faders (or Mackie Compatible controller with motorised faders) will respond to the on screen fader position changes correctly instead of jumping to minimum after moving the physical fader.

My next thought is to see if I can use the Bank Left and Bank Right buttons to affect more than 8 VMix inputs and the master.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.