OSC support for Behringer X-Air mixers

Ask a generic question about the usage of QLC+, not related to a particular operating system
Phil Smith
Posts: 15
Joined: Wed Nov 04, 2015 10:29 pm
Real Name: Phil Smith

Hi, I posted this earlier and it threw my post and the thread back in time to Oct 3rd! Weird...

Just had a read through again, Im not sure how you derived these particular commands. /ch/01/mix/06 wont do anything as its not the full command. The Xair has 10 mix busses available, 1-6 are busses that are normally assigned to the 6 XLR aux outs on the front (monitors), mix 7-10 are the mono sends for the fx buses.
The command /ch/01/mix/06/level would let you adjust the amount of channel 1 going to mix (monitor) 6.
/rtn/aux/mix/fader is used for the stereo channels 17-18, its not a mix bus. (Imagine it being called /ch/17/mix/fader)
Hope this helps.
chrissi
Posts: 14
Joined: Fri Jan 27, 2017 7:57 am
Real Name: Christoph

hi there,

ist there also a profile for the xr12 anywhere? i´m new to this forum and did the search with no results...
In Phil´s XR18 profile it´s written:
<Channel Number="28208">
<Name>/ch/01/mix/06</Name>
<Type>Slider</Type>
</Channel>

how can you find out the channel numbers?
thanks a lot
janosvitok
Posts: 1274
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

this viewtopic.php?f=5&t=8983#p39385 is the process how to create new profile.
chrissi
Posts: 14
Joined: Fri Jan 27, 2017 7:57 am
Real Name: Christoph

janosvitok wrote:this viewtopic.php?f=5&t=8983#p39385 is the process how to create new profile.
yes, i read it...but this is not the answer to my question.

is there a way to MUTE channels? I can do it, but the only way is a "BLACKOUT" button which also blacks out all lights?

<Channel Number="28208">
<Name>/ch/01/mix/on</Name>
<Type>Button</Type>
</Channel>

the osc code is: /ch/01/mix/on ON or OFF
if i switch the button to flash/scene it does not work. any solution? or is there a solution to write a custom script for the MUTE-functions? no idea how to do this...
janosvitok
Posts: 1274
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

You've asked wrong question, the answer is correct. :-P

Muting a channel:

If you want to mute/park/set to zero a channel, you need to be able to do it directly in virtual console, without OSC.
If you can't do it directly, OSC will not help.

Currently it is not possible* to override a channel except by using Simple Desk, that overrides everything.
You can go to SimpleDesk tab, and if you move fader, the value is forced until you click the X button over the fader.
* See this thread: viewtopic.php?f=18&t=10004 - possibility to override channel using a fader will be added to the next version.

OSC channels:

The channel number is a number (unless you want to know specifics, let's say arbitrary) assigned to the OSC path. Since QLC+ internally doesn't distinguish
where does the input signal come from, and works with DMX channels and values, we need to have a way to map OSC paths to DMX channels (though as you see,
it's been a bit extended, the number may be larger than 512).

You don't want and don't need to know how is it computed (if you are curious, the code is here: https://github.com/mcallegari/qlcplus/b ... r.cpp#L225).
You just enable the learn function and let QLC+ compute it as the linked post says.
chrissi
Posts: 14
Joined: Fri Jan 27, 2017 7:57 am
Real Name: Christoph

ok thank you for the information.

i found a much more easy and better way to control the behringer xr12 (or xr16 / xr18 / x-air).
i make a custom script which loads DHSendMidi https://github.com/DouglasHeriot/DHSendMIDI and this sends a CC command to mute the channel or do anything i want. (Midi-Commands see here: http://downloads.cdn.re-in.de/1300000-1 ... GITAL_.pdf
Midi Commands for Behringer XR12 XR16 XR18 XAir
Midi Commands for Behringer XR12 XR16 XR18 XAir
Because QLC does not seem to like argumtents with blanks and to make it more easy i wrote some little AppleScripts:

Code: Select all

do shell script "/Applications/DMX/DHSendMIDI.command --channel 2 --cc 0 127"
do shell script "/Applications/DMX/DHSendMIDI.command --channel 2 --cc 1 0"
(Explanation: first line mutes mixer-channel 1, second line unmutes channel 2.
If you use other midi devices you should make shure they start in channel 4 not 1-3 (behringer!) or use a different midi-output and assign a special midi-out for the script (see GitHub readme)


I saved it as an app which i can start from my QLC-Script directly:

Code: Select all

systemcommand:/Applications/DMX/SCRIPTS/packed/XR12-mute-master.app
I assigned a button and keyboard shortcut to it and now i´m very happy.
In my opinion its even better than OSC because the OSC connection is not very stable and midi works even when the osc interface crashes....
bix
Posts: 10
Joined: Tue Jan 03, 2017 5:45 pm
Real Name: Enrico

@chrissi
Thank you very much for your work you kindly share and, in advance, for the help you maybe can give me.
I totally agree about simplicity and reliability of midi versus osc but unfortunately I'm not so skilled to understand your tricks..
My purpose is to get control of volume virtual faders of my X18 ( and mutes too if more than one channel is allowed ) using faders inside the Virtual Console.
Could you please guide me step by step in how to achieve my goal?
It would be great for me, when and if you'll find te for me.

Currently I'm using vers 4.10.5b on windows xp and an enttec usb pro mk2 with midi capabilities, but I own a Roland um simple usb to midi interface and I plan to switch to mac soon.
chrissi
Posts: 14
Joined: Fri Jan 27, 2017 7:57 am
Real Name: Christoph

Hi Bix,

yes there is a midi-solution (you have to adjust channel count for the xr18 because i only have the xr12 but this should be easy)
For your request see my next post with Solution B viewtopic.php?f=5&t=8983&p=46513#p46514

Solution A: Automation / Simple Desk View MIDI-Control of the Behringer X-Airs for QLC+
Note: with this settings you can use the Behringer just like a fixture and programm volume fades into the scenes!
But: You can either control the volume OR mutes OR Panorama with one midi-device. If you want to control more, you need extra midi-devices or maybe configure all in the same universe with following adresses (1-31, 32-62...) and if possible route 1-31 to midi channel one, 32-62 to midi channel 2, and the rest to channel 3.

1: Create a new fixture(s). Use "generic" -> "generic"
fixture.png
i named it XR12 VOLUME, Adress 1, Channels 31 (more for the XR18...)

2: Create channel group(s)
channelgroups.png
3: Select your midi-output device for the universe you created the fixture in. Double click on the midi-device and select channel 1 for Volume-Control, Channel 2 for Mutes, Channel 3 for Panorama Control. Set mode to Control Change
midi-output.png
Last edited by chrissi on Thu Feb 02, 2017 12:18 am, edited 2 times in total.
chrissi
Posts: 14
Joined: Fri Jan 27, 2017 7:57 am
Real Name: Christoph

SOLUTION B: Virtual Console View MIDI-Control of the Behringer X-Airs for QLC+
Note: You can easily use faders / knobs to change volume / mute / panorama.
But: You can not use (or i don´t know how!?) a button to mute channels. you can use a knob or fader instead, low values = unmuted, higher values = muted, exact value doesn´t matter.
And you can only control one thing, volume OR mutes OR panorama! or use multiple midi-devices see my post above. Anyone has a better idea how to ouput different midi-channels in QLC on the same midi-output device? You have to decide one channel, right? or use midipipe, but how? or virtual cable? but how?

See also this post: viewtopic.php?f=5&t=8983&start=20#p46460

1: Go to your Input/Output tab and select your midi-device. Select INPUT (!important. midi connection cable not required) and FEEDBACK (not Output!).
midi-setting.png
2: Go to profil tab and create new. I named it Behringer XR12, select type: MIDI
Create the channels, see screenshot.
midi-channels.png
3: Go to virtual console and create faders. Select external input the created behringer profile
fader.png
have fun :-)
bix
Posts: 10
Joined: Tue Jan 03, 2017 5:45 pm
Real Name: Enrico

Thank you very much!
As soon as possible I will try and give you a feedback if you want.
( And maybe I will try even to understand the way you launch the commands to change the scenes inside X mixer).
Very happy . Very kind from you. Thanks
kenm
Posts: 10
Joined: Thu Jan 26, 2017 11:47 pm
Location: San Jose, CA, USA
Real Name: Ken Mitchell

Hi All,

I just recently discovered QLC+ while researching the integration of an XR18 with lighting control as well as a DAW (Reaper). My research is for a theater renovation project I'll be working on over the summer. While I'm new to QLC+ I'm very familiar with the OSC protocol used by the X-Air mixers. I've ported several utilities from the X32 series as well as developed a few of my own utilities. Two-way OSC communication with an X-Air mixer is not as straight forward as it is for other OSC devices. The X-Air uses a unique method of responding to OSC messages in that it always responds to the IP address and 'source' port of the sender. What this means is that QLC+ (and TouchOSC and Lemur) cannot carry on a two-way conversation with an X-Air mixer because they listen on a pre-defined Input port not the port they used to send the OSC message. In addition, the only way to get async parameter updates from an X-Air mixer (i.e. parameters changed via X-Air-Edit or another client) is to periodically send an "/xremote" OSC message to the X-Air once every 10 seconds.

To facilitate the two-way communication between an OSC controller (such as TouchOSC and Lemur) and an X-Air mixer I developed a utility called XAirRemote. What XAirRemote does is listens for OSC messages coming from an OSC controller such as TouchOSC, translates the messages into a format that the X-Air can understand, and then sends the messages off to the X-Air. Conversely it listens for OSC messages coming from the X-Air mixer, translates then into a format an OSC controller can understand, and then sends those messages back to the OSC controller.

I'm investigating adding support for QLC+ in XAirRemote but first I need to learn how QLC+ plugins and input profiles work.

Stay tuned,
Ken
kenm
Posts: 10
Joined: Thu Jan 26, 2017 11:47 pm
Location: San Jose, CA, USA
Real Name: Ken Mitchell

Made some progress.

Here's the log of a button press to Mute Channel 01.

R->, 24 B: /track/1/mute~~~,f~~[1.0000]
->X, 24 B: /ch/01/mix/on~~~,i~~[ 0]
X->, 24 B: /ch/01/mix/on~~~,i~~[ 0]
->R, 24 B: /track/1/mute~~~,f~~[1.0000]
R->, 24 B: /track/1/mute~~~,f~~[0.0000]
->X, 24 B: /ch/01/mix/on~~~,i~~[ 1]
X->, 24 B: /ch/01/mix/on~~~,i~~[ 1]
->R, 24 B: /track/1/mute~~~,f~~[0.0000]

If I knew what I was doing with QLC+ I could probably figure out why a toggle is acting like a press and release pushbutton.

BTW, "/track/1/mute" is the message I'm sending from QLC+ to XAirRemote. As you can see Mute On translates to /ch/01/mix/on ,i 0 and vice versa.

I also need to figure out how to get QLC+ to send integers instead of floats but for now I modified the XAirRemote code to handle it.

--Ken
kenm
Posts: 10
Joined: Thu Jan 26, 2017 11:47 pm
Location: San Jose, CA, USA
Real Name: Ken Mitchell

To Moderators:

Can we either move this thread back to General->Community since it's active again or should I start a new thread?

Thanks,
Ken
kenm
Posts: 10
Joined: Thu Jan 26, 2017 11:47 pm
Location: San Jose, CA, USA
Real Name: Ken Mitchell

To Mods: Thanks for the move (although it took me a minute to find the thread again :) )

I have a basic working channel strip that controls mute, level, solo, and pan. (See attached)

I still don't know what I'm doing when it comes to QLC+ but I've followed some old instructions from @gmint that told me to create a dummy fixture and dummy scene for each widget.

I've also attached the input profile for the X-Air channel strip so you can see the OSC messages. Remember I'm not talking directly to the X-Air mixer but to a program called XAirRemote which does the to/from translation.

Also, I think i found a bug in the OSC input handling for buttons but I need to do some more testing before I know for sure.

Finally, I can't seem to figure out how to get the pan knob any bigger. I have to make the widget huge just to get a usable size knob.

--Ken
Attachments
snap.jpg
snap1.jpg
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

kenm wrote:I still don't know what I'm doing when it comes to QLC+ but I've followed some old instructions from @gmint that told me to create a dummy fixture and dummy scene for each widget.
That is absolutely right.
kenm wrote:Finally, I can't seem to figure out how to get the pan knob any bigger. I have to make the widget huge just to get a usable size knob.
This is normal. You cannot size the encoder itself, you have to enlarge the whole knob widget.
chrissi
Posts: 14
Joined: Fri Jan 27, 2017 7:57 am
Real Name: Christoph

kenm wrote:I've also attached the input profile for the X-Air channel strip so you can see the OSC messages. Remember I'm not talking directly to the X-Air mixer but to a program called XAirRemote which does the to/from translation.
Hi ken, looks great - where to find this programm XAirRemote? No google results...
Anything special to set up? Qlc Input/output channels?

Also can you make a Screenshot of the fixture / scene /any settings ?

Since it is a fixture, can you also use it outside the virtual console? Programm solo/mute/volume into scenes/shows?

How reliable is the Osc connection with your setup?

Many questions, really interested in this thing :-)
Thanks a lot
kenm
Posts: 10
Joined: Thu Jan 26, 2017 11:47 pm
Location: San Jose, CA, USA
Real Name: Ken Mitchell

Hi Christoph,

XAirRemote is still very new so it probably isn't in any search results. I had to make a change to the program to support the way QLC+ handles OSC inputs so as soon as I get that change tested I'll build some binary packages and post the links. The program will also be open-sourced so you can view the code to see how it functions. It takes less than 5 minutes to create a configuration file and get the program up and running.

Also, since I'm very new to QLC+ I can only provide a simple explanation of what I have working. Right now I'm using a dummy fixture (generic dimmer) controlled by one dummy scene per widget. I've created an Input Profile that defines all of the possible OSC messages for XAirRemote. The OSC plugin is set to Input + Feedback with its settings matching the configuration settings of XAirRemote and the Input Profile selected. What I need to do now is go read about the Fixture Definition Editor to see if I can create a fixture to define an XAir channel strip. Please allow me a few days to figure this part out and build a well-documented sample setup.

As far as reliability goes I ran 17 theater performances in December with TouchOSC and Lemur controlling an XAir XR18 using XAirRemote. I know of a 5 member band who's using XAirRemote with an XR18 to control individual monitor mixes + FOH Mains and they haven't had any problems.

What operating system are you running? PM me and I'll send you a binary and some instructions to get it setup.

--Ken
bix
Posts: 10
Joined: Tue Jan 03, 2017 5:45 pm
Real Name: Enrico

Hi Ken,
Thank you for sharing your experience.
I'm interested in XAR too..please keep us updated.
kenm
Posts: 10
Joined: Thu Jan 26, 2017 11:47 pm
Location: San Jose, CA, USA
Real Name: Ken Mitchell

Hi Bix,

I'll certainly keep everyone posted as I progress. I had to make a change to XAirRemote in the way it requested updates from the X-Air mixer. I was originally using "/xremote" to request updates but needed to change it to "/xremotenfb" to avoid a software feedback loop. the "nfb" stands for "no feedback" so the X-Air mixer doesn't acknowledge messages sent to it. Those acknowledgements were causing QLC+ problems in an OSC Input+Feedback setup.

I've sent Christoph a binary of XAirRemote along with an Input Profile, Fixture Definition, and sample workspace to try out.

Send me a PM telling me what OS you are running along with how I can send you some files and you can join in the fun.

--Ken
janosvitok
Posts: 1274
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

Chrissi,
janosvitok wrote:You've asked wrong question, the answer is correct. :-P
I have to admit that I indeed understood your question wrong way. I am sorry. I didn't imagine that you want to control XAir from QLC+. I thought you want the other direction.
I hope you have sorted it in the mean time.

Jano
Post Reply