Hi all,
I am setting up some lights for my band and thought I would share on this board how I automated lighting changes from Ardour to QLC+ via MIDI. ![]()
Goal
The goal is to trigger light changes right from Ardour via a MIDI track, with QLC+ running on the same computer.
Pipewire/JACK setup
I was using Ardour with the Pipewire / JACK driver on Linux Mint 22.1 and Ardour 8.12.
The issue I was having was that QLC+ would not show up in any “External” tab in the MIDI Connections window.
It turned out I needed to start Ardour with pipewire-jack:
sudo apt install pipewire-jack
First start QLC+, then start Ardour like this:
pw-jack -p 512 -s 44100 Ardour8
-s is for the audio sample rate and -p for the latency block size, adjust to your needs.
MIDI track setup
Now there will be a __QLC__ entry under the External outputs tab in the MIDI Connection window (provided QLC+ is running).
We can set up a MIDI track called eg “Lights” in our session and send its output to that QLC external port.
QLC+ I/O setup
In QLC+, under Input/Output, we now add a Universe, name it eg “Ardour MIDI Control”.
Then select MIDI “input” or “input2” as the input port for that Universe (you will need to try both).
Testing
Now in the Virtual Console, we can add a Button and link it to a MIDI input from Ardour to test things out.
For the final setup we should create a profile, but for testing we can enable auto detect and send a note from Ardour (eg add a note to a region in the Lights MIDI track then start the transport to play it).
If all is well the note should be detected and attached to the Button.
Now if we start the QLC+ session and send notes from Ardour, we should see the function toggle on and off!
Building from there
For my workflow I then went on to create a profile defining what notes or other MIDI messages will be used to communicate between Ardour and QLC+. https://youtube.com/watch?v=DDKXLsjCYEI
I reflected this in a patchfile (MIDNAM file) so that the corresponding QLC+ functions show up in the piano roll when I edit my lighting changes in Ardour. The Ardour Manual - MIDNAM Reference
Then for maintainability, everything that should be doable from Ardour is to be defined in the Virtual Console and mapped to an input defined in the profile.
VoilĂ ! Hope this helps some folks with gluing things together.
What’s great is you can still have a regular DMX console or MIDI controller for manual light operations (I set up an Arturia Minilab3 MIDI controller for my drummer), but have Ardour trigger automatic light changes during songs that are in the session.
Cheers