Skip to main content

Documentation

ELM — User Manual

Product SKU
70581
Doc ID
70581
Updated
June 2026
67 min read

The ultimate, intuitive LED pixel mapping software solution. Map video content onto LED fixtures of any shape, with output up to 8192 DMX universes via Art-Net, sACN and KiNet.

Get started

ELM is all about displaying your video content on LED fixtures of any shape, in the most convenient way.

Key features

  • 3D and 2D vector-based editor
  • 8192 DMX universes
  • Art-Net, sACN, KiNet output protocols
  • Scheduled sequences
  • Control via DMX, OSC, OS2L, MIDI and HTTP
  • CITP/MSEX for consoles and visualizers
  • HD video + audio playback
  • Spout + NDI integrations for live video inputs
  • Stream LED previews to visualizers via NDI
  • DVI outputs for projectors, TVs and Martin P3 system
  • Over 100 high quality animations included
  • Audio-reactive effects
  • RGB, RGBW, RGBA, RGBAW colour support
  • Multiple whites support and WWA
  • 16-bit colour support
  • DXF and CSV import
  • Extreme robustness for permanent installations

Computer requirements

ELM is compatible with Windows 7 and up, including Windows 8, 10 and 11. The .Net 4.8 framework is required and you'll be prompted to install it if needed.

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

Recommended

  • 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. Playing multiple HD videos requires a good computer. A rule of thumb is you can play one full HD video at 30 fps 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 table below shows the approximate number of videos you can play simultaneously at 30 fps depending on your CPU.

CPU Speed × CoresFull HD VideosHD Videos640×360 Videos
2 GHz × 22410
3 GHz × 23615
4 GHz × 24920
2 GHz × 44920
3 GHz × 461330
4 GHz × 4818> 40
3 GHz × 81022> 40

For live video performances where you want to change playback speed up to 10x, the recommended video resolution is 640×360.

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 continuous use of the effects without overheating. Usually, an integrated video card can render two eye candy effects. For more effects, you need a discrete video card.

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

Licenses

The ELM licensing system has been built with reliability and simplicity in mind. Once a computer has been activated, it will be able to run ELM until it dies, with 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 ELM 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 ELM 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, and so on).

The license is linked to your computer's CPU and motherboard. You can upgrade any other components and reinstall the OS without invalidating your license.

A license isn't transferrable. Once your computer stops working, you can only activate ELM on another computer if you still have activations left. Use this online form to activate a computer: enttec.com/my-account/license-registration.

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

Software updates

You always have access to the latest and greatest version, free of charge. To get updates, go to the Settings/About menu and press the Check for updates button. Alternatively, download the latest version from the ELM product page on enttec.com.

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. 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. Refers to an output rate for video or DMX.
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 kinds of shapes. ELM 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.
NDI (Network Device Interface)
Protocol to stream live videos over the network. Developed by NewTek.
OSC (Open Sound Control)
Network protocol allowing multimedia apps to communicate. ELM can be remotely controlled via OSC.
RGB, RGBW, RGBA, RGBWA
Various colour 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.
Stage
A mapping surface defining the position of the media placeholder and the position of lighting fixtures.

Setup

How ELM connects to your LED fixtures, and a high-level overview of the stages concept.

Getting started with LED strips

ELM can control any DMX-enabled lighting fixtures, not only LED strips. This is made possible because ELM outputs industry standard protocols like Art-Net, sACN and KiNet. ELM can therefore control traditional DMX dimmers and any RGB, RGBW, RGBA and RGBAW lighting fixtures, as well as complex fixtures like moving heads.

Controlling LED strips is a little bit different from traditional DMX fixtures. The main difference is that you need to use LED controllers to drive your strips. They replace the Art-Net nodes you use for traditional DMX fixtures. The LED controller receives DMX via Art-Net/sACN and converts it to the special protocol the LEDs understand.

ELM system setup diagram showing computer, network switch, LED controllers, projector and DMX node
System setup. ELM outputs Art-Net/sACN to LED controllers and Art-Net nodes via a network switch, and video via DVI/HDMI to projectors or TVs.

The next step is to get LED strips and DMX fixtures. Since there are many LED protocols out there, you need to make sure your LED controller fits with your LEDs. Common protocols for RGB LEDs are WS2811 and WS2812/B. For more information about getting compatible LEDs, contact your ENTTEC representative.

Here are examples of ENTTEC Pixelator products that can be used to control LED tapes:

ENTTEC Pixelator LED controller
ENTTEC Pixelator LED controller, receives Art-Net/sACN and drives LED strips.
ENTTEC Pixelator Mini LED controller
ENTTEC Pixelator Mini LED controller.
ENTTEC LED controller
ENTTEC LED controller for addressable strips.

Quick overview

ELM 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 activate these zones whenever you want. For example, you can play a video on the overall stage (which acts as the background layer), and when there's a special event, activate the logo zone and make it flash.

ELM quick overview showing multiple stages mapped across an LED installation
Quick overview. Multiple stages mapped across an LED installation, showing how media layers combine.
ELM stage strip overview
Stage strip overview. LED strips positioned on the mapping surface.

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

Application tour

A guided tour of every screen and control in ELM.

Home screen

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

ELM home screen showing New Stage and Load Project buttons
Home screen. Start a new project or load an existing one.
New stage Creates your first stage and starts the mapping process.
Load project 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.
Media Goes to the media library.
Sequences Goes to the sequences panel to create sequences and control your show.
Live Goes to the live panel.
Settings 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 20×20 square LED array on it.

You can easily change the dimensions later, so don't worry. The minimum recommended size is 320×180. Smaller than this, 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 ELM scale your media.

ELM new stage dialog
New stage dialog. Set stage name, width and height.
NameThe name of your new stage. Usually refers to its physical location.
Width, HeightThe desired size in pixels for the mapping surface used to display media. This can be changed later without affecting the mapping.
Full HD, HD buttonsPresets for common media sizes. Full HD is 1920×1080, HD is 1280×720, Ultra HD is 3840×2160.
Pro tip: To help you position 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:

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.

ELM stages panel showing multiple stages
Stages. Create and switch between multiple mapping layers.
Pro tip: Different effects may demand different mapping layouts. One goal of the mapping is to ease content creation. Don't hesitate to create multiple stages with the same LED strips but positioned in different ways.

Status indicator

At the left of the stage's name, a small indicator tells you the current control mode and its status. The activated status means a media is selected and the stage's intensity is greater than 0%.

∙ StageManual control mode, stage deactivated.
● StageManual control mode, stage activated.
R StageRemote control mode, stage deactivated.
R Stage ●Remote control mode, stage activated.
S StageSchedule control mode, stage deactivated.
S Stage ●Schedule control mode, stage activated.
A StageThe audio reactive mix mode is active.
T StageThe testing mode is active.

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 colour 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.

Pro tip: 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 as shown in the Stages Manager. 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.

Merge modeBehaviour
OverwriteCompletely replaces the left stages. The right stage is fully opaque.
MultiplyMultiplies each pixel of the right stage with the corresponding pixel from the left stage. The right stage becomes a video mask.
ScreenThe 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.
OverlayCombines Multiply and Screen modes. The parts of the right stage where the left stage is light become lighter, and the parts where the left stage is dark become darker.
DarkenTakes the smallest colour component for each pixel.
LightenTakes the largest colour component for each pixel.
DifferenceSubtracts the left stage from the right stage (or the other way round) to always get a positive value.
AddAdds pixel values of one stage with the other.
SubtractSubtracts pixel values of the right stage from the left stage.
Black keyShows the pixels of the left stage only where the pixels of the right stage are black. In other words, black pixels are transparent.
IntensityCrossFadeThe stage's intensity determines its opacity level.
IntensityWhiteFadeThe 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.
Pro tip: 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.

ELM edit zone showing LED strips positioned on the mapping surface
Edit zone. Position LED strips on the mapping surface with start (green) and end (red) control points.
Select strips / Deselect all Click a strip to select. Hold to add to the selection. Hold to use a selection window and select all strips inside the rectangle. Press to select all strips and to deselect.
Move a control pointClick on a control point and drag it. Hold while dragging to align with the previous point.
Move selected stripsRight-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 +keyboard arrows.
Add a control pointRight-click on the stage (only one strip needs to be selected) or on a control point to use the context menu. Or double-click on the strip line to add a control point.
Delete a control pointRight-click on a control point and select the delete option, or select a control point and press .
Bundle / Unbundle strips / 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 stageClick on the stage background and drag.
Zoom in/out / / / +mousewheelUse the zoom control at the top. Zoom out when you want to offset the selected strips quickly. resets the zoom.
Show individual LED positionsWhen zoomed enough, the LEDs of the selected strips should be visible as blue dots. Put your mouse over to see the LED number and its DMX address.
Copy / Paste strips / Copy and paste the selected strips. You can paste the strips in a different stage.
Delete selected strips Use the shortcut or right-click in the strip list and select the delete menu item.
Undo / Redo / You can always use Undo and Redo while editing.
As a group (checkbox)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. It 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:

Strip list

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. Right-click in the list for more options. You can click the column headers to sort. Type text in the filter box to filter based on the group names.

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

Add strips dialog (patching)

Shortcut key:

Quickly patch your strips and lighting fixtures to create arrays and any shapes you can imagine. Multiple LED types (or colour types) are supported, including RGB, RGBW, RGBA, RGBAW/RGBWA and white (dimmers) in multiple configurable colour temperatures like WWA. Most colour component orders (GRB, BGR, and so on) are supported. For lighting fixtures supporting high precision colours, 16-bit colour 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.

ELM add strips dialog for patching LED fixtures
Add strips dialog. Patch LED strips and configure universe, address and pixel type.
Number of stripsThe number of LED strips/fixtures you want to patch.
LEDs per stripThe number of LEDs per strip. Enter 1 to create a unique fixture.
TypeAlso named pixel type. Corresponds to the colour component order (RGB, BGR, GRB, and so on) and the capability (white only, RGBW, and so on). Many LED strips have the colour components in a different order than red, green and blue. Usually, LED controllers have the option to reorder the colour components, but ELM can handle this for you.
ShapesSelect a predefined shape (lines, arches, circles, triangles, hexagons, and so on) to position your strips on the stage. For arrays, use lines. Remember that you can create any kind of shapes by adding control points later.
Patching directionFor LED arrays, specify the way your strips are wired to let ELM automatically assign the proper DMX addresses.
Group and sub-groupUse 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.
ColourOptional colour tag for your strips.
DMX protocolSelect the output method for DMX: Art-Net, sACN or KiNet. Select none to leave the strips un-patched for the moment and not output any DMX.
Start universeThe universe of the first strip to be patched.
Start addressThe 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 ELM's output with another console. For example, you can control moving heads by letting ELM handle the colours and a console handle the movement.
Break universe after (Advanced)Automatically start patching in the next universe when reaching this limit (number of strips or LEDs). Set to 0 to break only when the universe is full.
Pro tip: 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.
Pro tip: Want to control more complex DMX fixtures like moving heads? Let's say your moving head has 20 channels and the RGB channels start at 3. In ELM, patch it with a start address of 3 and a LED address offset of 20. ELM will send 0 for the unused channels, which allows merging the DMX data from ELM with the DMX data from a console. The console provides the values for pan, tilt and all other channels except the RGB.
Pro tip: Whites! You can get a more accurate preview by using the right type of white LED type. Use WhiteCool, WhiteNeutral, WhiteWarm and WWA. 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 TypeDetailRemark
RGB, RBG, BGR, BRG, GBR, GRBRed, green and blue.
RGBW, GRBWRed, green, blue and white.The white is automatically activated based on the saturation of the media colour. The less saturated the colour 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 colour.
RGBWmaxRGB + White, all at maximum.The white activation is calculated like for RGBW but the RGB LEDs aren't reduced proportionally. The result is that when a pure white colour is needed, all RGBW LEDs are activated. While it gives a maximum brightness, it also takes more power.
RGBARed, green, blue and amber.The amber LED is automatically activated the closer the media colour 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 colour.
RGBAW, RGBWARed, green, blue, amber and white.The white and amber LEDs are activated following the same recipe as for RGBW and RGBA.
WhiteWhite or one colour component only.The activation level is based on the perceived brightness of the media colour (using the luma calculation).
WhiteCoolWhite cool.Special type of cool white LED for a more accurate stage monitor preview. The activation is based on the blue level of the media colour.
WhiteNeutralWhite neutral.Special type of neutral white LED for a more accurate stage monitor preview. The activation is based on the green level of the media colour.
WhiteWarmWhite warm or amber.Special type of warm white LED for a more accurate stage monitor preview. The activation is based on the red level of the media colour.
WWAWhite cool, white neutral and white warm/amber.Three 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 colour, the neutral on the green and the warm on the red.
WAWWhite cool, white warm/amber and neutral white.See WWA.
AWWWhite warm/amber, neutral white and white cool.See WWA.
…16 (e.g. RGB16)High resolution 16-bit per colour component.All types ending with 16 are the 16-bit version of the LED type. For example, RGB16 takes 6 DMX channels (2 for red, 2 for green and 2 for blue). While it takes more channels, it gives smoother colour transitions and more headroom for colour corrections.
Pro tip: For the colour temperature settings to get a more accurate stage monitor preview, see White Balance.

Duplicate strips dialog

Shortcut key:

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

ELM duplicate strips dialog
Duplicate strips dialog. Copy strips with offset, rotate and universe transformations.
Number of duplicatesThe number of times you want to copy the selected strips.
Group and sub-groupUse these groups to help you quickly find your strips later. When creating multiple duplicates, the primary group will automatically be appended with a counter.
Universe offsetThe offset used to calculate the first DMX universe of the newly created strips.
Address offsetThe offset used to calculate the first DMX address of the newly created strips.
X offsetThe horizontal position offset applied to the newly created strips.
Y offsetThe vertical position offset applied to the newly created strips.
Rotate offsetThe rotation in degrees applied to the newly created strips.
Rotate center, offset X, offset YThe position where the rotation will occur and how to offset the rotation centre (for example, to leave a hole in the middle of the rotated strips).
Pro tip: When in the design phase of the lighting installation, keep the duplicate options in mind. They allow creating complex shapes by copying simple elements, which is a real time saver.
Pro tip: 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.
Pro tip: To copy strips to another stage, select your strips and use the copy () and paste () keyboard shortcuts. You can also right-click in the Strip List to see all options.

Edit strips dialog

Shortcut key:

Edit the selected strips and allow changing the patch.

ELM edit strips dialog
Edit strips dialog. Change patch settings for selected strips.
LEDs per stripThe number of LEDs per strip.
TypeThe pixel type. See Add Strips Dialog.
SegmentsDetermines whether it's straight lines or curves between the points. Curves are perfect to represent flexible strips.
Closed shapeDetermines whether you want a closed shape like a square or circle.
1st LED positionFor closed shapes, you can move the first LED around the shape to be exactly where the first LED is in reality.
Group — primary, secondaryUse 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.
StabilizerTakes the average of the media pixels around the LEDs to reduce large jumps. May be used like an Ambilight feature.
Levels Adjusts the intensity, temperature and tint to compensate for manufacturing and age differences.
DMX protocolSelect the output method for DMX. For example, Art-Net or sACN E1.31.
Start universeThe universe of the first strip to be patched.
Start addressThe address of the first strip to be patched.
LED address offsetSee Add Strips Dialog.
Break universe afterSee Add Strips Dialog.
Apply DMX changes to other stagesExecutes your DMX changes on the matching strips in other stages. It is handy when you have copied the same strips in multiple stages in order to keep them in sync.
Locate Locates each LED in the real world by going through a list.
Re-Patch Forces redoing the patch to make sure all selected strips are patched one after another.
Reverse LEDs Reverses LEDs without changing the shape. This is handy when the strip has been physically installed in the wrong direction.
Split Splits the strip in two and allows each part to be configured independently.
Join Joins all selected strips one after another to form only one strip.
Edit LED Pos Allows editing the position of each LED individually for precise control.

Offset / resize strips dialog

Shortcut key:

Precisely change the position and size of the selected strips.

ELM offset and resize strips dialog
Offset / resize strips dialog. Precisely position and scale selected strips.
XThe position of the left boundary of the rectangle. A value of 0 means the far left of the stage.
YThe position of the top boundary of the rectangle. A value of 0 means the top of the stage.
WidthThe horizontal length.
HeightThe vertical length.
Linked optionWhen checked, the initial aspect ratio is preserved when changing the width or height.
Equal strips spacingWhen checked, position all strips at equal distance from each other horizontally and vertically.
Pro tip: Right-click in a numeric box and move the mouse left/right to quickly change the value.

Stage tab

Shortcut key:

ELM stage tab showing size, preview opacity, background and grid settings
Stage tab. Configure stage size, preview, background image, grid and notes.
SizeThe mapping size of the stage. Change it with the resize button.
Preview opacityDetermines the visibility of the preview. You can disable the preview to save CPU by setting the opacity to 0.
Live accessControls how this stage appears in the live panel. You can hide it or make it read-only.
Background imageTo help you position the LED strips like in the real world, you can display an image on the background of the stage.
Offset, scale, flip and rotateAllows positioning the background image where you want.
OpacityDetermines the visibility level of the background image.
Sticky notesPuts notes anywhere on the stage to remember key points of the mapping and TODOs.
Snap strip points Snaps control points to help positioning.
Grid Configure the snap-to-grid feature by specifying the size of a cell in pixels. Use the offset X-Y to align the top-left cell with your design.
Monitor Opens a monitor window to help you see the final result of the mapping.
Pro tip: When editing and zoomed in very closely, if a media is playing in the preview, your computer may have a hard time. To help it, disable the preview by setting the preview opacity to 0%.

Monitor window

The monitor window lets you 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.

ELM monitor window showing LED rendering preview
Monitor window. Preview the mapping result for a single stage or all stages merged.
Pro tip: 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:

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

ELM testing tab with test pattern controls
Testing tab. Generate a moving test rectangle to verify strip patch order and colour component order.
Test patterns On/Off switchActivates the generation of test patterns.
ColourChanges the colour of the testing rectangle. Handy to test the colour component order of your strips.
Width, HeightChanges the size of the testing rectangle.
Test selected strips onlyIf checked, only the selected strips in the Strips Tab will be under test. The other strips will all be off.
Test 1st LEDs onlyOnly test the 1st LEDs of each strip to better see where each strip starts.
Locate LEDsLocates 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.
ConflictsAnalyzes 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.
Pro tip: 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 to the Strips Tab and click the Flip X button.
Pro tip: 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 colour 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…).
Pro tip: While the testing mode is active, the DMX is constantly being output 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.
Pro tip: 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:

Select multiple stages in the list to modify them all at once. The first stage of the list is the bottom media layer and the following stages can override any preceding stages. Drag and drop stages to reorder.

ELM stages manager showing stage list with merge mode and NDI options
Stages manager. Reorder stages, set merge modes, configure NDI and DVI outputs.
NameThe name of the stage. Select a stage to edit its name.
SizeThe size in pixels of a stage.
Merge modeSpecifies 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.
Test patternsActivates the testing mode and shows the test patterns.
NDI outputStreams the LED rendering via NDI to be used by 3D visualizers like WYSIWYG, Capture or Realizzer. This way you don't need to patch your LEDs in the visualizer and you get a very high quality and live LED rendering.
MonitorOpens a monitor window to help you see the final result of the mapping for this stage.
DVIOpens 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.
DuplicateCopies the stage to get a new media layer.
CopyCopies the strips of the stage to quickly update other stages.
Export LED position imageExports a PNG image showing the exact position of every LED. Useful for motion designers as they can use the snapshot as a content guide.
Export LEDs csvExports a CSV file containing the information about all LEDs.
NewCreates a new stage.
ResizeResizes all selected stages.
PastePastes the copied strips on the selected stages (replaces content). Useful when you use multiple stages as layers.
DeleteDeletes all selected stages.
Pro tip: You can use ELM 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 stage manager, click on the DVI button.

3D tools

Shortcut key:

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.

ELM 3D tools showing a 3D LED structure
3D tools. Build and preview 3D LED structures composed of multiple stage layers.
New 3DGenerates a 3D structure either by using the wizard or by selecting existing stages.
Home / Front / Top / Side / / / or . Moves the camera to predefined positions.
Stage listShows the stages for this 3D structure. Select a stage in the list to see it in the 3D view.
Reverse Reverse the order of the stages in the list.
3D monitor Shows the 3D monitor window for this 3D structure.
Select stages Add or remove stages for this 3D structure.
RenameRenames this 3D structure.
ResizeResizes the width, height and depth of the 3D structure.
DeleteDeletes this 3D structure.
Stack axisDetermines the direction for stacking stages.
ProjectionCreates a new 3D stage projection to be able to generate effects. The generated stages are views from different positions of the 3D structure, allowing easy generation of 3D content by using standard 2D media.

Media library

Shortcut key:

You can manage your media and see what's active. Up to 255 media items can be loaded.

ELM media library showing loaded media slots
Media library. Manage up to 255 media slots including videos, images, effects and live inputs.
Batch add Loads multiple video and picture files at once.
Insert At / Remove AtInserts or removes a slot and offsets other media accordingly.
Clear allResets the library.
ConsolidateCopies all files in the same directory to make it easy to move your project file to another computer.
TranscodeTranscodes multiple videos at once. Converts to a MPEG4 format that should play on all computers. Also adjusts contrast and brightness.
Play audioFor videos, plays the audio track if available.
Playback position indicatorFor videos, shows the position and allows seeking, which is handy for long videos to test specific parts.
ActionsDepending on the media, you can rename a file, replace the media and duplicate it.
MonitorOpens a window showing the images coming from a media source. Can also set a custom media thumbnail.
DeleteClears a media slot and allows selecting another media.
Swap items and reorderYou can swap items by using drag and drop.

Video files (with or without audio)

Most video formats are supported when the appropriate DirectShow video codecs are installed. By default, ELM 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.

Picture files

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

Effects

The built-in effects give you pixel-perfect and configurable visuals. There are 100+ effects available, each one configurable in multiple ways. Many effect parameters are controllable via the DMX remote.

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.

Screen capture

Capture any part of your screen and use it as media in ELM. 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 ELM generate a LED preview in real-time to assist your content creation. This avoids having to render your video before trying it in ELM.

Screen capture dominant colours

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

Texts

Generate scrolling text with various fonts.

Spout (v2.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.

Network Device Interface (NDI v6.0)

Receive live video streams via the network, as commonly used in professional live show productions. Easily connect ELM 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.

MJPEG streams

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 converting 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.

Pro tip: 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 get your videos, replace the built-in effects.
Pro tip: 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:

The sequences section allows you to create sequences and steps (cues) for your stages and launch the perform panel for live performances. First you create groups for your stages either based on the different zones of your installation and/or the different layers. A stage can only be in one group. You can duplicate a stage (see Stages Manager) if you want to put it in multiple groups or if you'd like multiple layers like a background and a foreground. This way, you'll be able to create sequences for the background group and other punchier sequences for the foreground group.

ELM sequences panel showing stage groups and sequence controls
Sequences panel. Create groups, build sequences, and launch the perform panel.
New groupCreates a new group of stages.
Stage number buttonSelect the stages that are part of the group.
DeleteDelete the selected groups.
Edit sequences Launches the edit sequence panel.
Perform Launches the perform panel for live performances.

Edit sequences

Go in the live panel 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 colour 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.

ELM edit sequences panel showing step grid and transition controls
Edit sequences panel. Build cue lists with steps, transitions and scheduling.

Overview section (upper part)

GroupThe current group of stages.
Store filter button (at the right)Allows selecting what to store in a step. For example, you can decide to not store the media parameters or store only a subset of the stages. When a stage isn't stored in a step, it will keep its current configuration when playing the step. That is handy when you want to set its configuration on step 1 and then keep it as is for all other steps. This way, you only need to update step 1 when you want to do a change.
Sequence and stepThe current sequence and step.
Sequence description boxThe name or description of the current sequence.
Sequence colour tagOptional colour tag for the sequence.
Add Stores the result as a new step at the end of the sequence.
Update Updates/replaces the current step with the result.
Insert Inserts the result after the current step.
Delete Deletes the current step.
Undo / Redo / Undo or redo the operations for the current group.
BlindAllows editing the steps without selecting them in the live panel. This is handy during a show to modify some parameters without disturbing the show.
Transitions (toggle)Determines whether to show the transitions while editing steps.
Pro tip: The keyboard shortcuts for the add, update, insert and delete steps work even when the focus is outside the edit sequence window. So you can press to add a step while working in the live panel.

Details section (bottom part)

SequencesShows the grid layout with the 255 sequences. Drag and drop to move the sequences. Right-click on a sequence for more options like copy in order to duplicate.
ColumnsThe number of columns for the grid organization of the sequences. This is also used to show the sequence in the perform panel.
StepsShows all the steps of the current sequence. You can overwrite parameters like the stage speed and intensity by checking the corresponding boxes. Drag and drop steps to reorder and right-click on a step to copy and delete multiple steps.
Step content (overview)Shows an overview of the content stored in a step. There's one square per stage. The media thumbnail is shown along with the colour filter and the stage intensity which determines the width of the colour rectangle under the thumbnail. If nothing is stored for a stage or the stage is deactivated, the thumbnail is invisible.

Schedule

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

Start timeThe time of the day to start the playlist.
Relative toDetermines how to interpret the start time (e.g. relative to sunset or sunrise).
DurationThe duration of the playlist (end time).
LoopRepeats the sequence indefinitely.
Start and end datesThe date range (inclusive) when the playlist is active.
Active daysThe 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.

GroupSelects the active group for the perform panel. Most visible controls are relative to this group.
ActiveDetermines whether the current group is active. Deactivating a group blackouts all stages of the group.
Master intensity and speedControls the master intensity and speed from the perform panel.
ShortcutsEdit the keyboard and MIDI shortcuts to control most of the perform panel features.
SequencesThe grid shows all sequences. Click on a sequence to play it.
Go / BackPlay the next or previous step of the sequence.
Tap tempoTap to set the tempo to automatically go to the next step. The tempo of all groups are synced. If you are receiving MIDI clock messages, you can select it as the tempo source.
Tempo dividers (/1, /2, /4 …)Determines how many beats it takes (based on the tempo) to advance to the next step.
Play buttonAutomatically 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.
StrobeActivates the strobe effect on the group.

Live mode

Shortcut key:

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.

ELM live mode showing A and B media banks and stage controls
Live mode. Control intensity, speed, media selection and colour filters for each stage in real time.
A and B media banksShows the loaded media. Click a media to select it.
A and B configuration panelsAt 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 FaderMix the media from the A and B sides, using the selected transition/mix effect.
ExecuteAutomatically creates a transition from A to B or B to A depending on the most active side.
Transition effect and durationSelects one of the 40+ transition/mix effects and its duration in seconds.
IntensityThe luminosity level (dimmer). Set to 0 to deactivate the stage.
Colour wheelFilters the colour output. It works like a colour gel, where if you select the red colour, only red pixels will be visible at the output.
SpeedThe playback speed. Used for certain media types only, including video files, built-in effects and texts. Does nothing for live video streams.
View settingsVarious settings to customize the live panel.
Audio reactive mixAutomatically 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.
Master intensity and speedModifies the intensity and speed of all stages without affecting the actual programming. The master intensity doesn't affect the stage monitor brightness.
Pro tip: Using black and white media allows you to use the colour filter and get exactly the RGB colour you want as output.
Pro tip: Use the live mode as a monitor to help you see what's going on while remotely controlling ELM with another lighting console. You can also open multiple DVI outputs (one per stage) and use them as monitors.

Reference

All settings panels, remote control options (DMX, OSC, OS2L, HTTP), troubleshooting, and the end-user licence agreement.

Settings — project

Shortcut key:

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

New projectCloses the current project and starts a new one.
Load Opens an existing project.
Save asSaves the project under a new name.
Save Saves the project.
ImportImports items from another project, including stages, media and DMX settings. CSV and AutoCAD DXF files can be used to import your strips.
Export patchCreates an HTML file containing all strips/fixtures to be opened in a web browser or Excel.
FirewallDoes the necessary firewall configuration for all network protocols. ELM must be running as administrator.
DMX universesThe number of DMX universes used by your project. This is the number used to calculate your license limit (if any).
StagesThe number of stages in your project.
StripsThe number of strips in all stages.
Mapped LEDsThe number of LEDs inside the mapping zones in all stages (including duplicated LEDs).
Output rate (fps)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/fixtures support. This may result in DMX packets being discarded and visual artefacts.
DMX outputActivates or temporarily disables the DMX output. This is handy during testing.
Lock stagesPrevents accidentally editing the stages by requesting a password to unlock (last 4 characters of the hardware ID).
Run at startupAutomatically runs ELM when Windows starts and loads the last opened project file.
LanguageSelects the user interface 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.

Import xLights / xModels

Select one or multiple xModel files to import. Strips will be automatically created to best fit the models.

Import CSV LEDs

Select one or multiple CSV files to import. Strips will be automatically created to best fit the LEDs. Each row of the CSV file can contain the following columns:

ColumnDescription
XDecimal number representing the LED horizontal position.
YDecimal number representing the LED vertical position.
ProtocolThe DMX protocol like ArtNet, sAcn, KinetV1, KinetV2.
TypeThe LED type like RGB, RGBW, RGBA, and so on.
UniverseThe DMX universe number.
AddressThe DMX address.
Group or Group1The name of the group.
Sub-group or Group2The name of the sub-group.

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 Stages Manager.

Import strips from AutoCAD DXF file

Select a DXF file to import using the AutoCAD 2000 and up format, either in binary or text. Strips will be created based on the entities. Notes are also created based on the Text and MText entities.

Art-Net

Settings for the Art-Net universes.

AdapterSelects a network adapter for the output.
Universe displayBy 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, universes are displayed from 0 to 511.
Scan nodesOpens 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.
MonitorShows the exact DMX values being sent.
Optimize framesWhen 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.
ArtSyncWhen activated, sends an ArtSync packet after all universes have been sent. This makes sure all outputs to the lights are in sync and prevents tearing problems.
Primary / backupAutomatically activates the backup when the primary computer is gone. All DMX outputs (Art-Net, sACN and KiNet) are stopped for the backup until the primary is gone. Detection of the liveness of the primary computer is done using Art-Net poll messages on the configured output network adapter.
Universe IP addressesFor 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.

AdapterSelects a network adapter for the output and the input (if using remote control with sACN).
First universeSince sACN supports thousands of universes, set the first universe to use.
PrioritySelects the priority level used for merging multiple sACN data sources. This is useful when using two ELM 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.
MonitorShows the exact DMX values being sent.
Optimize framesWhen activated, universes are sent only when there's a change, which may considerably reduce the network load.
sACN SyncWhen 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 addressesFor 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 ELM. You can map up to 8192 ports. Use Philips QuickPlay Pro to configure and get the IP addresses of your KiNet devices.

AdapterSelects a network adapter for the output.
Locate uni.Locates universes by sending all channels at full. No LEDs need to be patched.
MonitorShows the exact DMX values being sent.
Device IP addressesEnter the IP address of your device.
PortEnter the destination port for each device (range 1-16).

Scheduler

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

Stop during daylightDetermines whether you want to stop the scheduler during daylight. In this case, all running sequences are stopped automatically.
Scheduler activeTemporarily 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 positionYour 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 helpersTemporarily 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 switchDetermines whether this audio input is activated. Deactivate unused inputs to save resources.
VolumeAdjusts the input volume.
Falloff speedAdjusts how fast the frequency bands go down.
Lower / higher frequencies (Hz)Adjusts the frequency range to be used for the audio analysis.
Auto gainEvens out the volume to a consistent level.
Auto gain up delayThe number of seconds it takes for the volume to go up when quiet audio is detected.
Up / down arrowsMoves 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 / ASIOSwitch 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

Adjust the colour temperature and intensity of the various LED types in order to get a more accurate preview in the stage monitor. This is particularly important when you're using LEDs with multiple types of whites. For example, the WWA LED type is composed of the cool white, neutral white and warm white (or amber). Adjusting any of these whites will change the appearance of the WWA LEDs in the stage monitor.

License

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

BackupSaves your license file in case you need to reinstall your OS.
ImportImports a license file.
Hardware IDYour unique computer's ID, used to generate the licenses.

Remote control — DMX

ELM 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.

Settings for remotely controlling ELM with a lighting console (Art-Net, sACN or an ENTTEC USB Pro interface).

Input modeSelects how you want to remote control ELM. The current options are Art-Net, sACN and an ENTTEC USB Pro interface.
Network adapterFor Art-Net only, you can select a different network adapter for output and input.
UniverseSelects the DMX input universe.
MonitorShows the exact DMX values being received.
AddressSelects the DMX address for the first stage.
Fixture modeSelects the level of control you want (Basic or Extended).
DMX value modePercent: makes it easy for consoles working in percent. Raw: makes it easy for consoles working in the 0-255 DMX range.
StagesDetermines the stages you want to control. You can select no stages if you only want to control the groups.
Media remoteMaps 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 ELM. It is dynamically generated based on the current remote settings and your stages, so 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)

ChNameValuesNote
1Remote control mode0: deactivated. 1-254: reserved, don't use. 255: activatedRemote control activated only when receiving 255. 0 disables remote control and the stage goes back to being controlled via schedule (if any) or manually.
2Media index0: no function. 1-99: media indexThe 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.
3Intensity level0: stage deactivated. 1-255: levelThe output level (dimmer). When at 0%, the stage is deactivated and doesn't override stages with a lower precedence (it becomes transparent). To keep the stage activated and force a black output, use the colour filters at 0%.
4Red filter0-255Filters the colour output.
5Green filter0-255Filters the colour output.
6Blue filter0-255Filters the colour output.
7Playback speed0: paused. 1-255: speed up to 10x. 25 = 1xFor some types of media like videos, effects and texts, speed controls how fast the playback goes. For live streams, speed has no effect.
8Transition duration0: no transition. 1-255: duration up to 20 s. 12 = 1 sWhen transitioning between media, controls the duration of the crossfade.

Extended fixture mode (15 channels per stage)

ChNameValuesNote
1Remote control mode0: deactivated. 1-254: reserved, don't use. 255: activatedSame as basic mode channel 1.
2Intensity level (MSB/coarse)0: stage deactivated. 1-65535: level (combined with ch 3)The output level. At 0%, the stage is deactivated.
3Intensity level (LSB/fine)0-255
4Red filter0-255Filters the colour output.
5Green filter0-255Filters the colour output.
6Blue filter0-255Filters the colour output.
7Media A speed0: paused. 1-255: speed up to 10x. 25 = 1xControls playback speed of media A.
8Media B speed0: paused. 1-255: speed up to 10x. 25 = 1xControls playback speed of media B.
9Media A index0: empty. 1-99: media indexThe media to play on side A.
10Media B index0: empty. 1-99: media indexThe media to play on side B.
11Media mixing position (MSB/coarse)0: A fully active. 65535: B fully activeControls the position of the mixing effect, from A to B.
12Media mixing position (LSB/fine)0-255
13Mixing position modifier0: no function. 1-255: various mapping functionsSpices up the mixing position by applying a function like bounce, sigmoid and exponential. See the list of functions in ELM.
14Mixing effect0: no effect. 1: crossfade. 2: black fade. 3: white fade. 4-255: various effectsDetermines 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 ELM. When not needed, select "no effect" to avoid wasting CPU.
15Reserved (unused)

Group mode (12 channels per group)

ChNameValuesNote
1Group active and remote control enabled0-245: remote deactivated. 246-250: group inactive. 251-255: group activeControls the group active switch. When remote control is deactivated, the scheduler can take over. Deactivating the group deactivates all stages in the group.
2Intensity level (MSB/coarse)0-65535: levelMultiplies the intensity of all stages in the group. 0 does a blackout without deactivating the stages (they continue playing).
3Intensity level (LSB/fine)0-255
4Red filter0-255Filters the colour output.
5Green filter0-255Filters the colour output.
6Blue filter0-255Filters the colour output.
7Speed0: paused. 1-255: speed up to 10x. 25 = 1xMultiplies the speed of all stages of the group.
8Sequence number0: stop. 1-255: sequence number0 stops playback but doesn't blackout stages as long as the group is active.
9Step number0: auto. 1-255: step number0 automatically plays all 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.
10Transition time overridden0-250: no. 251-255: overriddenWhether the transition time between steps and sequences is using the programmed time or the time of channel 11.
11Transition time0: no transition. 1-255: duration up to 20 s. 12 = 1 sThe time of the transition between steps and sequences.
12Strobe0: off. 1-255: strobe on, slow-fastStrobes the intensity of the group.

CITP/MSEX

Activate this option to enable ELM to communicate with other CITP/MSEX compatible consoles and software. CITP/MSEX versions 1.0, 1.1 and 1.2 are available. ELM can:

  • 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 ELM via OSC (Open Sound Control) over the network. ELM listens for incoming OSC on all network adapters.

/elm/stages/{stage name}/
  live/
    intensity              0..1
    rgb                    0..1, 0..1, 0..1
    media                  0..99
    speed                  0..10
    transitionFx           0..43
    transitionDuration     0..9999 seconds
    audioMixControlled     {0: no, 1: yes}
    remotelyControlled     {0: no, 1: yes}
  mix/
    position               0..1
    A/
      media                0..99
      speed                0..10
    B/
      media                0..99
      speed                0..10

/elm/groups/{group name}/
  performer/
    active                 {0: no, 1: yes}
    paramTransitionDuration 0..9999 seconds
    intensity              0..1
    blackout               {0: no, 1: yes}
    bumpingIntensity       {0: no, 1: yes}
    strobing               {0: no, 1: yes}
    strobeOnDuration       0..1 seconds
    rgb (or r, g, b)       0..1, 0..1, 0..1
    speed                  0..10
    freeze                 {0: no, 1: yes}
    bumpingSpeed           {0: no, 1: yes}
    tempoBPM               0..300
    tap                    press the tap tempo button
    cleartempo             deactivate the tap tempo
    tempoDivider           1..128
    autoGo                 {0: no, 1: yes}
    playMode               {0: loop, 1: row, 2: column, ...}
    play                   sequenceId, [stepId]
    go                     play the next step
    back                   play the previous step

/elm/groups/{group name}/
  sequences/{sequenceId}/schedule/
    enabled                {0: no, 1: yes}

/elm/media/
  slots/{slotId}
    parameters/{name}      (range as in the live panel)

  for normalized values, use:
    {name}/normalized      0..1

/elm/settings/
  masterIntensity          0..1
  masterSpeed              0..2
  dmxOutputActive          {0: no, 1: yes}
  schedulerActive          {0: no, 1: yes}
Note: Addresses and names are case-insensitive. Media index 0 is an empty slot. RGB can be sent in 3 parts at the /r, /g and /b addresses. audioMixControlled controls the audio mix activation. remotelyControlled determines whether OSC overrides the scheduler. Use * (wildcard character) in the stage name to target multiple stages at once. For example, /elm/stages/*/XYZ targets all stages. /elm/stages/background*/XYZ targets all stages with a name starting with background.

OS2L

Use the Open Sound to Light (OS2L) protocol to receive commands from VirtualDJ. This allows using the timeline editor in VirtualDJ to trigger your lighting effects in sync with the song that is playing. The commands can be used to control the perform panel via its shortcuts, under the sequences menu.

To activate OS2L in VirtualDJ, go in the options and check yes for os2l and set os2lDirectIp to the ELM IP address (or 127.0.0.1 if the same computer) and port. For example: 127.0.0.1:9666.

HTTP

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

The base URL to access the API is: http://YOUR-COMPUTER-NAME:port/elm. 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's 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 Basic access authentication.

RequestParametersOutput
GET /elm/statusStatuses of all sub-systems like under the settings/project menu.
GET /elm/heartbeat200 OK if the server is running.
GET /elm/settingsGlobal settings like the master speed and intensity, output rate, scheduler active, and so on.
POST /elm/settingsmasterIntensity 0..1, masterSpeed 0..2, and so on.Sets global settings.
GET /elm/stagesincludeState 0 (only names) or 1 (ids, names and other info)List of stages.
GET /elm/stages/{stage name or id}Stage id, name and other info.
GET /elm/stages/transitionFxNamesList of all transitionFx names.
GET /elm/stages/{stage name or id}/liveState of the requested stage.
POST /elm/stages/{stage name or id}/liveintensity 0..1, media 0..99, speed 0..10, transitionFx {name}, transitionDuration 0..9999, red 0..255, green 0..255, blue 0..255, audioMixControlled 0|1, remotelyControlled 0|1 (if 0, let the scheduler or another remote take over).State of the updated stage.
POST /elm/stages/{stage name or id}/live/dvivisible 0 (no) or 1 (yes)Show or hide the existing DVI windows.
GET /elm/stages/{stage name or id}/patchList of all patched strips.
GET /elm/stages/{stage name or id}/monitorwidth, height, fpsMJPEG stream of the LED preview.
GET /elm/groupsList of groups.
GET /elm/groups/{group name or id}/stagesList of stages in the group.
GET /elm/groups/{group name or id}/sequencesList of sequences in the group.
GET /elm/groups/{group name or id}/performerComputed state of the performer.
POST /elm/groups/{group name or id}/performerAny parameters returned in the full state can be set except the computed parameter.Updated state.
GET /elm/groups/{group name or id}/sequences/{sequenceId}Info about the sequence.
POST /elm/groups/{group name or id}/sequences/{sequenceId}/scheduleenabled 0 (no) or 1 (yes)Enable or disable the schedule for a sequence.
POST /elm/groups/{group name or id}/performer/goPlay the next step in the sequence.
POST /elm/groups/{group name or id}/performer/backPlay the previous step in the sequence.
POST /elm/groups/{group name or id}/performer/tapPress the tap tempo button.
GET /elm/media/slotsincludeState 1 (return slot states)List of filled media slot ids.
GET /elm/media/slots/{id}State of a media slot.
GET /elm/media/slots/{id}/thumbnailwidth, heightPNG image.
GET /elm/media/slots/{id}/monitorwidth, height, fpsMJPEG stream of the media.
POST /elm/media/slots/{id}path (load an existing local file) or form file (upload a new file)State of the updated media slot.
GET /elm/media/slots/{id}/parametersList of all parameters of the media.
POST /elm/media/slots/{id}/parameters/{name}value (range as visible in the live panel)Change the value of a parameter.
POST /elm/media/slots/{id}/parameters/textvalue (text)Change the text of a text media.

Worked examples

To start sequence #1 of the group "background", the request is:

POST /elm/groups/background/performer?active=1&sequenceId=1 HTTP/1.0\x0D\x0A
Content-Type: application/x-www-form-urlencoded\x0D\x0A
Content-Length: 0\x0D\x0A
\x0D\x0A
\x0D\x0A

To get info about the "background" group, the request is:

GET /elm/groups/background/performer HTTP/1.0\x0D\x0A
\x0D\x0A
\x0D\x0A
Notes:
  • Each line ends with \r\n characters which are \x0D\x0A in hexadecimal.
  • There are two empty lines at the end of a request.
  • Use * (wildcard character) in the stage name to target multiple stages at once for POST.
  • All data is returned in JSON.
  • Use the returned HTTP status code to do proper 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.

Troubleshooting

Output — Art-Net / sACN / KiNet

ProblemPossible causesSolutions
No Art-Net nodes detected in the scan nodes dialog. The node IP address may be incorrectly configured (e.g. 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 ELM. The firewall is blocking ELM. Change the IP address of your computer or your node to be on the same network (most of the time the 3 first numbers need to be the same). The subnet masks also need to be the same. Usually, use 255.255.255.0. Go under the settings menu and make sure the proper network adapter is selected for each DMX protocol. Use the firewall button in ELM.
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 broadcast (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 ELM'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 WiFi causing data packets to be discarded. Missed DMX packets due to too high an output rate and the optimize frames option being ON. Disable the optimize frames option for Art-Net or sACN. ELM will continuously send data even when there's no change. You may need to reduce the output rate to avoid network overload. When optimize frames is ON, ELM 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 optimize frames or reducing ELM's output rate.
The lights do nothing. The nodes may not be properly configured or not plugged in. The strips may be configured to use the wrong universes and/or addresses. The firewall may be blocking ELM. 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 ELM is sending. Disable your firewall. Use the locate universe feature in ELM 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 colour. This will cause the LEDs to use less power. If the flickers go away, 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 colour, so if this isn't a power problem and a full white test colour doesn't cause flickers, that means the video content is probably the problem. Disable the optimize frames option (see Art-Net).

General

ProblemPossible causesSolutions
ELM isn't starting and says a DLL is missing. The Visual Studio 2015 run-time component is missing. Download and install the Visual C++ Redistributable for Visual Studio 2015 from the Microsoft website.
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 ELM on a graphic-heavy screen — minimize the ELM window or go to the settings/project tab. Also make sure to close all monitor windows. Alternatively, lower ELM's output rate (see Project).
When moving my project to another computer, the media are missing. The ELM 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 ELM user interface uses hardware acceleration (DirectX and OpenGL). Some remote desktop apps don'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 ELM.
The eye candy effects aren't working on Mac under Parallels. ELM needs OpenGL 3.3 and Parallels only supports OpenGL 3.2. Use Boot Camp 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.) and distributor (ENTTEC LLC) 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 bound 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 licence

1. Grant of licence. 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. ELM 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.

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.

Note: Due to constant innovation, information within this document is subject to change.