Use Elgato Stream Deck with QLC+

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 !

This entry was posted in Blog, Digital Vision, Electronics, Music, Tutorials. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *