In 1999 Harry Joseph thought I would make a good programmer and sent me to AMX training. I had no idea that was the beginning of my career as an #AVProgrammer.
A few years ago I wrote AMX and Crestron modules for Harry’s very slick Hushbutton mic rings. And a few weeks ago, he asked for a QSC driver. (I soon learned QSC calls them Plugins.) I’ve heard a lot about QSC’s software-defined approach and was excited to experience it for myself.
It started out great. I was able to download the software without even logging in. No training or minimum sales requirements - just download and start testing. There is even an emulate mode so you can test right on your laptop. Quite a refreshing change from the traditional AV control workflow of setting up a black box and compile/upload/reboot/get coffee to test every little change. Just click save and your code runs…
Looking for a shortcut to get started I called QSC support. Aurelian Vilceanu was kind enough to give me a quick overview in a TeamViewer session. That was overkill because everything is covered in their training videos online at https://training.qsc.com. The gatekeeper-free approach is found here as well - you don’t even have to log in to watch the videos.
After a bit of googling with http://duckduckgo.com and another call or two with Aurelian and his colleague Erçin Ural, I had a TCP connection open with the Hushbutton device and was able to trigger and parse commands in the QSC software.
Then it was just a matter of getting comfortable with Lua - the scripting language used in Q-SYS Designer. No problem there because Lua is free and open source with plenty of online resources. The biggest hassle was remembering not to add a semicolon!
Developing a control driver right on my laptop without any special hardware saved a lot of time. And being able to access all the documentation and use a freely available programming language like Lua saved all sorts of certification, training and travel costs. Well done, QSC. ?
You can find the source code for the Hushbutton PCI modules here: https://github.com/Controlhaus/hushbutton-pci-qsys-example