Quick Overview

LJLM is a software for mapping videos, effects, text, and live visual sources onto LED installations and DMX fixtures. It lets you build stages, patch strips and fixtures, play media, layer multiple stages, create sequences, perform live, and control the output through protocols such as Art-Net, sACN, and KiNet.

LED mapping means defining where each LED or fixture element is located in a virtual stage so LJLM knows which part of the media should be sent to it. Instead of treating the installation as a simple list of DMX channels, LJLM treats it as a visual surface. This is what allows you to display images, videos, effects, and layered looks on installations of almost any shape.

LJLM allows dividing your installation into multiple zones and layers called stages. You control the media content independently for each stage. Stages can overlap and they are merged (blended) to generate the result. A common scenario is to create a stage spanning the whole installation to map media across the board. To enable precise control over specific zones, you create smaller stages inside the big stage. Then you activate these zones whenever you want.

To represent your LED strips and DMX fixtures inside a stage, LJLM has a powerful vector-based editor. This way, you can easily draw many types of shapes, including matrices, loops and curves. LJLM computes the position of each LED based on your drawing.

Example of LJLM's vector-based mapping editor with strips arranged into different shapes

Computer Requirements

LJLM is compatible with Windows 7 and up, including Windows 8, 10 and 11. x64 and Arm64 are supported.

Minimum

  • Windows 7+, dual core 2 GHz CPU, 2 GB RAM

  • NVIDIA GeForce 600 series or Intel HD Graphics 5500, released after 2013 with OpenGL 3.3 support

  • Windows 10 or 11, quad core 3.5 GHz CPU, 8 GB RAM

  • NVIDIA GeForce 900 series or NVIDIA 10 series or better

  • SSD hard drive

The computer requirements depend on your media type. For example, playing multiple HD videos requires a good computer. A rule of thumb is you can play one full HD video @ 30fps for each 2 GHz CPU core. So if you have an Intel i7 4 GHz (4 cores), you should be able to play 8 full HD videos. Increasing the playback speed to 2x means the fps also increases two times and the number of videos you can play simultaneously is roughly divided by two.

The next table shows the approximate number of videos you can play simultaneously at 30 fps depending on your CPU.

CPU Speed x Cores Full HD Videos HD Videos 640x360 Videos
2 GHz x 2 2 4 10
3 GHz x 2 3 6 15
4 GHz x 2 4 9 20
2 GHz x 4 4 9 20
3 GHz x 4 6 13 30
4 GHz x 4 8 18 > 40
3 GHz x 8 10 22 > 40

For live video performances, when you want to change the playback speed and go up to 10x, the recommended video resolution is 640x360.

To use the built-in effects, particularly the eye candy effects, the video card will be doing the hard work. If you’re using a laptop, make sure it can sustain a continuous use of the effects without overheating. Usually, an integrated video card can render two eye candy effects. For more effects, you need to have a discrete video card.

About the DMX output, a 1 Gigabit network should be able to handle 2048 universes @ 44fps. For more universes, a supplementary network card and a second Ethernet network are recommended.

Licenses

The LJLM’s licensing system has been built with reliability and simplicity in mind. Basically, once a computer has been activated, it will be able to run LJLM until it dies. No internet connection required, so you can be completely off the grid without worrying about the license.

Each license is registered to one individual or company and covers the activation of the software on a certain number of computers, so long as LJLM is running on one computer at a time. For example, you can activate a show and a backup computer but only one computer can run LJLM at a time.

The license is a simple file that you import once. No hardware dongles are needed, eliminating a whole range of tricky problems: broken dongle, lost dongle, dongle suddenly not detected in the middle of the show, etc.

Your license is tied to one computer at a time and each license includes a set of computer transfers so you can move your license whenever you upgrade or replace your machine. If you ever use up your included transfers, you can buy additional transfers at a small fraction of the license price - only when you actually need them. This keeps LJLM flexible and affordable: you always have access to the latest version, and you only pay for computer transfers when your hardware changes.

To get more DMX universes, you can activate multiple licenses on the same computer. The DMX universes of all licenses will be added.

The Portal allows to easily manage your licenses.

Software Updates

You always have access to the latest and greatest version, free of charge.

To get the updates, go in the Settings/About menu and press the check for updates button. Alternatively, you can go on the LJLM’s website and download the latest version.

https://www.lightjams.com/ljlm/

Definitions

Art-Net: Protocol to transmit DMX over a standard Ethernet network. Designed by and Copyright Artistic Licence Holdings Ltd.

CITP/MSEX: Controller Interface Transport Protocol/Media Server Extension.

DMX: The most common protocol to control lighting fixtures. The full name is DMX512, which stands for Digital Multiplex.

DMX universe: Represents 512 DMX channels. Enough for 170 RGB LEDs (1 LED takes 3 channels, one for red, one for green and one for blue).

FPS: Frames per second. It refers to an output rate for video or DMX.

HDR: High Dynamic Range. In LJLM, HDR mainly refers to higher precision 16-bit image processing and test values, which gives smoother gradients, more headroom for color corrections, and less visible stepping in fades or low-light content when the media type or your LEDs support it.

KiNet: Protocol to transmit DMX over a standard Ethernet network. Designed by Color Kinetics.

LED strip/string: Lighting fixture that may contain many LED elements and have a certain physical length. Some LED strips are flexible and can be bent to create curves and all kind of shapes. LJLM handles all lighting fixtures as if they were strips, giving you a lot of positioning flexibility.

Mapping: Mechanism used to associate a pixel from a media source to a specific lighting fixture element.

Media: Any type of visual content, including videos and pictures.

Network Device Interface (NDI): Protocol to stream live videos over the network. Developed by NewTek - http://NDI.NewTek.com.

Open Sound Control (OSC): Network protocol allowing multimedia apps to communicate. LJLM can be remotely controlled via OSC.

RGB, RGBW, RGBA, RGBWA: Various color components: red, green, blue, white and amber.

sACN: Protocol to transmit DMX over a standard Ethernet network - like Art-Net. More specifically, the E1.31 subset is used for DMX control. Developed by ESTA.

Spout: Real-time video sharing framework for Windows. Similar to Syphon on Mac. http://spout.zeal.co/

Stage: A mapping surface defining the position of the media placeholder and the position of lighting fixtures.

LJLM Tour

Let’s go over the main screens and controls of LJLM.

Home Screen­­

Welcome! Start a new project or load an existing one. To see the keyboard shortcut keys, press the alt key.

The screenshots for this manual have been taken from the Milan Cortina 2026 project file made for the two cauldrons. Thanks to LED Creative for this.

LJLM welcome screen showing recent actions and startup choices

New stage (alt-N)

Creates your first stage and start the mapping process.

Load project (ctrl-O)

Loads an existing project.

Recent projects (down arrow)

Loads a recent project. Click on the down arrow in the load project button to show the list.

Import CSV

Imports individual LEDs from a CSV file. See Import CSV LEDs.

Import DXF

Imports strips from a DXF file compatible with AutoCAD 2000 to AutoCAD 2018 formats. See Import DXF.

Import SVG

Imports strips from a Scalable Vector Graphics file. See Import SVG.

Import image

Creates a stage using an image as a guide in the background.

Media (alt-M)

Goes to the Media Library.

Sequences (alt-U)

Goes to the Sequences panel to create sequences and control your show.

Live (alt-L)

Goes to Live Mode.

Settings (alt-I)

Goes to the Settings panel.

New Stage Dialog

A rule of thumb is to create a stage with dimensions respecting the aspect ratio of your media. Then you’ll position your LED strips on it to create the mapping. For example, you can create a full HD stage - which has a rectangular aspect ratio - to fit your media sources, and then map a 20x20 square LED array on it.

You can easily change the dimensions later, so don’t worry. The minimum recommended size is 320x180. Smaller than this size, you’ll need to constantly work at a very high zoom level, which isn’t very convenient. So it’s better to use a higher size and let LJLM scale your media.

New Stage dialog for naming a stage, choosing its size, merge mode, and optional background image

Name

The name of your new stage. Usually refers to its physical location.

Width, Height

The desired size in pixels for the mapping surface used to display media. This can be changed later without affecting the mapping.

Full HD, HD buttons

Presets for common media sizes. Ultra HD is 3840x2160, Full HD is 1920x1080 and HD is 1280x720.

Merge mode

Selects how this stage will be merged when multiple stages target the same LEDs.

Background

Lets you select or clear a background image directly from the dialog to help position the strips right away.

To help you position the strips like they are in the real world, use a picture of your installation as the stage’s background (see Stage Tab). No pictures handy? Use your phone’s camera to get one!

Stages

Shortcut key: alt-S

Home view showing multiple stages of an installation and their visual layout

You can create as many stages as you want. Generally, you’ll want an overall stage corresponding to the whole installation and multiple individual stages to target specific zones. The overall stage allows you to map content across the board. Then the other stages allow you to override specific parts of your installation whenever you want. You can select the current stage by clicking its name at the top.

Different effects may demand different mapping layouts. One goal of the mapping is to ease the content creation. So don’t hesitate creating multiple stages with the same LED strips but positioned in different ways.

Stage Syncing

All stages using the same media slot are considered to be synced. You can still change the individual stage output parameters like the intensity and the color filter, but the media content is the same on all synced stages. When applicable to the media type, the media playback speed is determined by the maximum speed of all stages using this media.

To play the same video file on multiple stages but at different speeds, load the video file in multiple media slots. Then use a different media slot for each stage.

Stage Merging and Layering

When multiple stages contain the same LED strips, a merge occurs following the order shown in the Stages Manager. The stages are merged from left to right in that list. This allows creating complex visuals by layering multiple stages on top of each other. You can target specific zones by creating stages with only a subset of all strips or with parts of the strips outside the stage. A stage must be activated (a media is selected and the stage’s intensity is greater than 0) otherwise it is considered to be transparent and will not be part of the merge.

The merge modes are:

Overwrite

Completely replaces the left stages. The right stage is fully opaque.

Multiply

Multiplies each pixel of the right stage with the corresponding pixel for the left stage. The right stage becomes a video mask.

Screen

The values of the pixels in the two stages are inverted, multiplied, and then inverted again. This yields the opposite effect to Multiply. The result is a brighter picture.

Overlay

Combines Multiply and Screen modes. The parts of the right stage where left stage is light become lighter, the parts where the left stage is dark become darker.

Darken

Takes the smallest color component for each pixel.

Lighten

Takes the largest color component for each pixel.

Difference

Subtracts the left stage from the right stage or the other way round, to always get a positive value.

Add

Adds pixel values of one stage with the other.

Subtract

Subtracts pixel values of the right stage to the left stage.

Black key

Shows the pixels of the left stage only where the pixels of the right stage are black. In other words, black pixels are transparent.

IntensityCrossFade

The stage’s intensity determines its opacity level.

IntensityWhiteFade

The stage’s intensity determines its opacity level in a white fade fashion, meaning that when the intensity is at 50%, both the current stage and the ones under are merged at full opacity.

To easily target specific zones of an installation, first create the overall mapping then select the strips corresponding to the individual zones and right-click in the Strip List to access the new stages from strips menu.

Edit Zone

You can position your strips as they are in the real world or based on the effect you want to create with your media.

A strip has start (green) and end (red) control points indicating the direction of the patch. Multiple intermediate control points can be used to create various shapes. You can bundle multiple strips together to simplify the handling of complex shapes.

You can position parts of your strips outside the stage. In this case, the LEDs outside the stage will not be mapped. This is a common scenario when using the same strips in multiple stages and you want to target specific parts in each stage.

Stage editor Strips Tab showing mapped strips inside the edit zone

Select strips/Deselect all (ctrl-d)

Click a strip to select. Hold the ctrl key to add to the selection. Hold shift to use a selection window and select all strips inside the rectangle. Press ctrl-a to select all strips and ctrl-d to deselect.

Move a control point

Click on a control point and drag it. Hold shift while dragging to align with the previous point.

Move selected strips

Right-click on a strip and drag it or use the move handle at the top-left corner of the selection. You can also use the ctrl-keyboard arrows.

Arrange: Flip X / Flip Y

Flips the selected strips horizontally or vertically. This is useful when the physical orientation is mirrored or when you want to reverse the geometry layout without rebuilding the strips.

Arrange: Square / Circle / Arch

Automatically positions the selected strips along a path. Square distributes them around the perimeter of the stage, Circle places them around a circular path, and Arch places them along a top half arc. This is useful to quickly reorganize a selection into a regular shape.

Arrange: Grid

Distributes the selected strips into a grid covering the stage. LJLM asks for the grid width and height, then places one strip at the center of each cell.

Arrange: Equal horizontal / vertical spacing

Evenly spaces the selected strips across the stage horizontally or vertically. The first and last strips are aligned to the outer edges and the others are distributed between them.

Add a control point

Right-click on the stage (only one strip needs to be selected) or on a control point to use the context menu.

Delete a control point

Right-click on a control point and select the delete option.

Bundle/Unbundle strips (ctrl-b, ctrl-shift-b)

Select multiple strips and right-click on one of them in the Strip List. Then select the bundle menu item to create one element with all selected strips. You can unbundle the strips to edit or see the details.

Move around the stage

Click on the stage background and drag.

Zoom in/out (ctrl-plus, ctrl-minus, ctrl-0, ctrl+mousewheel)

Use the zoom control at the top. Zoom out when you want to offset the selected strips quickly. Ctrl-0 resets the zoom.

Show individual LED positions

When zoomed enough, the LEDs of the selected strips should be visible. They are the blue dots. Put your mouse over to see the LED number and its DMX address.

Copy/paste strips (ctrl-c ,ctrl-v)

Copy and paste the selected strips. You can paste the strips in a different stage.

Delete selected strips (ctrl-delete)

To delete the selected strips, use the ctrl-delete shortcut or right-click in the strip list and select the delete menu item.

Undo (ctrl-z), Redo (ctrl-y)

You can always use Undo and Redo while editing.

As a group

This checkbox under the rotate section determines whether strips are rotated, moved and scaled all together, maintaining the overall shape or if the action is done to each strip individually. This doesn’t apply when using the move, rotate and resize handles. For example, if you uncheck this option and enter 0 in the X position box, all strips will move to the position 0.

Strips Tab

Shortcut key: alt-P

Strip List

Strip List showing strips, groups, and patch information for the current stage

The strips for the current stage are shown in this list. Select one or multiple strips in the list to also select them in the edit zone. You can click the column headers to sort. Type text in the filter box to filter based on the group names. Double-clicking a row focuses the corresponding strip in the editor, and the Go to selection command centers the editor on the current selection.

The strip list context menu includes:

Select all / Deselect / Invert selection

Selection commands for the currently filtered strips in the list.

Select even

Selects every other strip in the currently filtered view, which is especially useful for snake-wired arrays.

Go to selection

Centers the editor on the current strip selection.

Copy / Paste

Copies the selected strips and pastes them back into the stage. Paste is available only for editable non-proxy stages.

Paste strip settings / Paste strip shape

Special paste commands that apply only the strip settings or only the strip geometry to the selected strips.

Delete

Deletes the selected strips.

Bundle / Unbundle

Groups multiple selected strips into one bundle or breaks selected composite bundles back into individual strips.

Split / Join

Splits each selected strip into two parts at a chosen LED position, or joins selected strips together into one strip.

Adjust LED count and length

Changes the number of LEDs and adjusts the strip length accordingly across matching strips.

New stages from strips

Creates one or more new stages from the current strip selection. This is useful to quickly build alternate mapping layouts, isolate zones, make helper stages for content creation, or derive simplified stages from an existing design.

Use the group and sub-group fields wisely in order to use the filter box and quickly select the strips you want.

New stages from strips

This submenu creates new stages from the currently selected strips. LJLM may ask you to confirm the strip order first, because some options depend on the order of the selection.

One stage per strip

Creates one new stage for each selected strip. Each new stage is sized to the bounds of that strip only, and the strip is repositioned so it fits tightly inside the new stage. This is useful when you want independent stages for each physical element.

One stage per strip, keep positions

Creates one new stage for each selected strip, but every new stage keeps the same width, height and strip position as in the current stage. Use this when you want isolated stages without changing the overall spatial layout.

One stage per strip, all lines

Creates one new stage per selected strip and converts each strip into a straight horizontal line. This is useful for building simplified helper stages that make content creation easier.

All strips in a new stage (copy)

Creates a single new stage containing copies of all selected strips, preserving their relative arrangement. The new stage is sized to the bounds of the selection. This is useful to extract a zone from a bigger stage.

All strips on one line (back to back)

Creates one new stage where all selected strips are turned into one continuous line, placed end to end. Use this when you want to map content across the full LED count as a single strip.

Each strip on a new line

Creates one new stage where each selected strip becomes its own horizontal line on a separate row. Each line keeps its native LED spacing. This is useful for matrix-style content preparation.

Each strip on a new stretched line

Similar to the previous option, but each strip is stretched to the full width of the generated stage. This is useful when you want strips of different LED counts to fill a common normalized width.

Each strip collapsed on a new point

Creates one new stage where each selected strip is reduced to a single point on its own position in a row. This is useful for abstract control stages, fixture grouping, or for creating simplified trigger/reference layouts.

Add Strips Dialog (Patching)

Shortcut key: alt-A

Quickly patch your strips and lighting fixtures to create arrays and any shapes you can imagine. Multiple LED types (or color types) are supported, including RGB, RGBW, RGBA, RGBAW/RGBWA and white (dimmers) in multiple configurable color temperatures like WWA. Most color component orders (GRB, BGR, etc.) are supported. For lighting fixtures supporting high precision colors, 16 bit color depth can be used via the RGB16, GRB16, RGBA16, RGBW16 and White16 types. RGBWmax activates all channels (RGB+white) when white is needed for maximum brightness.

Add Strips dialog used to patch strips, choose shapes, and assign DMX settings

Number of strips

The number of LED strips/fixtures you want to patch.

LEDs per strip

The number of LEDs per strip. Enter 1 to create a unique fixture.

Type

Also named pixel type. Corresponds to the color component order (RGB, BGR, GRB, etc.) and the capability (white only, RGBW, etc.). The dialog also lets you switch supported types to 16-bit for high precision colors.

Shapes

Select a predefined shape (lines, arches, circles, triangles, hexagons, etc.) to position your strips on the stage. For arrays, use lines. Depending on the shape, LJLM can also show a patching direction preview and options like inline and stretch.

Patching direction

For LED arrays, specify the way your strips are wired to let LJLM automatically assigns the proper DMX addresses.

Group and sub-group

Use these two groups to tag your strips and quickly find them later. You can search for these keywords in the strip list’s filter box. An optional color tag can also be assigned to the strips.

DMX protocol

Select the output method for DMX: Art-Net, sACN or KiNet. Select none to leave the strips un-patched at the moment and not output any DMX.

Start universe

The universe of the first strip to be patched.

Start address

The DMX address of the first strip to be patched.

LED address offset

ADVANCED The number of DMX channels between the start of two consecutive LEDs. Increase it to leave holes between your LEDs/fixtures, allowing merging LJLM’s output with another console. For example, you can control moving heads by letting LJLM handles the colors and a console handles the movement.

Break universe after

ADVANCED Force a jump to the next universe when a limit is reached. Set to 0 to break only when the universe is full. The mode next to it determines how the limit is interpreted.

You’ve got the patching direction wrong? No problem. You can easily flip your strips horizontally and vertically later. For snake mode, right-click in the strip list and use the select odd/even option.

Want to control more complex DMX fixtures like moving heads? Let say your moving head has 20 channels and the RGB channels start at 3. In LJLM, patch it with a start address of 3 and a LED address offset of 20. LJLM will send 0 for the unused channels, which allows merging the DMX data from LJLM with the DMX data from a console. The console should provide the values for the pan and tilt and the all other channels except the RGB.

Whites! You can get a more accurate preview by using the right type of white LED type. Use the WhiteCool, WhiteNeutral, WhiteWarm and WWA (cool, neutral and warm whites) LED types. Unlike the White LED type which takes the perceived brightness of the media as its value, you get finer control with the other whites.

Pixel Types

LED Type Detail Remark
RGB, RBG, BGR, BRG, GBR, GRB Red, green and blue.
CMY Cyan, magenta and yellow. Use this when your fixture is patched as subtractive CMY color channels instead of RGB.
RGBW and all supported component orders Red, green, blue and white. The white is automatically activated based on the saturation of the media color. The less saturated the color is, the more the white LED is activated. As the white is activated, the RGB LED levels are reduced proportionally until only the white LED is active for a pure white color.
RGBWmax Red, green, blue and white. The white activation is calculated like for RGBW but the RGB LEDs aren’t reduced proportionally. The result is that when a pure white color is needed, all RGBW LEDs are activated. While it gives a maximum brightness, it also takes more power.
RGBA Red, green, blue and amber. The amber LED is automatically activated the closer the media color is to amber. As the amber is activated, the RGB LED levels are reduced proportionally until only the amber LED is active for a pure amber color.
RGBAW, RGBWA Red, green, blue, amber and white. The white and amber LEDs are activated following the same recipe as for RGBW and RGBA.
RGBWX Red, green, blue and two additional white channels. This type is for RGB plus two white colors. LJLM controls only the RGB channels and skips the two white channels.
White White or one color component only. The activation level is based on the perceived brightness of the media color (using the luma calculation).
WhiteCool White cool. Special type of cool white LED that you can use to get a more accurate preview in the stage monitor. The activation is based on the blue level of the media color.
WhiteNeutral White neutral. Special type of neutral white LED that you can use to get a more accurate preview in the stage monitor. The activation is based on the green level of the media color.
WhiteWarm White warm or amber. Special type of warm white LED that you can use to get a more accurate preview in the stage monitor. The activation is based on the red level of the media color.
WWA White cool, white neutral and white warm/amber. There are 3 types of whites and you’ll get an accurate preview in the stage monitor. The white cool activation is based on the blue level of the media color, the neutral on the green and the warm on the red.
WAW White cool, white warm/amber and neutral white. See WWA.
AWW White warm/amber, neutral white and white cool. See WWA.
16-bit option High resolution 16-bit per color component. 16-bit is a separate option in the strip dialogs instead of being part of the LED type name. When enabled, LJLM supports end-to-end 16-bit precision from supported media sources through the internal engine and remote control to the DMX output. See Media Types.

For the color temperature settings to get a more accurate stage monitor preview, see Colors.

Duplicate Strips Dialog

Shortcut key: alt-D

Copy the selected strips and create new strips by applying certain transformations.

Duplicate Strips dialog for copying strips with offsets, rotations, and DMX changes

Number of duplicates

The number of times you want to copy the selected strips.

Group and sub-group

Use these two groups to help you quickly find your strips later. When creating multiple duplicates, the primary group will automatically be appended with a counter.

Universe offset

The offset used to calculate the first DMX universe of the newly created strips.

Address offset

The offset used to calculate the first DMX address of the newly created strips.

X offset

The horizontal position offset applied to the newly created strips.

Y offset

The vertical position offset applied to the newly created strips.

Rotate offset

The rotation in degrees applied to the newly created strips.

Rotate center, offset X, offset Y

The position where the rotation will occur and how to offset the rotation center (for example, to leave a hole in the middle of the rotated strips).

When you’re in the design phase of the lighting installation, keep in mind the duplicate options. They allow creating complex shapes by copying simple elements. This is a real time saver.

To make sure certain strips always stay together, use the bundle feature. You can create complex shapes by combining multiple simple elements. See the bundle/unbundle options in the Edit Zone.

To copy strips to another stage, select your strips and use the copy (ctrl-c) and paste (ctrl-v) keyboard shortcuts. You can also right-click in the Strip List to see all options.

Edit Strips Dialog

Shortcut key: alt-E

Edit the selected strips and allow changing the patch.

Edit Strips dialog for changing strip geometry, grouping, patch, and LED settings

LEDs per strip

The number of LEDs per strip.

Type

The pixel type. See Add Strips Dialog (Patching).

Segments

Determines whether the strip uses straight lines or curves between its control points. Curves are perfect to represent flexible strips.

Closed shape

Determines whether you want a closed shape like a square.

1st LED position

For closed shape, you can move the first LED around the shape to be exactly where the first LED is in reality.

Group – primary, secondary

Use these two groups to help you quickly find your strips.

Numeric seq.

When editing multiple strips at a time, automatically generates numeric sequences when the group name ends by a number. The sequence will start at this number and go up.

Corrections / Stabilizer

The stabilizer averages pixels around the LEDs to reduce large jumps. The Levels button opens the strip correction controls used to equalize output differences between strips. These corrections are meant for the real fixture output rather than for the stage preview.

DMX protocol

Select the output method for DMX. For example, Art-Net or sACN E1.31.

Start universe

The universe of the first strip to be patched.

Start address

The address of the first strip to be patched.

LED address offset

See Add Strips Dialog (Patching).

Break universe after

See Add Strips Dialog (Patching).

Apply changes to other stages

Keeps matching strips in other stages synchronized with the current strip settings except for the shape, which is useful when the same strips are reused across multiple stages.

Re-Patch (alt-P)

Forces redoing the patch to make sure all selected strips are patched one after another.

Locate (alt-C)

Highlights LEDs one at a time to help identify them in the real world.

Reverse LEDs (alt-R)

Reverses LEDs without changing the shape. This is handy when the strip has been physically installed in the wrong direction.

Edit LED Pos (alt-D)

Allows editing the position of each LED individually for precise control.
Levels window

Intensity

Adjusts the output intensity of the selected strips to help equalize the luminosity between strips.

Temperature

Adjusts the color temperature of the selected strips, from warmer to cooler, to compensate for visible differences between fixtures or batches.

Tint

Adjusts the tint of the selected strips to compensate for green or magenta shifts.

Black threshold

Treats very low values as black. This is useful when strips or controllers behave poorly at very low intensity and you want to exclude that range. The threshold is set in 16-bit.

Gamma correction

Activates gamma correction to better align LED brightness with human visual perception. Use it only if the LED controller is not already applying its own gamma correction. When using 16-bit LED type, it is highly recommended to use gamma correction.

Reset

Restores the correction values to their defaults: full intensity, no temperature or tint adjustment, gamma correction off, and black threshold at 0.

Offset/Resize Strips Dialog

Shortcut key: alt-O

Precisely change the position and size of the selected strips.

Offset and Resize Strips dialog for changing strip position and size numerically

X

The position of the left boundary of the rectangle. A value of 0 means the far left of the stage.

Y

The position of the top boundary of the rectangle. A value of 0 means the top of the stage.

Width

The horizontal length.

Height

The vertical length.

Linked option

When checked, the initial aspect ratio is preserved when changing the width or height.

Right-click in a numeric box and move the mouse left/right to quickly change the value.

Stage Tab

Shortcut key: alt-g

Stage Tab with stage size, background image, grid, notes, and monitor controls

Size

The mapping size of the stage. Change it with the resize button.

Media opacity

Determines the visibility of the media preview. You can disable the preview to save CPU by setting the opacity to 0.

Live access

Controls how this stage appears in the live panel. The stage can be full access, read-only or hidden.

Background

Select or clear a background image to help position the LED strips like in the real world.

Size, offset, flip and rotate

Allows positioning the background image exactly where you want and optionally preserving its aspect ratio while resizing.

Opacity

Determines the visibility level of the background image.

Sticky notes

Puts notes anywhere on the stage to remember key points of the mapping and TODOs. They can be shown or hidden with Ctrl-E.

Snap strip points (ctrl-P)

Snaps control points to help positioning.

Grid (ctrl-G)

Configure the snap to grid feature by specifying size of a cell in pixels. Use the offset X-Y to align the top-left cell with your design.

Monitor (alt-O)

Opens a monitor window to help you see the final result of the mapping.

LED image

Exports a PNG image showing the exact position of every LED. This is useful for motion designers as they can use the snapshot as a content guide.

LEDs CSV

Export a CSV file containing the information about all LEDs.

When you are editing and zoomed in very closely, if media is playing in the preview, your computer may have a hard time. To help it, disable the preview by setting the media opacity to 0%.

Here’s the monitor window. You can see the result of the stage only or after all stages have been merged. When you don’t have access to the real fixtures, this is an indispensable tool while creating effects. Alternatively, you can use any 3rd party visualizer able to receive the LED rendering via NDI (see NDI output in the Stages Manager) or supporting Art-Net or sACN.

Stage monitor window showing the rendered output of a stage

Try reducing the stage’s size and see if the output is still good. Also reduce your videos and other media size accordingly to potentially save a lot of CPU. High resolution media is not always a good thing!

Testing Tab

Shortcut key: alt-T

Quickly test the mapping by generating a rectangle that you can move over the strips.

Testing Tab with test pattern color, rectangle position and size, and LED test options

Test patterns On/Off switch

Activates the generation of test patterns.

Color

Changes the color of the testing rectangle. It is handy to test the color component order of your strips.

X, Y

Set the position of the testing rectangle on the stage.

Width, Height

Changes the size of the testing rectangle.

Swap

Swaps the width and height of the testing rectangle.

Test selected strips only

If checked, only the selected strips in the Strips Tab will be under test. The other strips will all be off.

Highlight 1st LEDs

Highlights the 1st LEDs of each strip to better see where strips start.

Show strip color tag

For LEDs outside the test rectangle, shows the strip color tag as in the editor.

HDR 16-bit

Generates the test values in 16-bit.

Locate LEDs

Locates each LED in the real world by going through a list. Alternatively, you can put the mouse over a LED in the editor. The LED number and its DMX address are displayed which is handy to count the LEDs and troubleshoot addresses.

Conflicts

Analyzes all patched LEDs of the current stage and looks for overlapping DMX addresses. In some situations you may want to have duplicated LEDs on the stage but if this isn’t the case, you should adjust the DMX addresses.

Reduce the width and height of the testing rectangle and drag the rectangle around the stage. This way, you can see if the patch order is right. For example, if dragging the rectangle from left to right makes the LEDs go on from right to left, then you know you need to flip them horizontally. To do so, go in the Strips Tab and click the Flip X button.

Quickly test the red, green and blue component order of your LEDs by generating a pure red, pure green and pure blue test. For each test, note the color of your LEDs. If you’re not getting a RGB order, edit your LED strips and select the LED type corresponding to the order you’ve observed (BGR, GRB, GBR…).

While the testing mode is active, the DMX is constantly being outputted at the full output rate, even when there’s no change. This is handy while you’re configuring your LED controllers and want to see if it’s working. This is also a good way to test whether your network supports the load.

Use the “test selected strips only” option, go in the Strips Tab and change the selection in the strip list. This is similar to traditional lighting consoles locate function.

Stages Manager

Shortcut key: alt-N

Stages Manager showing stage order, merge modes, and stage actions

Select multiple stages in the list to modify them all at once. The list is ordered from top to bottom as stages are merged. Drag and drop stages to reorder them.

Name

The name of the stage. Select a stage to edit its name.

Size

The size in pixels of a stage.

Merge mode

Specifies how the values are merged when multiple stages target the same LEDs. The merge starts with the stage at the top of the list. You can reorder the stages with drag and drop. See Stage Merging and Layering for more details.

Test patterns

Activates the testing mode and show the test patterns.

NDI output

Streams the monitor output of the stage via NDI to visualizers such as WYSIWYG, Capture or Realizzer.

Monitor

Opens a monitor window to help you see the final result of the mapping for this stage.

DVI

Outputs this stage media to a projector, TV, or other video destination.

... button

Opens more actions for the stage: Duplicate, Copy, Export LEDs position image, and Export LEDs csv.

Duplicate

Copies the stage to get a new media layer.

Copy

Copy the strips of the stage to quickly update other stages.

Export LEDs position image

Creates an image showing the position of all LEDs of the stage. This is handy for motion designers.

Export LEDs csv

Creates a CSV file containing the information about all LEDs of the stage.

New

Creates a new stage.

Resize

Resizes all selected stages.

Paste

Paste the copied strips on the selected stages (replace content). Useful when you use multiple stages as layers.

Delete

Deletes all selected stages.

3D

Shortcut key: alt-3

A 3D structure is composed of multiple stages layered on top of each other. Everything you already know about stages can be applied to 3D, including merging, media and remote control.

3D tools view showing stacked stages and 3D projection controls

New 3D

Generates a 3D structure either by using the wizard or by selecting existing stages.

Home (ctrl-0), front (ctrl-F), top (ctrl-U), side (ctrl-R or ctrl-L)

Moves the camera to predefined positions.

Stage list

Shows the stages for this 3D structure. Select a stage in the list to see it in the 3D view. Drag and drop stages to reorder the layers.

Reverse (alt-R)

Reverse the order of the stages in the list.

3D monitor (alt-O)

Shows the 3D monitor window for this 3D structure.

Select stages (alt-A)

Add or removes stages for this 3D structure.

Rename

Renames this 3D structure.

Resize

Resizes the width, height and depth of the 3D structure.

Delete

Deletes this 3D structure.

Stack axis

Determines the direction for stacking stages.

Projection

Creates a new 3D stage projection to be able to generate effects. The generated stages are views from different positions of the 3D structure, allowing to easily generate 3D content by using standard 2D media.

Media Library

Shortcut key: alt-M

You can manage your media and see what’s active. Up to 999 media items can be loaded. The media library has both a grid view and a list view. In grid view, you can select multiple media items at once. To add new media, click the ✚ icon on an empty slot.

Media Library showing media slots and thumbnails for videos, images, and effects

Shared Controls

Add media

Click the ✚ icon on an empty slot to open the add media menu. From there you can add videos, images, built-in effects, capture devices, screen capture sources, text, Spout, NDI, MJPEG streams, DMX bitmap media and more.

Grid view / List view

Switches between a thumbnail grid and a detailed list.

HDR 16-bit

Opens HDR settings for videos and images, eye candy effects, Spout and NDI media sources. You need to activate the HDR option for the media you want to use in 16-bit.

Consolidate

Copies all files in the same directory to make it easy to move your project file to another computer.

Transcode

Transcodes multiple videos at once. Converts to a format that should play on all computers and can also adjust contrast and brightness.

Play audio

For videos, plays or ignores the audio tracks.

Monitor

Opens a window showing the images coming from a media source. You can also define a custom thumbnail for the slot.

Delete / Clear slot

Clears a media slot and allows selecting another media. If the media is in use by stages or sequences, LJLM warns you before deleting it.

Playback position indicator

For videos, shows the position and allows seeking, which is handy for long videos to test specific parts.

Swap items and reorder

You can reorder media slots by drag and drop.

Grid View

The grid view shows one media slot per square thumbnail. It is optimized for browsing visually and for selecting many slots at once.

Thumb size

Changes the thumbnail size in the grid view.

Multi-selection

You can select multiple media slots at once in the grid view.

Empty slots

Empty slots show the slot number and a ✚ icon to quickly add media.

Thumbnail overlay

Filled slots show the media thumbnail, the slot label and the media slot number directly on the thumbnail.

Grid view context menu

Right-clicking selected media in grid view opens actions such as Copy, Cut, Paste and Delete. It also provides Select unused media and Invert selection.

Single-item context actions

When exactly one non-empty slot is selected, the context menu also shows media-specific actions such as Set label, Set thumbnail, Reset thumbnail, Replace or Configure, file actions such as Rename the file or Open location when applicable, effect code actions for shader-based media, and Monitor.

Reorder

You can drag and drop slots to reorder them in the library.

List View

The list view shows one row per media slot with more details and direct row controls.

Row layout

Each row shows the media slot number, a thumbnail, the media name, dimensions when available, and the file path or related location information.

Empty slots

Empty rows show a ✚ icon to add media to that slot.

Monitor button

Each filled row has a Monitor button with an activity indicator showing whether the media is currently playing.

Delete button

Each filled row has a delete button to clear the slot.

More... button

The More... button opens the media-specific context actions for that row, such as file, replace, configure, thumbnail and effect-code actions depending on the media type.

Video rows

Video rows show the media name, dimensions, duration, folder path, and an audio icon when the file contains an audio track. When the video is playing, a time slider and current playback time appear so you can seek directly from the list.

Image rows

Image rows show the media name, dimensions and file path, plus the More... menu for image-specific actions.

Live, text, effects, Spout, NDI and DMX bitmap rows

These rows show the media name, dimensions when available, and the More... menu. NDI rows also expose inline delay and black-threshold controls directly in the row.

Reorder

You can drag and drop rows to reorder the media slots.

Media Types

The following media source types can be loaded into the media library depending on your workflow.

High bit depth and HDR output

LJLM fully supports end-to-end high precision rendering for LED installations that can display more than 8 bits per color component. LJLM preserves the extra precision from supported media sources, through the internal mixing and compositing engine, through transitions and color processing, and all the way to the DMX output.

This is especially useful for high-end LED products and drivers that support fine color control, because it gives smoother fades, cleaner gradients, better low-level dimming and less visible stepping. LJLM also supports 16-bit stage and group control in the advanced remote control modes for parameters such as intensity, color filters and media mix position.

Not every media source carries the same precision. Some are 8-bit, while others can provide 10-bit, 12-bit or 16-bit data. The following sections mention the relevant support for each media type.

Video Files (with or without audio)

Most video formats are supported when the appropriate DirectShow video codecs are installed. By default, LJLM can play these files: .mov, .avi, .wmv, .mpeg, .mp4, .mp2, .mkv, .webm, .ogv and .ogg. There’s no video size and resolution limits. The audio track is played back on the default sound device. If not needed, you can remove the audio by using the transcode button.

The recommended video format is MPEG4 in an avi file. For smaller files at the expense of a higher CPU usage, you can use H264 in an avi file.

Video playback supports HDR and high bit depth workflows, including 10-bit and 12-bit sources such as HDR10 when supported by the file and decoder path. This allows video content to feed the high precision internal engine and high precision LED output when the rest of the pipeline is configured accordingly.

Picture Files

Use images like bmp, jpeg, gif (animated or not) and png.

Images also support 16-bit workflows where applicable, which is useful for gradients, masks, still HDR content and other static material that benefits from higher precision before being mapped to LEDs.

Effects

The built-in effects give you pixel-perfect and configurable visuals. There are 100+ effects available, including eye candy effects, and many effect parameters can be remotely controlled.

Built-in eye candy effects and GLSL shader based effects support 16-bit rendering, so procedural content can fully benefit from LJLM’s high precision internal engine and 16-bit LED output.

Custom GLSL Shaders and AI Assistant

LJLM also lets you create your own eye candy effects by writing a GLSL shader. All built-in eye candy effects can be edited (right-click on an effect to see the option in the menu) and new effects can be created by clicking the + button on an empty media slot. Custom shaders behave like media items and can be edited in the built-in GLSL editor.

When creating a new effect, the default GLSL code along with many comments will tell you everything about what you can do. But basically, you can define the sliders you want to use as parameters and you have access to the full audio data in real-time.

The built-in AI assistant can help explain, fix and extend shader code. It can work with multiple providers, including local LLM setups. The supported provider presets include OpenAI, Ollama (local), LM Studio (local), GitHub Models, OpenRouter and a custom endpoint. The assistant settings let you configure the provider, base URL, API key when required, model name, additional model parameters and test the connection.

The assistant can use the full shader code, the current selection and the last compilation error as context. It can answer questions, suggest changes and return updated shader code that you can choose to apply back into the editor.

Custom GLSL shaders are part of the same 16-bit capable rendering path, which means they are suitable for generating true high precision content for compatible LED types instead of only standard 8-bit visuals.

Capture Devices

Use live videos captured with a video card input or a connected camera like a webcam. Any DirectX/DirectShow compatible hardware and software are supported.

Magewell capture cards are known to work very well with LJLM. Other manufacturers often used successfully on Windows include Datapath, AJA, AVerMedia, Osprey/Visual Connectivity, YUAN, and some Epiphan devices. Some Blackmagic devices can work, but DirectShow compatibility is more limited, especially for 4K capture. Actual compatibility depends on the specific model and installed driver.

Screen Capture

Capture any part of your screen and use it as a media in LJLM. For example, play a video on Youtube and map it to your LEDs. Another utility is to capture your video editor (like Adobe After Effects) preview zone and let LJLM generate a LED preview in real-time to assist your content creation. This avoids having to render your video before trying it in LJLM.

Screen Capture Dominant Colors

Capture any part of your screen and extract the dominant colors. This is useful to do color matching between any kind of content and your LEDs.

Texts

Generate scrolling text with various fonts.

Spout (v. 2.007)

Use live videos generated by the most common video frameworks and VJ software. This includes Resolume, Ableton Live, Processing, Max/Msp, TouchDesigner, Cinder, OpenFramework, VVVV, Isadora, After Effects, Mapio, Unity3D and more. The Spout integration gives you total control over the content and is the way to go when you want interactive visuals.

Spout supports 16-bit workflows in LJLM, making it a strong option when you want to feed high precision generative or interactive visuals into a 16-bit LED pipeline.

Network Device Interface (NDI v. 6.1)

Receive live video streams via the network, as commonly used in professional live show productions. Easily connect LJLM to a multitude of NDI compatible hardware and software, including capture cards, IP cameras and video over the cloud. NDI has been developed by NewTek - http://NDI.NewTek.com.

NDI support includes 10-bit workflows, which is useful when receiving higher precision live video feeds and carrying that extra precision into LJLM’s internal engine and on to compatible LED outputs.

MJPEG Streams

It’s the most basic way to receive video streams via the network. If your IP camera doesn’t support the more complete NDI protocol, it should at least support MJPEG streaming.

DMX Bitmap

This special media allows receiving DMX from a lighting console and convert it to a video. You can then use this video like any other media and map it on your LEDs. A common usage scenario is to control groups of LEDs with one RGB or intensity value.

DMX Bitmap also supports high precision workflows, including 16-bit RGB and dimmer data where applicable.

To quickly test your installation without having the final videos, just use the built-in effects. You can create your schedules and test everything right away. Then when you’ll get your videos, replace the built-in effects.

Media file paths are saved relatively to your project file. Use the consolidate feature to copy all files in a directory next to your project. Then copy everything to your other computer.

Sequences

Shortcut key: alt-U

The sequences section allows you to create groups, sequences and steps (cues) for your stages, and to launch the perform panel for live performances. A stage can only be in one group. If you need the same content area in multiple groups or layers, duplicate the stage first.

Sequences overview showing groups and sequence controls

New group

Creates a new group of stages.

Stage number button

Selects the stages that are part of the group.

Delete

Delete the selected groups.

Edit sequences (alt-E)

Launches the sequence editor.

Perform (alt-P)

Launches the perform panel for live performances.

Groups

A group is a set of stages that you want to control together in the sequences system. Sequences, steps, scheduling, and the Perform panel all work at the group level.

What a group contains

A group contains one or more stages. Those stages become the targets of the sequences and steps stored for that group.

Why groups are useful

Groups let you organize the installation into playable parts. For example, one group can control the whole facade, another can control a logo area, and another can control decorative accent stages.

How groups are used

You configure the stages of a group in Live Mode, store those looks as steps in Edit sequences, recall them in the Perform panel, and optionally schedule them.

One stage, one group

A stage can only belong to one group. If you need the same content area in multiple groups, duplicate the stage first and place each copy in the group where it is needed.

Independent playback per group

Each group has its own sequences, current step, scheduler settings, and performer state. This means different groups can be controlled independently from each other.

Think of a group as the playable unit of the Sequences section. You do not store cues for isolated strips or for the whole project at once; you store them for a chosen set of stages that should behave together.

Edit sequences

Go in Live Mode and configure the stages of the group as you want and then store the result as a step of a sequence. The settings for each stage that are stored in a step are: main media selection, media parameters, stage activation, stage speed, stage color filter, transition duration, transition effect and the whole state of the audio mix. An interpolation is made for transitions between steps and sequences for all numeric parameters, including the media parameters. For example, you can change the zoom level of an eye candy effect to animate it between steps.

Each group can have up to 255 sequences and each sequence can have as many steps (cues) as you want. You’ll then be able to recall these sequences during a live show or via any remote mode.

Sequence editor showing sequence steps, store controls, and scheduling options

Overview section (upper part)

Group

The current group of stages.

Stage filters expander

Expands the recording filters for the group. You can record all stages or only selected stages, and choose whether media parameters are included in each stored step.

Solo current stage

Deactivates all other stages of the current group and leaves only the currently selected stage active. This is useful while programming a look.

Sequence

Selects the current sequence number of the group.

Sequence color tag

Optional color tag to help organize sequences visually.

Sequence name

The editable name of the current sequence.

Step

Selects the current step within the current sequence and shows the total number of steps.

Sequence color tag

Optional color tag for the sequence.

Add (ctrl-space-A)

Stores the result as a new step at the end of the sequence.

Update (ctrl-space-U)

Updates/replaces the current step with the result.

Insert (ctrl-space-I)

Inserts the result after the current step.

Delete (ctrl-space-D)

Deletes the current step.

Undo/redo (ctrl-z, ctrl-y)

Undo or redo the operations for the current group.

Auto play

Automatically plays the current sequence inside the editor. The step time display can show either elapsed time and duration or a countdown timer.

The editor is designed to work together with Live Mode: build the look live, then store it with Add, Update, or Insert. The step shortcuts still work while your focus is outside the sequence window, which makes recording cues much faster.

Details section (bottom part)

Details expander

Shows or hides the bottom details area of the editor.

Blind

Edits sequences without actually recalling the looks on the stages. This is useful when programming during a running show.

Transitions

Determines whether transitions are shown while recalling steps in the editor.

Find sequences by media

Lets you select media and find the next step using those media. This is useful when updating media and checking where it is used.

Sequences

Shows the grid of sequences for the current group. Each sequence tile can show its id, name, trigger text, step count, color tag, and up to four thumbnail previews. Drag and drop to reorder. Right-click for Copy, Paste, Clear, and Create sequences from media.

Columns

Sets the number of columns used to display the sequence grid. Also controls the columns in the performer.

Steps tab

Shows the steps of the current sequence in a table. You can reorder steps by drag and drop and rename them directly.

Step columns

The current step table includes the step number, name, content overview, duration, fade time override, intensity override, speed override, color override, fade effect override, and fade curve override.

Step context menu

Right-click a step for Copy, Paste and insert before, Paste and insert after, Paste and replace, Reverse order for multiple selected steps, Delete, and Insert steps from media.

Schedule

You can schedule the current sequence so that it starts automatically. A group has its own scheduler, allowing each group to play one sequence at a time.

Start time

The time of the day to start the playlist.

Relative to

Determines how to interpret the start time.

Duration

The duration of the playlist (end time).

Loop

Repeats the sequence indefinitely (loop).

Start and end dates

The date range (inclusive) when the playlist is active.

Active days

The days of the week when the playlist is active.

Perform panel

The perform panel is a touchscreen, keyboard and MIDI controller friendly interface to control your show. You can trigger your sequences and play live with the intensity, speed, strobe, tap tempo and more. Most of the controls can also be controlled via HTTP and OSC.

Group

Selects the active group for the perform panel. Most visible controls are relative to this group.

Active

Determines whether the current group is active. Deactivating a group blackouts all stages of the group.

Master intensity and speed

Controls the master intensity and speed from the perform panel.

Shortcuts

Opens the shortcuts editor to assign keyboard, MIDI, and OS2L triggers to performer actions.

Sequences

The grid shows all sequences. Click on a sequence to play it.

Go/back

Play the next or previous step of the sequence.

Tap tempo

Tap to set the tempo to automatically go to the next step. The tempo of all groups are synced. You can also choose MIDI clock or OS2L as the tempo source from the tap tempo context menu.

Tempo dividers (/1, /2, /4…)

Determines how many beats it takes (based on the tempo) to advance to the next step.

Play button

Automatically plays the steps of the sequences based on each step programmed duration. This button is deactivated when manually pressing go/back or when using the tap tempo.

Play mode (loop, all, row, …)

Determines what to do when reaching the end of a sequence. For example, if you select row, then the next sequence of the row will start playing.

Performer shortcuts

The performer can be controlled by shortcuts so you can operate it from a computer keyboard, a MIDI controller, or an external OS2L source such as VirtualDJ. Shortcuts are mapped to performer actions like Go, Back, Tap Tempo, sequence selection, sequence play, performer active, intensity, speed, strobe, blackout, freeze, fade time, color controls, presets, and group selection.

How shortcuts work

Each shortcut is linked to one performer action. Depending on the action, the shortcut can trigger a one-shot command, toggle a state, act momentarily while held, step a value up or down, select a preset, or send an absolute value.

Shortcuts editor

Use the Shortcuts button in the performer window to open the editor. The grid lists all available performer actions and the currently assigned Keyboard, MIDI, and OS2L triggers.

Save and load shortcut files

You can save and load shortcut files in .sc.xml format. LJLM lets you save or load Keyboard only, MIDI only, OS2L only, or all shortcut types together.

Keyboard shortcuts

Select an action in the shortcuts editor, click the keyboard box, and press the key or key combination you want to assign. LJLM can also ship with default performer keyboard shortcuts for common actions such as sequence selection, Go, Back, tempo, presets, strobe, blackout, and freeze.

MIDI shortcuts

Select an action in the shortcuts editor, then send a MIDI note or CC message from your controller. That message becomes the trigger for the selected performer action.

OS2L shortcuts

Select an action in the shortcuts editor, then define the OS2L trigger type and message fields. OS2L triggers can use button messages with page and name values, or command messages with a numeric id. This allows performer actions to be triggered from compatible software over the network.

Shortcut reassignment protection

If you assign a keyboard or MIDI trigger that is already used by another action, LJLM warns you and lets you reassign it.

OS2L in the performer

OS2L stands for Open Sound to Light. In LJLM, it is used as a network input to receive beat information and performer control messages from software such as VirtualDJ.

What OS2L can do

OS2L can send beat and BPM information for tempo synchronization, button messages to trigger performer actions through OS2L shortcuts, and command messages carrying numeric values for absolute controls.

Tempo source

In the performer, right-click the Tap Tempo button to choose Manual tap tempo, MIDI clock, or OS2L as the tempo source. When OS2L tempo is active, the performer uses the BPM received through OS2L.

Direct sequence triggering

When the performer is active, unassigned OS2L button messages can also directly play sequences. LJLM first tries to match the OS2L page to a group name and the OS2L button name to a sequence name. If no page is provided, it uses the current group. If the button name is numeric, LJLM can also interpret it as a sequence number.

How to configure OS2L in LJLM

Go to Settings > Remote Control, open the OS2L tab, enable OS2L input, choose the listening port, and use the Monitor button to inspect incoming OS2L activity.

How to configure the sender

In VirtualDJ, enable OS2L and point the OS2L direct IP setting to the LJLM computer address and OS2L port, for example 127.0.0.1:9666 when both applications run on the same computer.

OS2L trigger types in LJLM

Button triggers use the OS2L page and name fields. Command triggers use a numeric command id. LJLM can save and load these OS2L mappings in shortcut files the same way as keyboard and MIDI shortcuts.

Live Mode

Shortcut key: alt-L

The main goal of the live mode is to see what’s playing on each stage and configure the effects. For example, if a playlist is running, you’ll see what’s happening in real-time, including the transitions. If nothing is controlling the stage, you’ll be able to manually select what’s playing.

Live Mode showing A and B media banks, fader, transition controls, and stage playback settings

A and B media banks

Shows the loaded media. Click a media to select it.

A and B configuration panels

At the bottom of the right and left sides, the selected media are displayed and you can expand the sections to see the parameters of the media.

A-B Fader

Mix the media from the A and B sides, using the selected transition/mix effect.

Execute

Automatically creates a transition from A to B or B to A depending on the most active side.

Transition effect and duration

Selects one of the 40+ transition/mix effects and its duration in seconds.

Intensity

The luminosity level (dimmer). Set to 0 to deactivate the stage.

Color wheel

Filters the color output. It works like a color gel, where if you select the red color, only red pixels will be visible at the output.

Speed

The playback speed. Used for certain media types only, including video files, built-in effects and texts. Does nothing for live video streams.

Thumb size

Determines the size of the media thumbnails in the A and B media banks.

Audio reactive mix

Automatically mixes your media in sync with the music. It’s a kind of auto-pilot, which is handy to create a show very quickly. Click the “…” button to select the audio input.

DVI

Opens a window to output the video to a projector or TV. The position of the window is saved in the project file. You can output the media or the LED map. The LED map is exactly the size of the stage and one LED is exactly one pixel. This is required for systems taking a video input like Martin P3.

Master intensity and speed

Modifies the intensity and speed of all stages without affecting the actual programming. The master intensity doesn’t affect the stage monitor brightness.

You can use LJLM to output video to a projector or TV without controlling LEDs. Simply create a stage and don’t put any LEDs on it. Then in the live mode, click the DVI button.

Using black and white media allows you to use the color filter and get exactly the RGB color you want as output.

Use the live mode as a monitor to help you see what’s going on while remotely controlling LJLM with another lighting console. You can also open multiple DVI outputs (one per stage) and use them as monitors.

Settings

Shortcut key: alt-I

Project

This is the overall panel, displaying the most important info about your project status.

New project

Closes the current project and start a new one.

Load (ctrl-o)

Opens an existing project.

Save as

Saves the project under a new name.

Save (ctrl-s)

Saves the project.

Import

Imports items from another project, including stages, media and DMX settings.

Export patch

Creates an html file containing all strips/fixtures to be opened in a web browser or Excel.

Firewall

Does the necessary firewall configuration for all network protocols. LJLM must be running as administrator.

DMX universes

The number of DMX universes used by your project. This is the number used to calculate your license limit (if any).

Stages

The number of stages in your project.

Strips

The number of strips in all stages.

Mapped LEDs

The number of LEDs inside the mapping zones in all stages (including duplicated LEDs).

Output rate (Hz)

The number of times per second DMX packets are sent. Default is 30, max 240. WARNING! Don’t set it higher than what your LED controllers or fixtures support. This may result in DMX packets being discarded and visual artefacts.

DMX output

Activates or temporarily disables the DMX output. This is handy during testing.

Lock stages

Prevents accidentally editing the stages by requesting a password to unlock (last 4 characters of the hardware ID).

Run at startup

Automatically runs LJLM when Windows starts, loads the most recent project file, and lets you choose the startup mode.

Language

Opens the language menu and lets you switch the user interface to any of the supported locales. The button also shows the current language.

A project backup file is created every 5 minutes. To avoid slowdown during a live show, you need to manually save the project to trigger the backup creation. To open a backup, select the Backup file type in the file browser when opening a project. To set the backup to be the current project, simply save the project.

The Import menu can also import DXF and SVG drawings, strips from supported LED controllers such as Advatek PixLite Mk3 and DMXKing LeDMX MAX, plus xLights xModels.

Import xLights/xModels

Use the Import menu under xLights to select one or multiple xModel files. Strips will be automatically created to best fit the models.

Import CSV LEDs

Select one or multiple CSV files to import. Each row of the CSV file represents one LED.

Create one bundle per file

When enabled, LJLM creates one bundle for each imported CSV file.

The supported columns are:

X

The horizontal position of the LED in pixels, where 0 is at the left. Use a decimal number.

Y

The vertical position of the LED in pixels, where 0 is at the top. Use a decimal number.

Protocol

The DMX protocol: ArtNet, sAcn, KinetV1, KinetV2 or none.

Type

The LED type, for example RGB, RGB16, RGBW or RGBA.

Universe

The DMX universe. It starts at 0 for ArtNet and at 1 for the other protocols.

Address

The DMX address, starting at 1.

Group

The group of the LED.

Sub-group

The sub-group of the LED.

Strips are automatically created for consecutive LEDs with the same group and sub-group. All columns are optional.

A stage will be created to contain all LEDs based on their X and Y positions. To export the LEDs of a stage as a CSV, see Stage Tab.

Import DXF

Use the Import menu to load an AutoCAD 2000+ DXF file. LJLM shows the DXF layers and lets you choose which ones to import.

Layers

Shows all detected DXF layers. You can select or deselect them individually, double-click a layer to toggle it, and use the context menu to select all, deselect, or invert the selection.

Views

Lets you generate 3D projection stages from the imported drawing: Front, Top and Side.

Create one stage per layer

Creates a separate stage for each selected DXF layer instead of combining everything into one stage.

Explode polylines

Creates one strip per line contained in a 2D or 3D polyline. This is needed for the 3D views to work properly.

LEDs per meter

Sets the LED density used to generate the imported strips from the DXF geometry.

Use DXF import when your installation geometry is already available as an AutoCAD drawing and you want LJLM to derive strips from the line work and layers.

Import SVG

Use the Import menu to load a Scalable Vector Graphics file and generate strips from its vector elements.

Create strips for text elements

When enabled, LJLM also converts SVG text elements into strips.

SVG drawing pixels used to generate one LED

Controls how many SVG drawing pixels are used to generate one LED, which determines the default LED density of imported elements.

You can annotate SVG elements with optional attributes:

led-count

The number of LEDs. By default, the LED count is calculated from the length of the element.

led-type

The LED type, for example RGB, RGBW, GBRW16, and similar values.

reversed

True or false, indicating whether the LED order should be reversed.

group

The group. By default, the id of the parent element becomes the group.

sub-group

The sub-group. By default, the id of the element becomes the sub-group.

dmx-protocol

ArtNet, sAcn, KinetV1, KinetV2 or none. The default is none.

universe

The starting DMX universe, from 0 for ArtNet and 1 for other protocols.

address

The starting DMX address, from 1.

Attribute names can optionally start with data-. For example, data-led-count is equivalent to led-count.

A child element of type <desc> or <title> creates a note positioned over the element.

All SVG import names and values are case-insensitive.

Art-Net

Settings for the Art-Net universes.

Adapter

Selects a network adapter for the output.

Universe display

By default, universes are in the hexadecimal format, where the first digit is the Net (0 or 1) followed by the Sub-Net (0-F) and then the universe (0-F). In decimal mode, the universes are displayed starting at 0 for the first universe.

Scan­ nodes

Opens a window and shows the detected Art-Net nodes. Click the configure unicast button to activate Art-Net unicast and send the universes to the subscribed nodes.

Locate uni.

Locates universes by sending all channels at full. No LEDs need to be patched.

Monitor

Shows the exact DMX values being sent.

Optimize frames

When activated, universes are sent only when there’s a change and only the channels that have changed are sent, which may considerably reduce the network load. Older or low-powered nodes may not support it.

ArtSync

When activated, sends a ArtSync packet after all universes have been sent. This makes sure all outputs to the lights are in sync and prevents tearing problems.

Universe IP addresses

For each universe, enter an IP address to enable unicast and send the DMX packet to a specific node. Type broadcast to send the universe to all connected nodes in the network. Unicast is preferred when using more than 64 Art-Net universes or a WiFi network.

sACN

Settings for the sACN universes.

Adapter

Selects a network adapter for the output and the input if using remote control with sACN.

First universe

Since sACN supports thousands of universes, set the first universe to use.

Priority

Selects the priority level used for merging multiple sACN data sources. This is useful when using two LJLM computers and you want to use one as a backup by setting its priority to a lower level than the main computer.

Locate uni.

Locates universes by sending all channels at full. No LEDs need to be patched.

Monitor

Shows the exact DMX values being sent.

Optimize frames

When activated, universes are sent only when there’s a change, which may considerably reduce the network load.

sACN Sync

When activated, sends a sync packet after all universes have been sent. This makes sure all outputs to the lights are in sync and prevents tearing problems. The sACN controllers need to support sACN sync.

Universe IP addresses

For each universe, enter an IP address to enable unicast and send the DMX packet to a specific node. Type multicast to send the universe to all subscribed nodes in the network. Unicast is preferred when using more than 64 sACN universes with a network switch not IGMP v2 ready or a WiFi network.

KiNet

Settings for the Philips Color Kinetics devices (power supplies). Both protocol versions are supported, which are KiNet v1 (DMXOUT) and KiNet v2 (PORTOUT). For KiNet v2, you map each KiNet device’s port to a universe in LJLM. You can map up to 8192 ports. Use Philips QuickPlay Pro to configure and get the IP addresses of your KiNet devices.

Adapter

Selects a network adapter for the output.

Locate uni.

Locates universes by sending all channels at full. No LEDs need to be patched.

Monitor

Shows the exact DMX values being sent.

Device IP addresses

Enter the IP address of your device.

Port

Enter the destination port for each device (1-16).

Scheduler

The scheduler is responsible to activate your sequences for those with scheduling options. The sunrise and sunset times are automatically updated throughout the year based on your location.

Stop during daylight

Determines whether you want to stop the scheduler during daylight. In this case, all running sequences are stopped automatically.

Scheduler active

Temporarily stops all schedules. It is handy to take over and manually select what’s playing on each stage in the live mode. This option isn’t saved to the project file

Your position

Your latitude and longitude position on Earth. You can also select a preset in the list.

Offsets (minutes)

Offsets the sunrise and sunset times. For example, if you want to start the installation 2 hours before sunset, you enter (-120) in the sunset box.

Test helpers

Temporarily modifies the current time and date to help you test your schedule. These values aren’t saved in the project file.

Audio

Activate and configure up to 8 audio inputs. The audio inputs are used by the audio reactive effects and the audio reactive mix. Activate the loopback input to listen to what’s playing on this computer.

Activation switch

Determines whether this audio input is activated. Deactivate unused inputs to save resources.

Volume

Adjusts the input volume.

Falloff speed

Adjusts how fast the frequency bands go down.

Lower/higher frequencies (Hz)

Adjusts the frequency range to be used for the audio analysis.

Auto gain

Evens out the volume to a consistent level.

Auto gain up delay

The number of seconds it takes for the volume to go up when quiet audio is detected.

Up/down arrows

Moves the audio input to another slot. This way if the position of an audio source changes, you’ll not need to update all your audio reactive effects.

WaveIn/ASIO

Switch between the standard Windows Audio and the low latency ASIO modes.

MIDI

The detected MIDI controllers are listed here. Activate the ones you want to use for your performance. The configuration for which notes and CC messages to use is done in the Perform panel. Multiple controllers can be used at the same time as long as they are transmitting on different channels or at least sending different note or CC messages.

White Balance

Configure how the different LED types appear in the stage monitor. You can adjust their color temperature and intensity for a more accurate preview, which is particularly important when using LEDs with multiple types of whites such as WWA.

License

Manage your licenses. You can import multiple licenses to get more DMX universes.

Backup

Saves your license file in case you need to reinstall your OS.

Import

Imports a license file.

Hardware ID

Your unique computer’s ID, used to generate the licenses.

Remote Control

LJLM can be remotely controlled in many ways. Multiple inputs can be active at the same time to give you even more flexibility. The DMX input always takes priority.

DMX – Art-Net, sAcn and Enttec USB Pro

Settings for remotely controlling LJLM with a lighting console.

Input mode

Selects how you want to remote control LJLM. The current options are Art-Net, sACN and a Enttec USB Pro interface.

Network adapter

For Art-Net only, you can select a different network adapter for output and input.

Universe

Selects the DMX input universe.

Monitor

Shows the exact DMX values being received.

Address

Selects the DMX address for the first stage.

Stage fixture mode

Selects the level of control you want: Basic, Extended or Extended2. A separate option also lets the stage channels control media A-B parameters.

DMX value mode

Percent: makes it easy for consoles working in percent.

Raw: makes it easy for consoles working in the 0-255 DMX range.

Stages

Determines the stages you want to control. You can select no stages if you only want to control the groups.

Media remote

Maps DMX channels to be used to remotely control the media parameters.

The DMX sheet showing what can be controlled and by which channel is integrated in LJLM. It is dynamically generated based on the current remote settings and your stages. This way, you can’t lose it!

The groups created in the sequences panel are automatically added to the remote control.

When no DMX data is received for more than 5 seconds, the remote control mode will automatically be deactivated. This is a failsafe feature in case the remote console has a problem. When this happens, the schedule resumes right away. If there are no schedules, then the current media will continue to play.

Basic Fixture Mode (8 channels per stage)

Channel Name Values Note
1 Remote control mode

0: Remote control deactivated

1-254: Reserved, don’t use

255: Remote control activated

Remote control activated only when receiving 255. 0 disables the remote control mode and the stage goes back to being controlled via the schedule (if any) or manually.
2 Media index

0: No function

1-99: Media index

The media to play. If needed, a transition (crossfade) is automatically executed between the current media and the new one. This effectively controls the A and B sides in the live panel for you.
3 Intensity level

0: Stage deactivated

1-255: Level

The output level (dimmer). When at 0%, the stage is considered to be deactivated and doesn’t override stages with a lower precedence anymore - it becomes transparent. To keep the stage activated and force a black output, use the color filters at 0%.
4 Red filter 0-255 Filters the color output.
5 Green filter 0-255 Filters the color output.
6 Blue filter 0-255 Filters the color output.
7 Playback speed

0: Paused

1-255: Speed up to 10x. 25 = 1x

For some type of media like videos, effects and texts, the speed controls how fast the playback goes. For live streams, the speed has no effect.
8 Transition duration

0: No transition

1-255: Duration up to 20 seconds. 12 = 1s.

When transitioning between media, this controls the duration of the crossfade.

Extended Fixture Mode (15 channels per stage)

Channel Name Values Note
1 Remote control mode

0: Remote control deactivated

1-254: Reserved, don’t use

255: Remote control activated

Remote control activated only when receiving 255. 0 disables the remote control mode and the stage goes back to being controlled via the schedule (if any) or manually.
2 Intensity level (MSB/coarse)

0: Stage deactivated

1-65535: Level

The output level (dimmer). When at 0%, the stage is considered to be deactivated and doesn’t override stages with a lower precedence anymore - it becomes transparent. To keep the stage activated and force a black output, use the color filters at 0%.
3 Intensity level (LSB/fine)
4 Red filter 0-255 Filters the color output.
5 Green filter 0-255 Filters the color output.
6 Blue filter 0-255 Filters the color output.
7 Media A speed

0: Paused

1-255: Speed up to 10x. 25 = 1x

For some type of media like videos, effects and texts, the speed controls how fast the playback goes. For live streams, the speed has no effect.
8 Media B speed

0: Paused

1-255: Speed up to 10x. 25 = 1x

For some type of media like videos, effects and texts, the speed controls how fast the playback goes. For live streams, the speed has no effect.
9 Media A index

0: Empty

1-99: Media index

The media to play on side A.
10 Media B index

0: Empty

1-99: Media index

The media to play on side B.
11 Media mixing position (MSB/coarse)

0-65535

0: media A fully active

65535: media B fully active

Controls the position of the mixing effect, from A to B.
12 Media mixing position (LSB/fine)
13 Mixing position modifier

0: No function

1-255: Various mapping functions

Spices up the mixing position by applying a function like bounce, sigmoid and exponential. See the list of functions in LJLM.
14 Mixing effect

0: no effect

1: crossfade

2: black fade

3: white fade

4-255: Various effects

Determines the effect to be applied when mixing the A and B sides. From simple crossfade to complex effects including rotations, scaling and translations. See the list of effects in LJLM. When not needed, select the ‘no effect’ to avoid wasting CPU.
15 Reserved (unused)

Extended2 Fixture Mode (23 channels per stage)

Channel Name Values Note
1 Remote control mode

0: Remote control deactivated

1-254: Reserved, don’t use

255: Remote control activated

Remote control activated only when receiving 255.
2-3 Intensity level 16-bit level Controls the media intensity of the stage.
4-9 Red, Green, Blue filters 16-bit RGB High precision color filter control.
10 Media A speed 0: paused, 25 = 1x, 255 ≈ 10x Playback speed for media A when applicable.
11 Media B speed 0: paused, 25 = 1x, 255 ≈ 10x Playback speed for media B when applicable.
12 Transition duration 0: no transition, 1-255 up to 20 seconds Used when the AUTO media index takes over the A-B sides.
13-14 Media AUTO index 0: use media A-B index When not 0, plays a media and automatically controls the A-B sides for you.
15-16 Media A index 16-bit media index Selects the media on side A.
17-18 Media B index 16-bit media index Selects the media on side B.
19-20 A-B media mixing position 0-65535 Controls the mix position from media A to media B.
21 Mixing position modifier Indexed mapping functions Maps the mixing position to functions such as bounce or sigmoid.
22 Mixing effect Indexed list of effects Selects the media mixing effect.
23 Merge mode Indexed list of merge modes Changes the merge mode of the stage.

Group (12 channels per group)

Channel Name Values Note
1 Group active and remote control enabled

0-245: Remote control deactivated

246-250: Group inactive

251-255: Group active

Controls the group active switch. When remote control is deactivated, the scheduler can take over. Deactivating the group deactivates all stages in the group.
2 Intensity level (MSB/coarse) 0-65535: Level Multiplies the intensity of all stages in the group. 0 does a blackout without deactivating the stages (they continue playing).
3 Intensity level (LSB/fine)
4 Red filter 0-255 Filters the color output.
5 Green filter 0-255 Filters the color output.
6 Blue filter 0-255 Filters the color output.
7 Speed

0: Paused

1-255: Speed up to 10x. 25 = 1x

Multiplies the speed of all stages of the group.
8 Sequence number

0: Stop

1-255: Sequence number

0 stops the playback but doesn’t blackout the stages as long as the group is active.
9 Step number

0: Auto

1-255: Step number

0 automatically plays all the steps using the programmed duration of each step. For step numbers, it wraps around the number of steps automatically. So if the sequence has 4 steps and you specify step 5, then step 1 will play. This is to avoid needing to know the exact number of steps.
10 Transition time overridden

0-250: no

251-255: overridden

Whether the transition time between steps and sequences is using the programmed time or the time of channel 11.
11 Transition time

0: No transition

1-255: Duration up to 20 seconds. 12 = 1s.

The time of the transition between steps and sequences.
12 Strobe

0: off

1-255: strobe on, slow-fast

Strobes the intensity of the group.

CITP/MSEX

Activate this option to enable LJLM to communicate with other CITP/MSEX compatible consoles and software. CITP/MSEX version 1.0, 1.1 and 1.2 are available. The things LJLM can do are:

  • Send the media thumbnails to your console

  • Stream the LED preview of every stage to your console or visualizer

  • Send the stage statuses, including the current playing media

OSC

Settings for remotely controlling LJLM via OSC (Open Sound Control) over the network. LJLM listens for incoming OSC on all network adapters.

Stage addresses
Address Description
/ljlm/stages/{stage name}/live/intensity 0..1
/ljlm/stages/{stage name}/live/rgb or /r, /g, /b 0..1, 0..1, 0..1
/ljlm/stages/{stage name}/live/media 0..999
/ljlm/stages/{stage name}/live/speed 0..10
/ljlm/stages/{stage name}/live/transitionFx 0..43
/ljlm/stages/{stage name}/live/transitionDuration 0..9999 seconds
/ljlm/stages/{stage name}/live/audioMixControlled {0: no, 1: yes}
/ljlm/stages/{stage name}/live/remotelyControlled {0: no, 1: yes}
/ljlm/stages/{stage name}/live/mix/position 0..1
/ljlm/stages/{stage name}/live/mix/A/media 0..999
/ljlm/stages/{stage name}/live/mix/A/speed 0..10
/ljlm/stages/{stage name}/live/mix/B/media 0..999
/ljlm/stages/{stage name}/live/mix/B/speed 0..10
/ljlm/stages/{stage name}/merge 1..12 or merge mode name
Group addresses
Address Description
/ljlm/groups/{group name}/performer/active {0: no, 1: yes}
/ljlm/groups/{group name}/performer/paramTransitionDuration 0..9999 seconds
/ljlm/groups/{group name}/performer/intensity 0..1
/ljlm/groups/{group name}/performer/blackout {0: no, 1: yes}
/ljlm/groups/{group name}/performer/bumpingIntensity {0: no, 1: yes}
/ljlm/groups/{group name}/performer/strobing {0: no, 1: yes}
/ljlm/groups/{group name}/performer/strobeOnDuration 0..1 seconds
/ljlm/groups/{group name}/performer/rgb or /r, /g, /b 0..1, 0..1, 0..1
/ljlm/groups/{group name}/performer/speed 0..10
/ljlm/groups/{group name}/performer/freeze {0: no, 1: yes}
/ljlm/groups/{group name}/performer/bumpingSpeed {0: no, 1: yes}
/ljlm/groups/{group name}/performer/tempoBPM 0..300
/ljlm/groups/{group name}/performer/tap Press the tap tempo button.
/ljlm/groups/{group name}/performer/cleartempo Deactivate the tap tempo.
/ljlm/groups/{group name}/performer/tempoDivider 1..128
/ljlm/groups/{group name}/performer/autoGo {0: no, 1: yes}
/ljlm/groups/{group name}/performer/playMode {0: loop, 1: row, 2: column, ...}
/ljlm/groups/{group name}/performer/play sequenceId, [stepId]
/ljlm/groups/{group name}/performer/go Play the next step.
/ljlm/groups/{group name}/performer/back Play the previous step.
/ljlm/groups/{group name}/sequences/{sequenceId}/schedule/enabled {0: no, 1: yes}
Media and settings addresses
Address Description
/ljlm/media/slots/{slotId}/parameters/{name} Range as in the live panel.
/ljlm/media/slots/{slotId}/parameters/{name}/normalized 0..1
/ljlm/settings/masterIntensity 0..1
/ljlm/settings/masterSpeed 0..2
/ljlm/settings/dmxOutputActive {0: no, 1: yes}
/ljlm/settings/schedulerActive {0: no, 1: yes}

Addresses and names are case-insensitive.

Media index 0 is an empty slot.

RGB values can be sent as a single /rgb message or separately through /r, /g and /b.

audioMixControlled controls the audio mix activation.

remotelyControlled determines whether OSC overrides the scheduler.

Use * as a wildcard in the stage name to target multiple stages at once.

HTTP

Settings for remotely controlling LJLM via HTTP, which is a protocol based on TCP/IP. This is the most reliable way to integrate LJLM with control systems like Crestron and Pharos or to create custom web interfaces. LJLM listens for incoming HTTP requests on all network adapters.

General endpoints
Request Description
GET /ljlm/status Returns the status of all sub-systems, like in the Settings > Project page.
GET /ljlm/heartbeat Returns 200 OK if the server is running.
GET /ljlm/settings Returns global settings such as master intensity, master speed and scheduler state.
POST /ljlm/settings Sets global settings such as masterIntensity 0..1, masterSpeed 0..2, and similar values.
Stage endpoints
Request Description
GET /ljlm/stages Returns the list of stages. Use includeState 0 for names only or 1 for ids and additional info.
GET /ljlm/stages/{stage name or id} Returns the state of a stage with its id, merge mode and other info.
POST /ljlm/stages/{stage name or id} Updates stage-level properties such as merge {name}.
GET /ljlm/stages/{stage name or id}/live Returns the live state of the requested stage.
POST /ljlm/stages/{stage name or id}/live Controls the stage live parameters: intensity 0..1, media 0..999, speed 0..10, transitionFx {name}, transitionDuration 0..9999, red 0..255, green 0..255, blue 0..255, audioMixControlled 0 or 1, and remotelyControlled 0 or 1.
POST /ljlm/stages/{stage name or id}/live/dvi Shows or hides existing DVI windows with visible 0 or 1.
GET /ljlm/stages/{stage name or id}/patch Returns the list of all patched strips for that stage.
GET /ljlm/stages/{stage name or id}/monitor Returns an MJPEG stream of the LED preview. Parameters: width, height, fps.
GET /ljlm/stages/transitionFxNames Returns the list of valid transition effect names.
GET /ljlm/stages/mergeNames Returns the list of valid merge mode names.
Group endpoints
Request Description
GET /ljlm/groups Returns the list of groups.
GET /ljlm/groups/{group name or id}/stages Returns the list of stages in the group.
GET /ljlm/groups/{group name or id}/sequences Returns the list of sequences in the group.
GET /ljlm/groups/{group name or id}/sequences/{sequenceId} Returns information about the sequence.
POST /ljlm/groups/{group name or id}/sequences/{sequenceId}/schedule Enables or disables the schedule with enabled 0 or 1.
GET /ljlm/groups/{group name or id}/performer Returns the full state of the performer.
POST /ljlm/groups/{group name or id}/performer Sets performer values. Any returned performer parameter can be set except computed parameters.
POST /ljlm/groups/{group name or id}/performer/go Plays the next step in the sequence.
POST /ljlm/groups/{group name or id}/performer/back Plays the previous step in the sequence.
POST /ljlm/groups/{group name or id}/performer/tap Presses the tap tempo button.
Media endpoints
Request Description
GET /ljlm/media/slots Returns the list of filled media slot ids. Use includeState 0 for ids only or 1 for full slot states.
GET /ljlm/media/slots/{id} Returns the state of a media slot.
GET /ljlm/media/slots/{id}/thumbnail Returns the thumbnail as a PNG. Parameters: width, height.
GET /ljlm/media/slots/{id}/monitor Returns an MJPEG stream of the media. Parameters: width, height, fps.
POST /ljlm/media/slots/{id} Loads media into the slot. Parameters: path for an existing local file, or multipart form file upload for a new media file.
GET /ljlm/media/slots/{id}/parameters Returns the list of all parameters of the media.
POST /ljlm/media/slots/{id}/parameters/{name} Changes a parameter value using value in the same range as in the live panel.
POST /ljlm/media/slots/{id}/parameters/text Changes the text of a text media using the value parameter.

For example, to start sequence 1 of the group background:

POST /ljlm/groups/background/performer?active=1&sequenceId=1

To get the performer state of the group background:

GET /ljlm/groups/background/performer

All data is returned in JSON.

Use the returned HTTP status code for error handling.

Addresses and names are case-insensitive.

Parameters can be provided in the query string or form data.

Media id 0 is an empty slot.

Use * as a wildcard in the stage name to target multiple stages at once for POST requests.

The base URL to access the API is: http://YOUR-COMPUTER-NAME:port/ljlm. If you prefer, you can replace the computer name by its IP address or localhost if the server is running on the same computer. The port can be omitted if it is 80, which is the default for HTTP.

You can restrict the access to the API by activating the Basic Auth feature. For more details see https://en.wikipedia.org/wiki/Basic_access_authentication.

How-to Guides

This section gives you practical step-by-step workflows for the most common LJLM tasks. Follow them in order when you are learning the software or when you want a reliable checklist during setup.

How to create a first mapped stage from scratch

This how-to takes you from an empty project to a first working stage with visible output.

What you will achieve

Create a stage, patch strips or fixtures, place them on the mapping surface, load media, and verify that the stage outputs correctly.

Before you start

Make sure your LED controller or fixture is powered, connected, and configured for the same protocol you will use in LJLM. If possible, know the expected universe, address range, pixel type, and wiring direction in advance.
  1. Create or open a project. Go to Settings > Project and save the project early so media paths and backups are easier to manage.

  2. Create a stage from the Home Screen or the Stages Manager. Give it a clear name based on the real installation area, then choose a width and height matching the aspect ratio of the media you expect to play.

  3. If you already have a reference image of the installation, set it as the stage background. This makes strip placement much easier and helps keep the mapping aligned with the physical installation.

  4. Open the Add Strips Dialog. Enter the number of strips or fixtures, the number of LEDs per strip, and the correct LED type. Choose the appropriate DMX protocol such as Art-Net, sACN or KiNet.

  5. Set the starting universe and starting address. If you are creating an array or other regular shape, make sure the patching direction matches the real wiring direction of the installation.

  6. Place the strips on the stage. Use the edit zone to move, resize, rotate, and align them until the stage visually matches the real layout. Use the grid and snapping features if you need more precision.

  7. Go to the Testing Tab and activate a test pattern. Move the testing rectangle over the stage to confirm that LEDs light up where you expect.

  8. Open the Media Library and load a media item such as a built-in effect, image or video. Built-in effects are recommended for a first test because they work immediately and do not depend on external files.

  9. Go to Live Mode. Select the media for the stage, raise the stage intensity, and make sure the stage is active. If the stage output is black, check the color filter and make sure intensity is not at 0.

  10. Open the stage monitor if needed. This lets you verify whether the mapping itself is correct even before checking the real fixtures.

What to check if it does not work

  • The stage must be active and its intensity must be above 0.

  • The DMX output must be enabled under Settings > Project.

  • The selected network adapter must match the physical network used by the controller.

  • The controller must be configured for the same protocol as the strips in LJLM.

  • The universes and addresses in LJLM must match the controller configuration.

  • If the stage monitor looks correct but the fixtures do not react, the issue is usually in the patch, controller, network, or fixture configuration.

For a first LJLM test, use one simple stage, a built-in effect from the Media Library, and the Testing Tab. This lets you confirm the mapping and the output before you start building extra stages, sequences, or layered looks.

Related sections: Home Screen, New Stage Dialog, Add Strips Dialog, Testing Tab, Media Library, Live Mode, Project, Art-Net, sACN, KiNet.

How to patch an LED strip or matrix correctly

This how-to helps you match the software patch to the real wiring of your strips or fixtures so the visual content flows in the right order.

What you will achieve

Patch one strip, multiple strips, or a matrix so every LED receives the correct DMX channels in the correct order.

Before you start

Know the pixel type, the number of LEDs per strip, the controller protocol, and how the strips are physically wired. For matrices, know whether the wiring snakes from row to row or column to column.
  1. Open the Add Strips Dialog. Enter the number of strips or fixtures and the correct LED count per strip. If you are patching a matrix, use multiple strips arranged as lines.

  2. Select the correct LED type. This must match the real fixture channel order and feature set, for example RGB, RGBW, RGBA, White, WWA, or a 16-bit variant when needed.

  3. Select the correct DMX protocol. Use the same protocol that the controller is expecting: Art-Net, sACN or KiNet. If you are not ready to output yet, you can temporarily leave strips unpatched and patch later.

  4. Set the starting universe and starting address. LJLM will continue patching from there. If you need gaps between LEDs or fixtures, use the LED address offset.

  5. For arrays and repeated layouts, choose the correct patching direction. This is critical. The patching direction tells LJLM how to number the LEDs so the content follows the same path as the physical wiring.

  6. If the installation is a snake-wired matrix, choose the patching direction that matches the alternating wiring of the rows or columns. This avoids manually reversing every other strip later.

  7. If the controller requires universes to break before they are full, set Break universe after accordingly. Otherwise, leave it at the default behavior so LJLM fills the universe naturally.

  8. After patching, go to the Testing Tab. Use a small testing rectangle and move it slowly across the stage. Watch the real LEDs to confirm that the lit LEDs move in the same direction as the rectangle.

  9. If the content direction is wrong, correct the strip orientation. Depending on the situation, you may need to reverse the LEDs, flip the geometry, or choose a different patching direction.

  10. If the order is correct but specific strips appear out of sequence, review the universe and address ranges of those strips in the Strip List or Edit Strips Dialog.

How to verify a matrix quickly

  • Test left-to-right movement.

  • Test top-to-bottom movement.

  • Use Test 1st LEDs only to identify where each strip starts.

  • If using snake wiring, use strip selection tools such as select odd or even strips when you need to adjust alternating rows.

What to check if it does not work

  • The controller may be configured for the wrong LED protocol even if the DMX patch is correct.

  • The strips may be using the wrong universe or address range.

  • The patching direction may be reversed.

  • The LED count per strip may be wrong.

  • The controller may expect another port, universe numbering mode, or fixture personality.

LJLM is designed to patch many strips quickly, especially arrays and matrices. After the bulk patch is created, use the Testing Tab, Test 1st LEDs only, and the Strip List selection tools to verify that the patching direction and the strip order are correct.

Related sections: Add Strips Dialog, Edit Zone, Strip List, Edit Strips Dialog, Testing Tab, Art-Net, sACN, KiNet.

How to fix wrong colors, wrong pixel order, or wrong white behavior

This how-to is for installations where the output is active but the displayed colors are wrong, swapped, dim, or use the wrong white channel behavior.

What you will achieve

Identify whether the problem is caused by the pixel type, component order, white channel type, or fixture mode, and correct it cleanly.

Before you start

Make sure the LEDs are already patched and responding. This how-to assumes the LEDs light up, but the colors are not what you expect.
  1. Go to the Testing Tab and enable a test pattern. Set the test color to pure red.

  2. Observe the real fixture output. If the LEDs show green or blue instead of red, the pixel type or component order is wrong.

  3. Repeat the test with pure green and pure blue. Write down the actual observed order. For example, if red shows as blue, green shows as red, and blue shows as green, the strip behaves like a BRG or similar order rather than RGB.

  4. Open the Edit Strips Dialog for the affected strips and change the LED type to the correct component order.

  5. Test the three primary colors again. Continue until red, green and blue all display correctly.

  6. If you are working with fixtures that include a white or amber channel, verify that you selected the correct LED type family. For example, use RGBW for red, green, blue and white fixtures, RGBA for red, green, blue and amber fixtures, and WWA or related white types when multiple white channels are used.

  7. If the real fixture has separate white channels and the preview or output does not behave naturally, review the selected white-oriented LED type such as WhiteCool, WhiteNeutral, WhiteWarm or WWA. These types are designed to give a more accurate preview and channel behavior.

  8. If the fixture supports high precision colors and the transitions look coarse, consider enabling the 16-bit option or using a 16-bit compatible type where appropriate.

  9. If the colors are correct in LJLM’s monitor but wrong on the real fixture, check the controller configuration as well. Some LED controllers can be set to the wrong pixel protocol or color order independently from LJLM.

  10. Once the output is correct, save the project immediately so the working strip type and settings are preserved.

Common symptoms and likely causes

Red, green and blue are swapped

The LED type or component order is wrong.

White looks tinted or weak

The selected LED type does not match the real white channel configuration, or the fixture is not using the expected RGBW or white-channel behavior.

The stage monitor looks right but the fixture looks wrong

The controller configuration or fixture personality may not match the settings used in LJLM.

Color transitions look stepped

The fixture may need a 16-bit mode, or the selected type may not match the real precision of the output.

What to check if it still does not work

  • Confirm the controller is set to the correct physical LED protocol such as WS2811, WS2812 or another compatible protocol.

  • Confirm the fixture is not in another personality or color mode.

  • Confirm that the same strips were updated across all reused stages if the installation uses shared strips in multiple stages.

  • If only part of the installation is wrong, compare the strip settings of a working strip with a failing one in the Strip List and Edit Strips Dialog.

Use the Testing Tab to run pure red, green, blue, and white tests before troubleshooting media. In LJLM, wrong colors are usually fixed by selecting the proper LED type and component order in the strip dialogs, and by using the right white-oriented type when the fixture has dedicated white channels.

Related sections: Testing Tab, Add Strips Dialog, Pixel Types, Edit Strips Dialog, White Balance, Troubleshooting.

How to merge multiple stages to create more complex effects

This how-to shows how to layer three stages with different merge modes so you can build a richer result than any single stage could produce on its own.

What you will achieve

Build a layered look with three stages, assign different content to each one, choose different merge modes, and understand how LJLM computes the final visible result from top to bottom.

Before you start

Use stages that already contain the same physical strips or overlapping parts of the same installation. The whole point of merging is that multiple stages target the same LEDs so their pixel values combine according to the stage order and merge mode.
  1. Create or choose three stages that use the same mapped strips. Name them clearly, for example Background, Mask, and Highlight. Put them in a known order in the Stages Manager.

  2. Set the first stage, Background, to Overwrite merge mode. Load broad content on it, such as a full-screen video, a gradient, or a slow-moving built-in effect. This stage becomes the base image for the LEDs under everything else.

  3. Set the second stage, Mask, to Multiply merge mode. Load content that has useful brightness structure, such as stripes, soft blobs, or a black-and-white effect. In Multiply mode, darker values reduce the visibility of the stage under it, so this stage behaves like a video mask over the Background stage.

  4. Set the third stage, Highlight, to Screen merge mode. Load bright content such as sparkles, white flashes, or a high-contrast effect. Screen mode tends to brighten the result, so this stage is useful for adding glow, shine, and visual energy on top of the already merged stages below.

  5. Activate all three stages and assign media to each one in Live Mode. Make sure each stage intensity is above 0, otherwise that stage will not contribute to the merge.

  6. Verify the stage order in the Stages Manager. LJLM merges stages from top to bottom in that list. The result of the first stage is combined with the second stage using the second stage’s merge mode, then that intermediate result is combined with the third stage using the third stage’s merge mode.

  7. Observe the result and think of it in three passes:

    • Pass 1: the Background stage writes the initial image because it is set to Overwrite.

    • Pass 2: the Mask stage multiplies that image, so black areas hide the background, gray areas dim it, and white areas keep it visible.

    • Pass 3: the Highlight stage screens over the result, making bright parts even brighter and lifting the final image where the highlight content is active.

  8. Adjust the media choice and stage intensity of each stage to shape the final look. If the merged image becomes too dark, reduce the influence of the Multiply stage. If it becomes too washed out, reduce the Screen stage or use more selective highlight content.

  9. Try replacing one of the merge modes to understand the difference. For example, change the Highlight stage from Screen to Add for a more aggressive brightening effect, or change the Mask stage from Multiply to Overlay for a contrast-based interaction instead of a straightforward mask.

  10. Once the blend is useful, save the project and consider duplicating the setup for alternate looks. The same mapped strips can support many different layered visual strategies.

How the result is computed and what it means

Overwrite base stage

Use this when you want a predictable starting image. The first visible stage becomes your foundation layer.

Multiply stage

Use this when you want to darken, gate, or reveal the base layer according to another piece of content. It behaves like a mask or shading layer.

Screen stage

Use this when you want to brighten the result and add glow-like energy without fully replacing what is already underneath.

What to check if the merge does not behave as expected

  • The stages must overlap the same strips, otherwise there is nothing to merge on those LEDs.

  • The stage order in the Stages Manager matters. Reordering stages changes the final result.

  • A stage with intensity 0 or no active media becomes effectively transparent and will not influence the merge.

  • If a Multiply stage is too dark, most of the background may disappear. If a Screen or Add stage is too bright, detail may be lost.

  • If the result is confusing, test each stage alone first, then enable the next stage one by one.

In LJLM, stages are merged from top to bottom in the Stages Manager, and a stage only participates in the merge when it is activated. This makes it practical to keep one stage for the base content, one for shaping or masking, and one for highlights or accents.

Related sections: Stage Merging and Layering, Stages Manager, Live Mode, New Stage Dialog, Testing Tab.

How to create a playable show with sequences and schedules

This how-to gives you a concrete workflow for programming a small daily show that automatically starts, loops, and stops at the right time.

What you will achieve

Create one group, store several looks as cues, organize them into a playable sequence, and schedule that sequence so it starts and runs automatically.

Before you start

Make sure the mapped stages already work in Live Mode, the media slots are loaded, and the stages you want to use are already assigned meaningful names.
  1. Open Sequences and create a group, for example Main Show. Add the stages that should play together in this show. If one stage should also be used elsewhere, duplicate it first because a stage can belong to only one group.

  2. Go to Live Mode and build your first look. For example, set a background stage to a slow video, set a logo stage to a still image, and set a highlight stage to a built-in effect at low intensity.

  3. Open Edit sequences and make sure the correct group is selected. Store that first look as step 1 using Add. Immediately give the sequence a clear name such as Opening Loop.

  4. Return to Live Mode, change the stage configuration for the next look, and store that as step 2. Repeat until you have a small show, for example:

    • Step 1: calm opening look

    • Step 2: brighter full-installation moment

    • Step 3: logo emphasis or zone accent

    • Step 4: return to background loop

  5. Use Update whenever a stored step is close but not right yet. Use Insert when you need to add a cue between two existing steps without rebuilding the whole sequence. Use the store filter if only some stages should be captured in the step.

  6. Set or review the transition times between looks. Then test the sequence in the editor by selecting each step and confirming that the visual jump or fade feels right.

  7. Open the Perform panel. Trigger the sequence, use Go and Back, and confirm that an operator can run the show manually if needed.

  8. Now schedule the show. In the Schedule area for that sequence, set a start time, choose whether it is absolute or relative, set the duration, select the active days, and choose whether the sequence should loop during that scheduled window.

  9. Open Scheduler and make sure scheduler activity, location, and daylight behavior are correct. If the installation should only run at night, configure sunrise and sunset behavior now.

  10. Run a realistic test. Use the scheduler test helpers to simulate the target time, confirm that the group becomes active, the correct sequence starts, the loop behaves correctly, and the show stops when expected.

How this works for the end user

  • Live Mode is where you design each visual state.

  • Edit sequences is where you store those states as cues and organize them.

  • Perform panel is where an operator plays them manually.

  • Schedule and Scheduler are what make the same show run automatically without an operator.

What to check if the show does not play as expected

  • The group may be inactive in the Perform panel.

  • The scheduler may be temporarily disabled in Scheduler.

  • The stored step may not include the stage or parameter you expected because of the store filter settings.

  • The sequence may be correct, but the play mode may not be what you intended.

  • The wrong group may be selected when testing.

In LJLM, sequences are mainly a practical way to store looks as cues and recall them quickly. Build the looks in Live Mode, store them in Edit sequences, then use the Perform panel for manual recall or the optional Schedule features when the project needs automatic playback.

Related sections: Sequences, Edit sequences, Perform panel, Live Mode, Schedule, Scheduler.

How to build helper stages, zones, and alternate mappings

This how-to shows how to reuse one physical mapping to create zone stages, content-helper stages, and alternate layouts without repatching the installation from scratch.

What you will achieve

Start from one completed stage, then derive smaller or simpler stages that are easier to control, sequence, or use for content design.

Before you start

You should already have one main stage that contains the strips positioned roughly how they exist in the real installation.
  1. Create and verify the main overall stage first. This stage should represent the whole installation and should already be tested in Testing Tab.

  2. In the Strip List, select the strips that belong to one logical area, for example a logo, a doorway, a column group, or an outer border.

  3. Right-click and use New stages from strips. If you want one controllable zone, use the option that copies all selected strips into one new stage. If you want one stage per strip, use one of the one-stage-per-strip options.

  4. Choose the variant that matches your goal:

    • Use All strips in a new stage (copy) to create a real zone stage.

    • Use All strips on one line when you want a helper stage that makes content easier to create across the full LED count.

    • Use Each strip on a new line when you want matrix-like content preparation.

    • Use Each strip collapsed on a new point when you want to control each strip as if it were one pixel. This is very useful when each physical strip should behave like one grouped fixture rather than display detailed content along its full length.

    • Use keep positions when the new stage should preserve the spatial layout of the original stage.

  5. Rename the new stages immediately so their purpose is clear, for example Logo Zone, Facade Helper Lines, or Border Mapping.

  6. Open the new stage and inspect the geometry. Helper stages often benefit from a simpler arrangement than the real installation, while zone stages usually need to preserve the real layout.

  7. Test the new stage in Live Mode with simple media. Confirm that it controls the intended LEDs and that the mapping style matches your creative goal.

  8. Repeat the process for every important area of the installation. Over time you can build a small library of practical stages from the same physical strips.

Why this is valuable

  • Zone stages let you target specific physical areas quickly.

  • Helper stages make content creation easier than working on a complex real-world shape.

  • Collapsed-point stages let you treat each strip like one controllable grouped pixel, which is ideal for large installations where strip-level motion matters more than per-LED detail.

  • Alternate stages let the same installation behave differently for different moments of the show.

The New stages from strips commands are one of the most useful ways to reuse a mapping in LJLM. A copied zone stage, a one-line helper stage, or an Each strip collapsed on a new point stage can all target the same physical strips in different and very practical ways.

Related sections: Strip List, New stages from strips, Edit Zone, Stage Merging and Layering, Live Mode.

How to perform live with media, transitions, and audio-reactive mix

This how-to explains a practical operator workflow for using LJLM live during an event instead of only as a scheduled playback system.

What you will achieve

Use media A/B banks, transitions, stage intensity, color filtering, and audio-reactive mix to perform a show in real time.

Before you start

Load enough media into the Media Library before the performance. Put the most important media in predictable slot positions and confirm that the mapped stages are already working.
  1. Open Live Mode and choose the stage or stages you will control.

  2. Use the A and B media banks to preload two candidate looks. Keep one side as the current live look and use the other side to prepare the next look.

  3. Use the A-B fader for manual blends when you want full control over timing. Use Execute when you want LJLM to automatically run a transition from the more active side to the prepared side.

  4. Choose the transition effect and duration based on the moment. Use simple crossfades for clean scene changes and more stylized transition effects only when they support the content instead of distracting from it.

  5. Use stage intensity to bring zones in and out without changing the selected media. This is especially useful when you want a zone to fade up over an existing background stage.

  6. Use the color wheel as a live color filter when the media itself is neutral enough to support recoloring. Black-and-white content often gives the most flexible results here.

  7. Use stage speed carefully. Some effects and videos become much stronger when sped up slightly, but many become unreadable if pushed too far.

  8. If the event is music-driven, enable audio-reactive mix and select the correct audio input. Test it before the show so you know how strongly it reacts and whether it suits the current media.

  9. Keep a safe fallback look prepared in one media bank. When the performance gets busy, a known fallback lets you recover immediately.

  10. If you are also using sequences, treat them as prepared moments and Live Mode as your override layer for live intervention.

Operator tips

  • Prepare media on the inactive side before transitioning.

  • Use intensity and color before changing content if you only need a subtle variation.

  • Reserve the most aggressive transition effects for occasional emphasis.

  • Keep one calm, reliable look ready at all times.

In LJLM live operation, it is usually cleaner to prepare the next look on the inactive A/B side, then transition with the fader or Execute. This works especially well when you combine prepared media slots with stage intensity, color filtering, and the audio reactive mix.

Related sections: Live Mode, Media Library, Perform panel, Stage Merging and Layering, Audio.

How to troubleshoot when the lights do nothing

This how-to gives you a strict troubleshooting order for the most stressful situation: the project seems fine, but the fixtures stay dark.

What you will achieve

Quickly determine whether the problem is in the stage state, patch, controller, protocol, network, or fixture setup.

Before you start

Do not change many things at once. Work from the simplest checks to the more technical ones so you always know which change fixed the problem.
  1. Check the obvious first in Live Mode: the stage must be active, intensity must be above 0, and a media item must actually be selected.

  2. Open the stage monitor. If the stage monitor is black, the problem is inside LJLM configuration or media selection. If the stage monitor looks correct, the problem is more likely in the output, controller, or fixture chain.

  3. Go to Project and verify that DMX output is enabled.

  4. Go to the relevant protocol section such as Art-Net, sACN, or KiNet and confirm the correct network adapter is selected.

  5. Verify the controller is configured for the same protocol and expected universe numbering as LJLM.

  6. Use the Testing Tab and generate a simple bright test. This removes media complexity from the problem and tells you whether raw output is reaching the LEDs.

  7. Check the strip patch. Open the Strip List or Edit Strips Dialog and verify protocol, universe, address, and pixel type for the affected strips.

  8. If available for your protocol, use locate or monitor tools under the protocol settings to confirm that LJLM is actually sending data.

  9. If LJLM is sending data but the fixtures still do nothing, verify the controller output ports, fixture mode, and LED protocol on the hardware side.

  10. Reduce the system to one strip, one universe, one simple test, and one controller output. Once one small path works, scale back up gradually.

Fast diagnosis rule

Monitor black

The issue is usually inside the project, stage state, or media selection.

Monitor correct, fixtures dark

The issue is usually output, patch, protocol, network, controller, or fixture configuration.

What to avoid

  • Do not change protocol, adapter, universe, and pixel type all at once.

  • Do not troubleshoot using a complex show file first. Start with one stage and one test pattern.

  • Do not assume the controller and LJLM use the same universe numbering convention unless you checked it.

When LJLM outputs nothing, use the simplest built-in checks first: confirm the stage in Live Mode, confirm the stage monitor, then use the Testing Tab and the protocol monitor or locate tools. This separates a stage or media problem from a patch, network, or controller problem very quickly.

Related sections: Testing Tab, Project, Art-Net, sACN, KiNet, Edit Strips Dialog, Troubleshooting.

Troubleshooting

Output - Art-Net/sACN/KiNet

Problem Possible causes Solutions
No Art-Net nodes detected in the scan nodes dialog.

The node IP address may be incorrectly configured. For example, the computer’s IP is 192.168.1.X and the node’s IP is 192.168.0.Y.

The wrong network adapter may be selected in LJLM.

The firewall is blocking LJLM.

Change the IP address of your computer or your node to be on the same network, that is most of the time, the 3 first numbers need to be the same. The subnet masks (netmask) also need to be the same. Usually, you want to use 255.255.255.0 as the subnet mask.

Go under the settings menu and make sure the proper network adapter is selected for each DMX protocol in Art-Net, sACN, or KiNet as appropriate.

Use the firewall button in LJLM.

Output lag/shuttering (working but with intermittent delays). The network is overloaded, most of the time due to the use of broadcasting. By default with Art-Net, all universes are broadcasted (sent to all connected devices on the network). Some routers and switches may have problems under heavy load. With sACN, multicast is used and may not be well supported by your routers and switches, resulting in broadcasts.

Enter your node IP addresses in the universe boxes to enable unicast sending. For Art-Net, click the scan nodes button and then the configure unicast button (see Art-Net)

This greatly reduces the work your router/switch has to do.

Alternatively, you can lower the LJLM’s output rate (see Project).

Another way to reduce the network load is to enable the optimize frames option.

Some lights wrongly stay on for half a second or so.

The most common cause is an unreliable network like a WIFI causing data packets to be discarded.

Missed DMX packets due to a too high output rate and the optimize frames option being ON.

Disable the optimize frames option for Art-Net or sACN. LJLM will continuously send data even when there’s no change. You may need to reduce the output rate to avoid network overload.

When the optimize frames is ON, LJLM doesn’t send DMX unless there’s a change. So if your LED controller or fixture discards a packet because it’s overloaded, visual artifacts will be visible. Try deactivating the optimize frames option or reducing the LJLM’s output rate.

The lights do nothing.

The nodes may not be properly configured or not plugged.

The strips may be configured to use the wrong universes and/or addresses.

The firewall may be blocking LJLM.

Test the nodes with the configuration utility from the manufacturer. Check the IP address configuration as described above.

Check the universes and addresses of your strips. You can use an Art-Net sniffer like the Artnetominator or Wireshark to see what LJLM is sending.

Disable your firewall. Use the locate universe feature in LJLM to force sending all channels at full.

The lights flicker.

The most common cause of flickers when using LED strips is that the wrong LED type or protocol has been configured in the LED controller. For example, selecting TM1803 instead of WS2811.

Maybe some LEDs don’t have enough power. It can cause flickers at the end of the strips.

This may also be caused by using video content with little noise in it due to compression (may not be problematic when displayed on a screen but it becomes apparent on LEDs).

Some older LED fixtures may not work well when using the Art-Net optimize frames option.

Start your LED controller configuration utility and check the configured LED type. Try different types if you’re unsure.

Enable the testing mode (see Testing Tab) and select a low brightness color. This will cause the LEDs to use less power. If the flickers go away, then the problem is due to not having enough power going to the LEDs. You’ll need to inject more power.

The testing mode generates a pure color, so if this isn’t a power problem and a full white test color doesn’t cause flickers, that means the video content is probably the problem.

Disable the optimize frames option (see Art-Net).

General

Problem Possible causes Solutions
LJLM isn’t starting and saying a dll is missing. Probably the Visual Studio 2015 run-time component is missing. Download and install the Visual C++ Redistributable for Visual Studio 2015 https://www.microsoft.com/en-ca/download/details.aspx?id=48145
Very high CPU usage.

The computer can’t handle your videos.

You are looking at a stage and the computer is having a hard time drawing pretty graphics.

The output rate is too high.

Reduce the resolution of your videos by using the transcode button (see

Video Files). Transcoding can convert to an easier to decode format which may also save CPU.

If you’re using live video capture, try reducing the capture resolution.

If the computer is already overloaded, try not to unnecessarily leave LJLM on a graphic heavy screen. Minimize the LJLM window or go in the Settings > Project tab. Also make sure to close all monitor windows.

Alternatively, you can lower the LJLM’s output rate (see Project).

When moving my project to another computer, the media are missing. The LJLM project file doesn’t contain the media and the stage’s background images. You need to move the media to the other computer and put them at the same place relatively to the project file. A good practice is to create a media folder next to your project file. Alternatively, use the consolidate feature of the media library.
I see a blank screen when using a remote desktop app like LogMeIn or VNC. The LJLM user interface uses hardware acceleration (DirectX and OpenGL). Some remote desktop app doesn’t support it or need special configuration. You may need to configure your remote desktop app to support hardware acceleration. Alternatively, TeamViewer works well with LJLM.
The eye candy effects aren’t working on Mac under Parallels. LJLM needs OpenGL 3.3 and Parallels only supports OpenGL 3.2. Use Bootcamp instead of Parallels.

EULA

This End-User License Agreement (EULA) is a legal agreement between you (either an individual or a single entity) and the mentioned author and copyright holder (Lightjams inc.) of this Software for the software product identified above, which includes computer software and may include associated media, printed materials, and “online” or electronic documentation (“SOFTWARE PRODUCT”).

By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bounded by the terms of this EULA.

If you do not agree to the terms of this EULA, do not install or use the SOFTWARE PRODUCT.

SOFTWARE PRODUCT LICENSE

1. GRANT OF LICENSE. This EULA grants you the following rights: Installation and Use. Each license is registered to one person and covers the use of the SOFTWARE PRODUCT on one or multiple computers depending on the license type, so long as multiple computers are not used at the same time. The license is locked to the computer’s CPU and motherboard.

2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.

Limitations exist on Reverse Engineering, Decompilation, Disassembly and changing (adding,deleting or modifying) the resources in the compiled assembly of the SOFTWARE PRODUCT. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

Updates and Maintenance

LJLM updates are FREE of charge.

Separation of Components.

The SOFTWARE PRODUCT is licensed as a single product. Its component parts may not be separated for use on more than one computer.

Software Transfer.

You may not rent, lease or sublicense the SOFTWARE PRODUCT on a temporary or permanent basis.

Termination.

Without prejudice to any other rights, the Author of this Software may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.

3. COPYRIGHT.

All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, clipart, libraries, and examples incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by the Author of this Software (Lightjams inc). The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material.

LIMITED WARRANTY

NO WARRANTIES.

The Author of this Software expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation is provided “as is” without warranty of any kind, either express or implied, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, or noninfringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.

NO LIABILITY FOR DAMAGES.

In no event shall the author of this Software be liable for any special, consequential, incidental or indirect damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if the Author of this Software is aware of the possibility of such damages and known defects.