/LXStudio-IDE

The LXStudio lighting application framework, for use in a Java IDE

Primary LanguageJavaOtherNOASSERTION

LX Studio

BY DOWNLOADING OR USING THE LX STUDIO SOFTWARE OR ANY PART THEREOF, YOU AGREE TO THE TERMS AND CONDITIONS OF THE LX STUDIO SOFTWARE LICENSE AND DISTRIBUTION AGREEMENT.

Please note that LX Studio is not open-source software. The license grants permission to use this software freely in non-commercial applications. Commercial use is subject to a total annual revenue limit of $25K on any and all projects associated with the software. If this licensing is obstructive to your needs or you are unclear as to whether your desired use case is compliant, contact me to discuss proprietary licensing: mark@heronarts.com


LX Studio

LX Studio is a digital lighting workstation, bringing concepts from digital audio workstations and modular synthesis into the realm of LED lighting control. Generative patterns, interactive inputs, and flexible parameter-driven modulation — a rich environment for lighting composition and performance.

Fork Info

This fork of LX Studio is designed to run the LEDs for Glorb, a Burning Man Art Car. Some patterns were borrowed or modified from https://github.com/titanicsend/LXStudio-TE.

Getting Started

LX Studio runs using the Processing 4 framework. This version of the project directly embeds those dependencies and may be run from within a Java IDE, for larger projects in which the Processing IDE is insufficient. The example project here can be run either using the full Processing-based UI, or alternatively in a headless CLI-only mode.

To get started, clone this repository and import the project into an IDE like Eclipse or IntelliJ. Configuration files for both are readily available in the repository.

Documentation is available on the LX Studio Wiki →

Consult the LX Studio API reference →

Configure Your Runtime

Processing 4.0 beta 8 runs on Eclipse Temurin 17 (17.0.2+8). It is highly recommend to use this JDK for consistency.

The core Processing libraries are not available in Maven central. The first time you setup your project, you must manually run mvn validate a single time to install the Processing runtime libraries into your local Maven repository. This is a one-time only step.

Running the project requires passing -Djava.library.path=lib/processing-4.0b8/native explicitly to the java command. Note that native is a symlink within the processing-4.0b8 folder which should be pointed at the appropriate target platform folder.

This is pre-configured in the Eclipse launch configuration LXStudioApp.launch

If you change platforms, update the symlink using one of the following:

$ cd lib/processing-4.0b8
$ ln -hsf linux-aarch64 native
$ ln -hsf linux-amd64 native
$ ln -hsf linux-arm native
$ ln -hsf macos-aarch64 native
$ ln -hsf macos-x86_64 native
$ ln -hsf windows-amd64 native

Contact and Collaboration

Building a big cool project? I'm probably interested in hearing about it! Want to solicit some help, request new framework features, or just ask a random question? Open an issue on the project or drop me a line: mark@heronarts.com


HERON ARTS MAKES NO WARRANTY, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE.