Skip to main content

Documentation

S-PLAY Programmer — User Manual

Product SKU
70100
Doc ID
670906
Updated
June 2026
21 min read

Free desktop software for ENTTEC S-PLAY hardware — build complete light shows offline on Mac or Windows and deploy when ready.

Get started

Download, install, and connect S-PLAY Programmer to your S-PLAY hardware. Covers system requirements, installation, licensing, updates, and hardware compatibility.

What is S-PLAY Programmer

S-PLAY Programmer is a free desktop application for ENTTEC S-PLAY hardware that lets you build complete light shows offline, on Mac or Windows. Connect to your device and deploy when ready — no internet connection, no hardware needed to get started.

S-PLAY Programmer is the desktop version of the same interface as the S-PLAY web interface: the same playlist builder, the same scheduling and trigger options, and the same cue types, plus two additions exclusive to the desktop software — Scene Cues (shader-based animations using Fixture Layouts) and Bake rendering (generate hours of content in seconds).

Key features

  • macOS and Windows compatible.
  • 100% free — no license, dongle, or activation required.
  • Fully offline — build complete shows without hardware connection.
  • Work anywhere — program from the office, home, or on the road.
  • Create up to 200 Cues, Playlists, and Schedules.
  • Scene Cue with shader-based animation.
  • Bake rendering — generate hours of content in seconds.
  • Layout system for fixture mapping (Grid, Linear, Circle, Draw).
  • Deploy and extract shows over network.
  • Live preview on up to 250 S-PLAY devices.
  • Events, Triggers, and custom end-user Interfaces.

System requirements

S-PLAY Programmer is compatible with macOS 15 (Sequoia) and above, and Windows 11 (64-bit) and above.

ComponentMinimum — MacMinimum — PC
OSmacOS 15 (Sequoia)Windows 11
CPUApple M1Quad-core 1.8 GHz
GPU8-core GPU4 GB VRAM
RAM8 GB8 GB
DriveMechanical HDDMechanical HDD
ComponentRecommended — MacRecommended — PC
OSmacOS 26 (Tahoe)Windows 11
CPUApple M1 Pro / M2Quad-core 2.5 GHz
GPU14-core GPU or better8 GB VRAM or better
RAM16 GB16 GB
DriveSSDSSD

Installation

Download the S-PLAY Programmer from the ENTTEC website. No activation, license, or additional setup is required. S-PLAY Programmer operates offline and does not require an internet connection for programming. A network (LAN) connection is required for Preview, Deploy, and Extract functions.

Software version (Production)

  • Identified by a blue play button logo.
  • Public release for customers.
  • Available for download from the ENTTEC website.

Windows installation

  1. Locate the downloaded SPLAYSoftware_Setup.exe file.
  2. Double-click to run the installer.
  3. Follow the installation wizard prompts.
  4. Click Install to complete setup.

macOS installation

  1. Locate the downloaded SPLAYSoftware.dmg file.
  2. Double-click to mount the disk image.
  3. Drag the S-PLAY Programmer icon to the Applications folder.
  4. Launch from the Applications folder.
S-PLAY Programmer installation wizard
S-PLAY Programmer installation wizard (Windows)

Forum and tech support

If you have any questions about using S-PLAY Programmer or feature requests that are not covered in this manual, visit the ENTTEC Support Forum at support.enttec.com to find previous threads or raise a new request.

When raising a request, reporting a bug, or creating a support enquiry, include as much information as possible to allow ENTTEC's developers to understand and replicate the issue. The clearer this information is, the faster a resolution can be found. Reports should include:

  • Your computer's operating system and version.
  • S-PLAY Programmer version number (found via Help > About S-PLAY Programmer).
  • A detailed description of the issue or request.
  • A screen recording, video, or screengrabs of the issue.

Licensing

S-PLAY Programmer operates completely free with no license required. Simply download and install — the software is ready to use immediately.

Note: S-PLAY Programmer is an offline programmer and cannot output DMX directly. All output and playback require connection to S-PLAY hardware.

Software updates

S-PLAY Programmer automatically checks for updates on launch and notifies you when a new version is available.

  • The Check for Updates button appears in the top Home navigation bar.
  • When no update is available: the button remains grey; clicking it manually re-checks.
  • When a new version is available: the button displays the new version number. Clicking initiates the download.
  • The software restarts automatically once the update is complete.

Hardware compatibility

S-PLAY Programmer is designed exclusively for ENTTEC S-PLAY hardware. No other hardware is supported. S-PLAY Programmer is only compatible with S-PLAY firmware Version 3.2 and above.

DeviceSKUSupport level
S-PLAY SP1-170092Full support for all features

Connecting to hardware

To connect S-PLAY Programmer to S-PLAY hardware on your network:

  1. Open S-PLAY Programmer.
  2. The software automatically scans the network for available S-PLAY devices.
  3. Detected devices appear showing Device Name and IP Address.
  4. Select the desired S-PLAY device from the list.

After connection, the software automatically extracts the current show from the S-PLAY hardware. The connected device name appears in the top header navigation bar.

S-PLAY Programmer device connection screen showing discovered hardware
Device connection — automatic discovery of S-PLAY hardware on the local network

Send and extract

  • Send — deploys the current show from the software to the connected S-PLAY (overwrites device content).
  • Extract — retrieves the current show stored on the S-PLAY into the software (overwrites the current workspace).
Note: When a device is locked, the Send function is disabled. Supports up to 250 S-PLAY devices on a single network.

Interface

A tour of the S-PLAY Programmer interface: Home, Cue types, Events, Triggers, Playlists, Schedules, Interfaces, and Shows.

Home

The Home page is the default landing page presenting an overview of all playback activities. When used with the lock function, it shows all custom interfaces, playlists, and schedules for end users.

S-PLAY Programmer Home page showing playlist activity and controls
Home page — playlist controls, interface shortcuts, and schedule management

Cue

S-PLAY Programmer allows a maximum of 200 cues — Static, Dynamic, Effect, and Scene Cues. Cues can be configured, duplicated, edited, and previewed before building into a playlist.

S-PLAY Programmer Cue library page
Cue library — list of all cues with preview, duplicate, edit, and delete controls

Managing cues

All cues can be ordered by ID, Cue Name, Cue Type, and Duration. Preview, Duplicate, Edit, or Delete Static or Effect cues from the Cue page.

IconFunctionality
Turn into PlaylistDirectly turn a cue into a playlist.
DuplicateDuplicate the selected cue.
EditEdit the cue name and channel values after a cue has been created.
DeleteDelete the selected cue.
PreviewPreview cues. Multiple cues can be previewed simultaneously. Actively playing cues show a green PREVIEW button; click it again to stop previewing.
Note: Dynamic recordings cannot be duplicated. Editing a cue in the Cue Library directly overwrites the full universe values received and extends the length of the cue if necessary. Once a cue is selected for editing, the S-PLAY internally triggers Stop All to prevent overlapping playback.

Static cue

A lighting state of up to 32 DMX universes. DMX data can be user-defined values or a snapshot of the incoming DMX frame. Source: DMX (up to 2 universes), Art-Net (up to 32 universes), or sACN (up to 32 universes).

To create a Static cue:

  1. Click the green icon and choose Static as the cue type to open the Static cue editor.
  2. Assign a name to the cue for easy identification.
  3. Choose the source protocol (DMX, Art-Net, or sACN) and specify the channels for recording.
  4. Select the S-PLAY's internal Universe and the External Universe (universe of the external source or the DMX port). Setting all external universe numbers identically mirrors the same Art-Net/sACN source to all internal universes.
  5. Define the channel values using one of the three methods below.
  6. Press Preview at the top left to send to connected S-PLAY hardware for live output.
  7. Save the cue once complete.

There are 3 ways to define channel values:

  • Manual + Set DMX: set individual channel values manually and press Set DMX to populate the selected channels.
  • Colour Picker: use the Colour Picker from the colour palette and press Set DMX to apply and populate the selected channels.
  • DMX Snapshot: capture a DMX frame from the selected source connected to the S-PLAY by pressing DMX Snapshot. The recorded DMX values populate the selected channels and universes automatically.
Note: When setting single-channel or dimmer fixtures, choose All/W for individual channel control.

Dynamic cue

A recording of up to 32 universes of lighting control data. Supports Perfect Loop recording. Recording can be triggered via OSC, UDP, RS232, Art-Net, sACN, DMX, Digital Input, or Button.

S-PLAY Programmer Dynamic cue editor with recording controls
Dynamic cue editor — source selection, recording trigger configuration, and live preview

Two ways to record: manually with the red Start Rec button, or by configuring a Recording Trigger that initiates and stops recording remotely. Per-protocol trigger behaviour:

  • OSC, UDP, RS232: recording starts when the configured message is received and stops when the same message is received again (toggle on repeat).
  • Art-Net, sACN, DMX: recording starts when a value is received that is equal to or above the Trigger Level, and stops when the value drops below it.
  • Digital Input: when configured as Activate on Break, recording starts when the connection between the digital input port and GND is broken and stops when the connection is made. Activate on Make reverses this behaviour.
  • Button: the Reset/Trigger button on the device can be set to trigger the recording on press or release.

Toggle Live Preview on to send to connected S-PLAY hardware as you record. The recording timer starts as soon as data begins to be captured.

Recording tips:

During Art-Net or sACN recording, when utilizing the Live Preview function, it is crucial to ensure that no other active Art-Net/sACN device is outputting on the same universes that are being recorded (including the S-PLAY itself). This precaution eliminates the possibility of interference loopback, which can result in erratic or inaccurate recordings. To adjust the output settings of your S-PLAY, navigate to the Settings page.

When recording live generated content, Perfect Loop may have inconsistent results due to the dynamic nature of the live content generation, where the exact same 10 frames may not always be generated.

Effect cue

Creates a gradient effect without a physical DMX source. Supports 8-bit and 16-bit LED types. Define LED type, start address, address offset, number of fixtures, gradient colours, speed, and direction.

S-PLAY Programmer Effect cue editor with gradient controls
Effect cue editor — gradient editor with colour points, speed slider, and fixture configuration
  • Effect Start Channel: defines the position (phase) where the gradient begins to apply.
  • Number of Fixtures: sets the number of LEDs included in the effect.
  • Invert Every X Fixtures: inverts gradient direction after every defined number of fixtures, creating a non-linear grid pattern (ideal for pixel tape projects).
  • Gradient editor: click any point on the gradient graphic to add or modify a colour stop. Each colour point can be dragged into position. For smooth loops, ensure the beginning and end colours match. The exact range of fixtures affected by each colour point is calculated from Number of Fixtures and the colour stop's Position (%) along the gradient.
  • Speed and direction: defined via the slider below the gradient (preview live to confirm the look in the real rig).
  • Per-universe enable toggles: use the toggle switches below the gradient to define which universes the effect occupies. Useful for layering effects or overlapping with other groups; any universes not enabled output 0 on every channel.

Scene cue and fixture layouts

Scene Cues can only be created in S-PLAY Programmer. This feature does not exist on the S-PLAY hardware web interface. Scene Cues are animation-based cues that use shaders and layouts to create complex lighting effects through baked animations. Once deployed to S-PLAY hardware, Scene Cues are treated as normal cues.

Step 1 — Create a layout

Navigate to the Layouts menu and create a layout with one of four types:

  • Grid — for matrix arrangements and pixel walls. Configure Columns, Rows, Pixel Order, Bit Depth, Start Corner, and Serpentine (zigzag).
  • Linear — for LED strips and single-row fixtures. Manual Pixel Count, Forward or Reverse direction.
  • Circle — for circular arrangements and rings. Manual Pixel Count, Clockwise or Anti-Clockwise.
  • Draw — for custom shapes. Manual Pixel Count, control points to define custom path.

Common settings for all layout types: Fixture Name, Universe (1–32), DMX Address, Pixel Order (RGB/RGBW/GRB/BGR/GRBW), Bit Depth (8-bit or 16-bit).

S-PLAY Programmer Scene cue editor with Layout system and shader controls
Scene cue editor — layout selection, shader type, parameters, bake time, and frame rate settings

Step 2 — Create a Scene cue

  1. Click the green icon and choose Scene as the cue type.
  2. Assign a name and select a saved Layout from the dropdown.
  3. Select a Shader (Gradient Sweep, Color Wave, etc.) and adjust parameters.
  4. Set Bake Time (duration in seconds) and Frame Rate (20/30/40/60 FPS).
  5. Click BAKE — rendering begins with a progress bar.
  6. Optionally preview on connected S-PLAY hardware, then click SAVE.
MethodRecording time
Dynamic Cue (recording)Must wait full duration (e.g. 1 hour content = 1 hour wait)
Scene Cue (bake)Renders in seconds regardless of duration (e.g. 1 hour = ~1 minute)

Events

Create up to 200 custom Events for embedding in playlists. Use the Multiple Events tab to configure multiple events in a single operation.

Top tip: In the Multiple Events tab, insert ADD NUMBER{} in the event name to automatically generate identifiers. Each row created in the batch is given a numeric suffix in place of the placeholder, so unique names are produced for every event in a single operation.
S-PLAY Programmer Events page
Events page — create, test, and manage events for playlist integration
Event typeDescription
RS232Sends a user-defined RS232 command. Settings: 9600 baud, 8-bit data, no parity, 1 stop bit, no flow control. Max 1024 characters.
UDPSends a UDP command (up to 1024 characters). Use \r/\n for carriage return/line feed. Internal UDP: set IP to 127.0.0.1, port 5000.
OSCSends OSC data (strings, floats, integers). Address must start with /.
RelaySets relay to Normally Open (NO) or Normally Closed (NC).
Art-NetSends an Art-Net frame with defined channel values.
sACNSends an sACN frame with defined channel values.
DMXSends a DMX frame with defined channel values.

Triggers

Create up to 200 custom Triggers to control playlist timelines. Use the Multiple Triggers tab to configure multiple triggers at once.

Top tip: In the Multiple Triggers tab, insert ADD NUMBER{} in the trigger name to automatically generate identifiers. Each row created in the batch is given a numeric suffix in place of the placeholder, so unique names are produced for every trigger in a single operation.
S-PLAY Programmer Triggers page
Triggers page — define trigger conditions across all supported protocols
Trigger typeDescription
RS2329600 baud, 8-bit, no parity, 1 stop bit. Max 1024 characters per command string.
UDPActivates when incoming UDP command matches the defined string.
OSCActivates when incoming OSC command matches; received on port 8000 by default. Integrates with the S-PLAY OSC API for master intensity and playlist control.
Digital Input4 digital input ports. Idle is high; trigger registered when circuit completed (low).
Art-NetActivates when incoming value equals or exceeds defined channel value.
sACNActivates when incoming value equals or exceeds defined channel value.
DMXActivates when incoming value equals or exceeds defined DMX value. Disabled when DMX is selected as output protocol.

Playlists

Create up to 200 playlists by combining cues, events, and triggers on the timeline. Multiple playlists can play simultaneously with HTP channel merging.

S-PLAY Programmer Playlists page full view with timeline editor
Playlists page — created playlists list, timeline editor, cue tracks, event and trigger tracks
S-PLAY Programmer Playlists page layout diagram labelling controls A through J
Playlists page layout — master control (A), global control (B), filter bar (C), cue library (D), cue config (E), cue tracks (F), event track (G), trigger track (H), playlist config (I), timeline navigation (J)
Top tip: By default, cues on the timeline hold their end value on the output until a different scene is triggered. To send a blackout at the end of a cue or timeline, set it to have a fade-out time. For a snap to black (rather than a fade), set the fade-out time to 0.001 second.

Created playlists

This section lists all created playlists with basic info (name, duration) and per-playlist controls.

  • Reorder: drag and drop a playlist from the three-dot handle to rearrange (reflected on the Home page).
  • Edit: loads the playlist into the timeline and media tracks for editing.
  • Intensity: real-time master intensity for the playlist (default 100%); can be changed while playing.
  • Play / Pause / Stop: Pause holds the last DMX value on output. Stop halts the playlist and sets every channel's output to 0.
  • Status: Playing, Paused, Stopped, or Waiting for Trigger.
  • Timeline and Duration: shows playback position; opacity of the bar matches playlist intensity.
  • Delete: removes the playlist and cascades to any schedules using it.

Global playlist control

Pressing global Play starts all playlists at once. Channel conflicts are merged on a Highest Takes Precedence (HTP) basis.

Cues, triggers and events library

Lists all media usable in playlists, categorised by Static Cues, Dynamic Cues, Effects, Events, and Triggers. Drag and drop any cue into the media tracks; events and triggers have dedicated tracks. To ensure the best output frame rate, avoid using the same dynamic cue in different playlists.

Playback configuration

  • Playlist Fader Configuration: sets fade-in and fade-out times. Fade-out begins on Stop and runs for the defined duration.
  • Playlist Duration: total length of the playlist.
  • ID and Name: internal ID (editable) and display name.
  • Start Trigger: set the playlist to play On Power Up or wait for a configured trigger from the Triggers page.
  • Stop Trigger: choose a trigger from the Triggers page that stops the playlist when its conditions are met.
  • Play Count: number of times the playlist plays before stopping.
  • Internal Priority: when multiple playlists run, the higher priority drives the output on any channel conflict. Equal priorities are merged on HTP.
  • Group: combine playlists into a group so that only one in the group can play at a time (used with the "Play one active playlist per group" option in Settings) for smooth fading between looks.
  • Hide from Home: show or hide this playlist on the Home page.
  • Save: saves any change; S-PLAY prompts to save before playing.

Cue fader configuration

Configures start/end time and fade-in/out for a specific cue placed in the cue track. Enabled when a cue is selected. Each cue also has a fader handle directly in the track for intuitive editing.

Zoom

Zoom in and out with the magnifying glass icons. The timeline values and cue box widths scale with the zoom level.

Example playlist

"Playlist 1" is configured to start On Power Up and loop indefinitely (Play Count: Infinity). Inside, a dynamic cue labelled "wp" plays while simultaneously sending a UDP Event (UE). At the 3-second mark the playlist pauses to wait for a Digital Input trigger before resuming an effect that plays through to the 7-second mark. The playlist then sends more Events and waits for further triggers as specified, looping back to the start once the end is reached.

Schedules

Create up to 200 schedules to trigger playlists once or at regular intervals. Schedules require a playlist to be created first. Always ensure the S-PLAY system time and location are set correctly in Settings when using Schedules.

S-PLAY Programmer Schedules page showing schedule list and editor
Schedules page — schedule list with status indicators and the schedule editor

Schedule sections: Name, Command, Selected Playlist, Start Condition, End Condition, Frequency Type. Frequency options: Per Second, Per Minute, Hourly, Daily, Weekly, Monthly, Yearly, Astronomical (moon phases).

Start conditions can be set to a specific time, sunrise, or sunset, calculated from the Location settings (latitude, longitude, GMT offset). The schedule expires when the End Condition is met (specific date or play count).

Worked example (Noise Flow)

A typical schedule pair uses one schedule to start a playlist and a second to stop all playback the following morning:

  • Schedule 1: plays the "Noise Flow" playlist every day, 30 minutes before sunset, from the 1st of November until the 31st of December.
  • Schedule 2: issues Stop All 30 minutes after sunrise each day, set for 30 total playbacks.
Note: Always ensure the S-PLAY system time and location are set correctly in Settings when using Schedules — sunrise and sunset calculations depend on the configured latitude, longitude, and GMT offset.

Created schedules

The Created Schedules list summarises each schedule's parameters and provides per-row controls.

  • Edit: pencil icon loads the schedule into the editor.
  • Suspend: pauses a schedule from activating. A suspended schedule's status indicator turns yellow.
  • Status colours: Green: active schedule with instances still to play. Yellow: suspended schedule; will not run until restored and the end condition is not met. Red: expired schedule with no remaining instances.
  • Schedule name and Playlist name: as set in the editor.
  • Frequency: play count from the schedule editor (defaults to the playlist's configured value).
  • Time: start time of day plus the next activation time.
  • Start time and Start date: as set in the editor.
  • Delete: removes the selected schedule.

Hide from Home

By default, all schedules appear on the S-PLAY home page. Enabling Hide from Home removes them from the homepage, which means users who are not logged in cannot see them.

Interfaces

S-PLAY Programmer supports up to 20 custom user interfaces for tailored playlist control. Interfaces can be viewed from any device with a web browser on the same local network.

S-PLAY Programmer Interfaces page
Interfaces page — create and manage custom end-user interfaces

Interface configuration: Name, URL, Interface Group (for navigation between interfaces), link to interface pages, Hide from Home, set as landing page.

The interface editor supports: Toggle Edit Mode, Page Colour, Background Image (max 700 KB), Desktop/Tablet/Mobile screen size views, Alignment (horizontal and vertical), Distribute Spacing, Make Same Height/Width, Container Max Width.

Widgets

Widgets are the building blocks (buttons and sliders) used to compose an interface. Each widget can be customised for display name, command, target playlist, shape (circle or rectangle), width, and RGBA colour.

WidgetFunction
TextAdds text to the canvas.
All Playlists controlsControls every playlist stored on the S-PLAY (play, pause, stop all).
Specific commandSends a specific command to a chosen S-PLAY playlist.
Intensity slidersSlider widgets to control intensity for all playlists or for an individual playlist.
Play/StopControls Play/Stop for a given playlist. The button also indicates the playlist's state and playback progress.
Effect colour filterControls the colour filter of a specific Effect cue.

Arranging widgets on the canvas

  1. Drag the widget freely to position it as desired.
  2. Resize the widget horizontally or vertically using the adjustment handles.
  3. Use the alignment tools to keep widgets aligned for a clean, organised interface.
S-PLAY Programmer Interface editor showing example custom interface
Example interface — custom widgets controlling playlists from a branded end-user page

Shows

A Show is a complete project containing all cues, playlists, schedules, events, triggers, and interfaces.

S-PLAY Programmer Shows screen with New Show and connected device options
Shows screen — New Show, Load from Connected S-PLAY, and show management options
ActionHow to
New ShowClick New Show on the start screen — opens a blank project ready for cues and playlists.
Load from S-PLAYConnect to S-PLAY hardware; the current show extracts automatically.
Save to S-PLAYFile Menu → Save — saves show to the connected S-PLAY hardware.
Save to computerFile Menu → Save As — saves show locally as a file.
Export for hardwareFile Menu → Export for Hardware — generates a portable .bak file for manual upload via S-PLAY web interface.
Open from filesFile Menu → Open — browse to a .bak or show file and load into software.

Configuration

Settings configure the connected S-PLAY hardware. Changes made here apply to the S-PLAY device and are saved to it — the software itself does not output DMX.

Settings overview

Fast navigation between settings tabs using the left-hand navigation menu. Settings configure the connected S-PLAY hardware.

S-PLAY Programmer Settings page with tab navigation
Settings page — device info, output, Art-Net/sACN, DMX, network, date/time, location, playback, software update, and factory reset tabs

Device info

Device Info lets you set a unique S-PLAY name for identification. The name is shown on the device LCD and is also used as the hostname on the network. Uptime shows how long the S-PLAY has been running since its last boot.

Output settings

Assigns the S-PLAY’s internal 32 universes to Art-Net, sACN, or DMX outputs. Use the drop-down in the upper-right corner to set all outputs to one protocol at once.

Art-Net and sACN settings allow configuration per universe: unicast, multicast, or broadcast; refresh rate 1–60 FPS; sACN priority (1–200, default 100). The Tab key expedites editing universe numbers and IP addresses.

Network settings

Define a DHCP or Manual IP address. The S-PLAY reboots after IP changes to start all services.

SettingDefault value
DHCPEnabled
Fall-back / Static IP192.168.0.10
Mask255.255.255.0
Gateway192.168.0.1
UDP input port5000
OSC input port8000

Date, time and location

Set date and time manually or enable NTP for automatic synchronisation from the local network. Manual time must be updated for daylight saving time twice a year.

Set latitude and longitude to inform sunrise/sunset times used by the scheduler. Use a geolocator such as latlong.net to find your site’s coordinates.

Playback configuration

Global playback settings: restrict to one active playlist per Group (stops all other playbacks in the group, obeying fade times); send black frame on playlist stop.

To update the software: click the Check for Updates button in the header, or go to Update in the Settings menu.

Factory reset

Navigate to Reset in the Settings page and click the Factory Reset button.

Important: A factory reset erases all created content and returns the software to its original factory state. Always take a backup before proceeding. Factory reset cannot be stopped once initiated.

Reference

Revision history and ordering information.

Revision history

FieldValue
Manual version1.0
Document dateFebruary 2026
Software versionV1.0.0

Ordering

For further support and to browse ENTTEC’s full product range, visit the ENTTEC website.

ItemPart No.
S-PLAY Programmer70100
S-PLAY SP1-170092
S-PLAY LITE70094
S-PLAY MINI70093
S-PLAY NANO70095

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