QLC+ The best Open Source light and sound control
I have tried a bunch of computer software for controlling light and sound. There is nothing even close to the usability and simplicity of QLC+.
The QLC+ is completely free software http://www.qlcplus.org that runs on a Raspberry Pi. Massimo Callegari has also created an highly optimized image that automatically boots right into QLC+. This optimized image can be downloaded after a small donation (suggested 15€) to the maintainer.
You can also just compile the sources on a Raspberry Pi and run it on Raspbian.
The latest version of QLC+ has a lot of interesting things like direct support for GPIO pins, Raspberry Pi UART for DMX output and SPI support for LED strips and RGB LED arrays.
I have also contributed to the QLC+ as a hobby developer.
The first thing we need to set up is the inputs and outputs. In QLC+ you may assign one input to an Universe and one output. Here I decide to set the GPIO pins as an input to Universe1 and the UART DMX output as the output. I do not need SPI for my show. But in case you need it you could assign SPI as an output to Universe2. It could also be cool to assign OSC as an input to Universe2 if you want to control light from crontab or your own scripts.
You need to define what kind of lights you have. The QLC+ knows about tons of commercially available lights and LED’s.
Once you have some fixtures you can create scenes (some colour and intensity), chases (changing colours and intensities) and sound clips to be used in your show.
In the QLC+ vocabulary a show is a combinations of sounds and lights. There is a special panel for timing the light effects with the music.
All these tools need to be controlled somehow. For Discohat I want to create my own controls and tie them to switches hidden on the set. You can tie a button to toggle things on/off. Or you can set the button to do something when it is pressed.
The Virtual console is also exported as a web page by QLC+. So you can navigate to the web page by a tablet or a phone and click the buttons and sliders manually if you want.