Trigger hotkey with (or after) effect/click/chaser/etc.

Ask a question about the usage of QLC+ with the Windows operating system
Post Reply
eamondaly
Posts: 3
Joined: Tue Aug 20, 2019 6:23 am
Real Name: Eamon Daly

I beat my head against the wall for two days on this very simple task, but since I couldn't find a suitable answer in the archives (because it's probably too simple) I figured I'd just post a long-winded solution for dummies like me. If there's something more elegant or obvious feel free to share.

GOAL: Trigger a hotkey with (or after) an effect is fired so external programs such as OBS can take separate action after buttons are pushed, chasers are complete, et cetera.

First of all, don't try chaining Universes or experimenting with loopbacks, which is where I went completely off the rails. Create a Universe containing a Fixture channel for each hotkey you want to trigger, with the output set to MIDI (I used loopMIDI). Then, include those channels in your scenes. Finally, use MidiKey2Key to monitor those channels and fire hotkeys and run programs whenever they trigger.

Set up loopMidi first. Download it here, and install it like anything else. Run it, then start QLC+. Go to Inputs/Outputs and pick a Universe for your MIDI triggers-- we'll assume your normal fixtures are on Universe 1, so we'll put the MIDI stuff in Universe 2. Select Universe 2 and set your Input to loopMIDI Port (input) and your Output to loopMidi Port (output).

Now go to Fixtures and add a Generic fixture named "Trigger MIDI 1", address 1, channel 1. Go to the scene that should fire it, and add it to your scene just like you would any other fixture, setting the value to 255.

Finally, set up MIDIKey2Key, which you'll find here. Set your input device to loopMIDI, your output device to loopMIDI, then check "Log to Window" and press Start to start listening for MIDI events. Trigger your scene in VC, then switch back to MIDIKey2Key: you should see entries like this:

Code: Select all

B30000|  B3  |  B0 | 04 |  00   |  00   | CNTL BankSelectMsb Val=0
B3007F|  B3  |  B0 | 04 |  00   |  7F   | CNTL BankSelectMsb Val=127
Events are displayed most-recent first, so double-click the event you want to capture (in this example, B3007F was a flash button click and B30000 its release). Check the box next to "React on 1st value", the box next to "React on 2nd value", and then the blue box. Type the hotkey you want to fire and click "Save".

That's it! Start the listener again and now your hotkey should fire every time you trigger the scene in VC. An example workspace is attached.
Attachments
Trigger Hotkey.qxw
(2.59 KiB) Downloaded 54 times
Post Reply