This is my “proof-of-concept”, that it’s possible to use an Elgato Stream Deck, together with QLC+, no need for the official Elgato software.
This POC is written in Python, and communicates with QLC+ via a websocket.
If your OS does support Python and LIBUSB HIDAPI, you should be able to use this piece of software.
Currently I tested it on Windows, MacOs and Linux.
You can choose to run this software on the same machine as QLC+, or on another machine. (communication via network)
You need to install several Python modules, before you can use this piece of software. Install the following modules
(by using the “pip install” command, all necesarry depencies will be installed automatically)
– Pillow
– streamdeck
– websocket-client
Currently the software assumes you have an Elgato Stream Deck XL, but by changing the size of arrays and loops,
it’s also possible to use a regular or mini Stream Deck.
main.py show a smiley picture on all 32 buttons, and add a customized tekst to each of those buttons.
When you push a button, the icon will change to another smiley, as long as you hold the button. Also, while pushing a button, the correspoding DMX channel will become value 255 (you can see that in simple desk), when releasing the button, value of the corresponding channel will become 0 again.
Initialization of QLC+ communication is done before the initialization of the Elgato Stream Deck.
main_anim.py loads 32 animated gifs, one on every button. Resolution, aspect-ratio and duration of the animation doesn’t matter,
All is taking care of in software. With the example, I did include even some large animated gifs, for a total of 203 MB ! (so, it takes a few seconds, before the Elgato Stream Deck starts playing these animations …)
When pushing / releasing buttons, the result is the same as in the main.py code. You can even push multiple buttons at the same time !
(also in main.py) No images are changed when pressing / releasing buttons in the animated gif code.
When you look at the code, you will be able to manage to distingish the different parts of code. You can surely combine parts of main.py into main_anim.py and visa versa. (for example, add some text to the animated gifs …) Even a running digital clock, would be a piece of cake to implement !
Keep in mind that QLC+ and Python are both very new to me. I already have a QLC+ account for several years, but do to my illness,
I haven’t been able to do anything (usefull) in the past 3 years !
I’m currently in the process of building my own music studio. All my lighting will be done with DMX fixtures, so this “solution” is ideal for me,
I hope you also find a nice solution with my piece of software 🙂
Because this piece of software relies heavely on other open-source modules, this piece of software is of course also opensource. Enjoy !
Python files to use Elgato Stream Deck with QLC+
In this ZIP-file you will find:
main.py
Contains Python code to put icons/text on Elgato Stream Deck XL.
Whenever you push a button on the Stream Deck, the corresponding DMX channel in QLC+ will go to value 200. Whenever you release this button, the DMX channel drops back to value 0.
This also works fine when pushing multiple buttons at the same time.
main_anim.py
Contains Python code that loads 32 different animated gifs onto the 32 Stream Deck buttons. Resolution or duration of the animated gif does not matter !
Whenever you push a button on the Stream Deck, the corresponding DMX channel in QLC+ will go to value 200. Whenever you release this button, the DMX channel drops back to value 0.
This also works fine when pushing multiple buttons at the same time.
Assets
This is a folder containing all assets (gifs and images) for the 2 projects.
Needed modules (screenshot).png
Is a screeenshot from my used Python modules in PyCharm.
You should install them with the pip-command.
URL for LIBUSB HIDAPI.rtf
Contains the URL with explanation on how to download/install the necessary requisits for the LIBUSB HIDAPI. You will find instructions for Windows, MacOs and Linux.
- Version
- Download 288
- File Size 195.40 MB
- File Count 1
- Create Date August 17, 2020
- Last Updated August 22, 2020