Kistan 2.0 Doc
  • Furniture
  • Sound cables
  • DMX network
  • Roof LED
  • Pipes
  • Inputs/Outputs
  • Mixer
  • Amplifiers
  • DALI
  • DMX
  • Roof LED
  • LMixer
  • Sound mixer defaults
  • Bar computer to Kitchen speakers
IN-Sektionen
  • Furniture
  • Sound cables
  • DMX network
  • Roof LED
  • Pipes
  • Inputs/Outputs
  • Mixer
  • Amplifiers
  • DALI
  • DMX
  • Roof LED
  • LMixer
  • Sound mixer defaults
  • Bar computer to Kitchen speakers
IN-Sektionen
  • LMixer

    • LMixer
    • LMixer scripting
    • Mixing technique
    • LMixer examples

LMixer

GitHub: https://github.com/Daedaluz/lmixer

LMixer is a mixing engine for lights built using small lua-scripts. The current version is built with lua 5.4 and some extensions. It renders a new frame at 30 FPS, which is once every 32ms. A shorter time between two effects will not be visible.

Components

The LMixer software is made up of a couple of different components.

Output

An output is used to send layer data using raw UDP socket to other programs.

Input

An input can be created to bind an incoming UDP stream to layer data.

Layers

A layer is the base for data storage and manipulation. A layer can be combined with another layer using mathematical operations. An output can be bound to a layer so that every render of the layer is sent to that output.

It is also possible to create layers from inputs. This can be used to add remote sources of color information from other programs.

Fixtures

A fixture represent a single light or RGB-list. They can also be organized into groups. This part of the LMixer defines the names for each fixture and where in the layer they are located. Fixtures are not bound to a single layer.

Scrips

Each script is a series of instructions that are added to a timeline each time the run command is used. A script may repeat by running itself again. Make sure that the repeat time is longer than the script time to not create overlapping. Scripts are the main part of the LMixer and is where most code is written.

Scripts does not have a "running" state since each script only manipulates the timeline ahead. However, it is possible to "stop" a script. This tells LMixer to not apply any "run" commands to it again.

Any script can be removed by just making it completely empty and pressing run. To rename a script the easiest way is to copy all code to the new one and then deleting the old.

Tips

The editor can save without running a script by pressing CTRL+S. Useful for a looping script that loads the change on the next iteration.

Code

This act like a script but are only run once at startup (or when manually triggered by the run function). Here some extra global code and different utility functions can be placed.

Edit this page
Next
LMixer scripting