RGB control via a Lighting console

Hey Seb

Thanks for the Midi info. I am looking to be able to set the RGB color of the laser based on midi values from 3 notes. I want to be able to route the color information from my lighting software and pass it into Liberation so the color profile for the lasers match the general lighting color. Is there any way to do this?

Thanks

Hey @deepplayanyc welcome back!

You can’t do RGB as Liberation’s colour space is built on HSB (or Hue, Saturation and Brightness). There are good reasons for this (which I won’t go into right now), but it will be possible to add RGB controls in future.

In the meantime, it is possible to control colour via MIDI with HSB values, it’s a bit fiddly though!

Create 3 separate effects, each with a single Colour Change node, and a Parameter oscillator.

The first effect’s Colour Change should be set to Fix Hue, the second effect FIx Saturation, the third Fix Brightness. The Parameter node should be connected to the relevant control for that effect.


This is what the effect to change the hue looks like.

Make sure that each effect’s MX group is set to 0 to make sure it’s not part of a mutually exclusive group (right click the effect button to see the settings)

Turn on all 3 effects, then you can adjust each value using its Parameter 1 setting, which is editable via MIDI (see the top message in this Topic)

Hopefully this helps, if you want to go down this route but have trouble, let me know and I’ll send you some files.

cheers!

Seb

1 Like

Hey Oli, what lighting software do you use?

Additional : You may want to change the brightness adjustment from “fix brightness” to “multiply brightness” - that way any original flashing or fading in the clip will be retained.

Awesome thanks Seb I’ll have a play with this and report back. As a future feature enhancement for Liberation, global color controls that are Midi mappable would be a great feature, it’s something that I use in my LED control software and is quite useful for when you want to sync colour information across different software.

@Funktioncreep I am using SoundSwitch for my general lighting control. I have written a custom nodejs Artnet receiver for SoundSwitch to pass the DMX information to. I am using a DMX fixture that sends intensity, r, g, b across 4 channels. I am then taking those DMX values and dividing it by two to convert it to the midi range (0-127), then emitting it to a virtual Midi interface I have setup (could also be the IAC bus).

Then my intention is to map those values in Liberation.
As Seb says it doesn’t support RGB yet, so I will need to transform the RGB to HSB, I’m sure I can find a library to do this.

I’ll report back how I get on, and if it’s something that seems like others might be interested I can look into sharing the code. Should be simple enough to make it easily configurable for DMX → Liberation midi.

1 Like

Quick update, got this configured nicely and I’m able to route the colour information into Liberation, lasers now follow my main lighting color :partying_face:

Thanks for the amazing software Seb, I’m sure I’ll have more feedback but for now this is working nicely.

2 Likes

Actually something I’ve just noticed is that you can’t both send AND receive midi information, it appears to be mutually exclusive.

I’d really like to be able to do both, so I can get Midi information out of Liberation to be used for other purposes.

Ugh and we were doing so well!

(This system was designed as a way to record and playback shows so I’m kind of amazed that we’ve managed to hack our way around to a solution to your requirement! But I’m sorry that you’ve found a limitation. It was designed this way to avoid a feedback loop while recording)

Now I know that some of you are interested in this I’ll think about better ways for integration in the future, but honestly I think I need to focus on some of the core Liberation functions first (like timeline and MIDI controller customisation).

cheers!

Seb

No problem, right now it works great. I wrote a custom Nodejs application to do the remapping and it’s working nicely. Thanks for the support.

2 Likes

Hey Seb.

Is there a midi mapping for the “Stop” button? I don’t see it above.

Thanks

Also, I noticed that the effects don’t have an enable/disable midi control message, only level and parameter. I don’t seem to be able to switch them on/off via midi, only change the level and parameter values. Wondering if that is possible.

Blockquote Is there a midi mapping for the “Stop” button? I don’t see it above.

You mean to stop the synchroniser? No there isn’t.

effects don’t have an enable/disable midi control message

Turning the level of an effect to 0 should have the same effect as turning it off.

FYI a good test is to see if a particular action sends a MIDI message, if it does then it’s mapped, if not then it isn’t.

Hope this helps!

Seb

Thanks. Yeah the stop button in the UI to stop the current clip, doesn’t appear that there’s a midi map for this.

Yeah I figured out the midi notes by turning on sending and monitoring the midi bus.

Thanks Seb.

1 Like

Ah right the “stop all clips” button. Yeah clips are stopped via midi only by their midi notes stopping.

Just to update this, in the latest builds you can both send AND receive MIDI at the same time. But use with caution as you can cause a MIDI feedback loop if you’re not careful!

Seb

We’re really excited to use color control via a 3rd party app in Liberation. As a result, I’m working to get Chataigne to make the translation between OSC and Midi so we can change colors programmatically.

Here are our Chataigne Module Router settings:

image

As you can see, we have actual values, we’re getting from OSC (which change dynamically whenever we change colors in the 3rd party app) and mapping into channel 15:1-3. (What do we do with the level, if anything?) I think we’re doing all the right things in Chataigne, but if anyone else has used this program and has a working module router, please share a screencap of what you did..

We then created the following clip:

Here are the details for the P1 settings:

We’re still not able to make the colors change.. Any ideas what we need to be doing to get remote colors working? (Learning Chataigne to get this far has been fun!)

Hey Eric!

So the MIDI control change message for effect one is channel 15 :

0 : effect level - needs to be on maximum 127
1 : effect param 1 - Hue
2 : effect param 2 - Saturation
3 : effect param 3 - Brightness

Double check that your system is zero indexed! Otherwise you might have to offset these values by 1.

Make sure that your colour change node is set to :
FIX HUE
FIX SATURATION
MULTIPLY BRIGHTNESS

Make sure the effect MX (mutually exclusive) group is 0 so that it doesn’t affect any other effects.

Good luck and let me know how you get along!

Seb

1 Like

I did make sure the colour change node is set as you specified:

Also, I checked to make sure the system is zero indexed and set level to 127 and that all are on channel 15 as specified:

When I change colors in the control app, I can see the values in the above columns change, indicating that the OSC portion of this is working, but I never see the values in the Colour Change dialog box move any.

Also, the midi Send dialog box is showing green:

This is leading me to think I’m getting valid data from Chataigne into Liberation, at least from the device perspective. Not sure what else to check.

You mentioned “Make sure the effect MX (mutually exclusive) group is 0 so that it doesn’t affect any other effects.” How do I go about doing this? The GUI shows the clip is in none of the GRP1-5 groups, is that it?

That sounds super frustrating, I’m sorry you’re having trouble! I think best thing would be to send me your project file and I’ll see if I can get it working this end.

Seb

@EricWatkins FWIW I have DMX > RGB > HSV > Liberation working great using chataigne.

I’m not using module routing, instead I am using a state & filter as I need to convert RGB to HSV within Chataigne first (I wrote a script to do this), and then outputting over IAC midi bus on mac.

I’m also working on a custom Liberation module for Chataigne that makes selecting effects & clips easy and plan to add all the other supported midi commands so Liberation can easily be supported via Chataigne.

I use snoize: MIDI Monitor to view the raw midi values to ensure they’re correct, and have them mapped to 3 separate effects so I can enable disable HSV selectively. So I can confirm this works.

Looks like you might be running on windows maybe checkout MIDIView - Free MIDI Monitor tool for Win & Mac to see the raw values before they make it to Liberation.

4 Likes