LED Lighting Software
Go to file
Peter Slattery f874ba5289 Began building out the osx platform layer 2020-03-29 16:47:47 -07:00
data Fixed a Function Pointer address problem created by storing a pointer to the address of an animation procedure. When code is reloaded, that pointer becomes invalid, so we just store an index, and switch on the value 2020-02-04 22:50:12 -08:00
docs/images Documentation 2019-12-29 08:40:50 -08:00
gs_libs Refactored rect functionality of gs_vector_matrix to make it not conflict with windows headers (just added gs_ to all functions). refactored Profiler interface code to use the new interface layout system. 2020-03-21 22:44:44 -07:00
meta Metaprocessor now generates an enum of panel types, app now passes a cursor type out to the platform layer, which handles setting the cursor style. 2020-03-12 22:42:59 -07:00
src Began building out the osx platform layer 2020-03-29 16:47:47 -07:00
.gitignore Updated gitignore, removed irrelevant member from panel_result 2020-02-15 15:06:51 -08:00
README.md Readme updated with build instructions 2020-01-20 23:39:32 -08:00
build.bat Started making sure that the DLL is truly platform agnostic. Only thing left seems to be math.h for things like trig functions, and windows.h purely for interlockedincrement and interlockedadd 2020-02-04 23:16:41 -08:00
build_clang.bat Updated gitignore, removed irrelevant member from panel_result 2020-02-15 15:06:51 -08:00
build_meta.bat batch files now base their root path off of their current directory 2020-01-20 23:32:50 -08:00
build_osx.sh Began building out the osx platform layer 2020-03-29 16:47:47 -07:00
clear_build.bat Folder restructure 2019-10-30 07:28:02 -07:00
msdev.bat Working on meta - got nodes fully in place again. Still need to store meta tags on struct members 2020-02-22 18:54:28 -08:00
project.4coder Working on Meta System Attempted to tag all panel related procedures 2020-02-01 19:15:04 -08:00
todo.txt Refactored rect functionality of gs_vector_matrix to make it not conflict with windows headers (just added gs_ to all functions). refactored Profiler interface code to use the new interface layout system. 2020-03-21 22:44:44 -07:00
todo_done.txt Made dragging the time slider an operation mode. 2019-12-28 14:14:00 -08:00
vc140.pdb Folder restructure 2019-10-30 07:28:02 -07:00

README.md

Lumenarium by Foldhaus

Lumenarium Banner

Build Lumenarium

Building Lumenarium requires having MSVC installed (sorry, Windows only for now!). At the moment, there are bunch of errors from the meta program but the program will still compile

  1. Run build_meta.bat
  2. Run build.bat
  3. Launch win32_foldhaus.exe (locaated in the build folder)

What Is Lumenarium?

Lumenarium is our custom build light and motion control software. It allows us to design light and motion patterns for our sculptures, visualize the output long before the sculpture is built, and iterate in real time to achieve the best visual results quickly.

Foldhaus can be found here.

Image of Lumenarium

Features

The following features are under active development for integration in Lumenarium


Sculpture File Format

Sculptures are specified via a structured text file so that it is easy to represent new sculptures, simply as strips of LEDs.

Documentation coming soon.


DMX Output

Lumenarium supports SACN output, and ArtNet is in development, via a DMX system which underlies them both.


Live Visualization

We don't always have access to our physical sculptures while working on the lights and motion for them. Having a visualization of the sculpture lets us see what the patterns we develop will look like when running on the actual sculpture.

The visualization runs in real time, and mirrors the DMX output the sculptures will receive, so any changes made in the software are immediately reflected, both in the visualization and in the data sent over the network.


Animation Timeline

One goal of Lumenarium is to enable fine-grained control over procedural light and motion patterns. Patterns can be arranged on a timeline for manual sequencing.

Coming Soon

  • Pattern Fading/Cross fading
  • Pattern parameter controls

Node Based Pattern Creation

Pattern creation also happens within Lumenarium. Rather than program individual patterns in code, Lumenarium provides a node based interface to combine small units of functionality to create patterns. These patterns are available for sequencing in the animation timeline.

Coming Soon

  • compilation of node based patterns
  • more nodes!

Live Compilation Reload

One of the most fulfilling parts of working on these sculptures is getting to iterate live on the lights and motion in front of the physical sculpture while on active display. While Lumenarium is designed to enable everyone to shape the visual identity of our sculptures, it also allows for low-level, fine grained control over the visual output as well. The software is split into a platform layer (currently Windows only, though there are plans to support Mac, and possibly Raspberry Pi), and an application library. The application library can be recompiled and hot loaded while the software is running to facilitate the fastest possible iteration time.

To see how this works in detail see Handmade Hero