Actinic interfaces with strands of LED lights to control them in various flashy or useful ways according to music, time of day, and multiple types of animations. Currently supports an Arduino-based LED controller firmware, but support can be easily added for other systems.
More details at the nightly.link page, by oprypin
. Or, if you are logged in to GitHub, pick any build from the GitHub Actions tab.
Tools needed:
- MonoDevelop (preferably 4.0 or higher)
- Mono runtime, including System.Drawing and System.Core
- Development headers for FFTW library version 3 and PulseAudio
- Make, a C++ compiler, and friends
For an Ubuntu system, apt-get install the following packages
libmono-system-core4.0-ci # Mono runtime, System.Linq interface
libmono-system-drawing4.0-ci # Bitmap parsing
make libpulse-dev libfftw3-dev # Tools to compile Impulse audio processing library
The project will automatically attempt to build the Impulse library upon compiling the solution in MonoDevelop. Should anything go wrong, a file named README-impulse-failed-to-build
will be put in the bin/Debug
build directory.
To manually compile, run prepare-audio-processing.sh
included in the Actinic/Audio
folder.
If using the Arduino LED controller, don't forget to change permissions on the USB device to allow access without root.
- Connect and power on your lighting controller and lights (for the Arduino LED controller, plug it into power, then into a USB port)
- In the output directory, run
mono Actinic.exe
- To be done - expand this list?
To list commands, type help
. For help on a particular command, type it without providing any parameters, e.g. vu run
.
- Impulse Python module for audio processing; some information on GNOME Look
- LinearColorInterpolator.cs by Mark Byers
- ReflectiveEnumerator.cs by Repo Man
- If you're missing, let me know, and I'll fix it as soon as I can!