You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
scott — Print Layout Image is now a print-preview dialog: pick a Preview or the whole layout, set the render resolution, choose which labels are shown (with adjustable label size/color), and optionally invert colors before printing
scott — Layout: right-click a model and choose "Wire to Closest Controller with Open Port" to auto-assign it to the nearest controller with enough consecutive open pixel ports for all its strings
scott — Model Definitions: the preview's pencil tool and click-drag node selection are disabled when they cannot apply (nothing selected, a SubModel in SubBuffer mode, or a Face in Matrix mode)
derwin12 — Lyric phrases and words can now be duplicated (#3923)
derwin12 — Ripple can now trigger a new cycle from a timing track, matching Shockwave (Timing Track/Filter/Regex/Duration settings)
derwin12 — Export House Preview Video now lets you choose the output resolution
derwin12 — Custom models have a Background Image Transparency % setting, so props positioned behind the background image show through it
derwin12 — SubModels and States dialogs: editing node ranges while the Play preview animation is running now stops the animation automatically
derwin12 — Automation: new BatchCheckSequence lua script
derwin12,dkulp — Windows/macOS: Generate Custom Model can capture from a USB webcam and generate an .xmodel (#3791)
AlexB — macOS/Linux: the scroll wheel and trackpad slides adjust sliders and dropdowns, matching Windows. The control has to be clicked or focused first, so scrolling past a control never changes it by accident
cybercop23 — A submodel alias in "Model/Submodel" format now matches when the model part also matches a model alias, and "Update Aliases" promotes a submodel alias to the model itself when the submodel name already matches
dkulp — Export Models: bulb counting is now per node, so shadow models and other models sharing a channel range are counted once; the Totals sheet gains "Model Channels (incl. overlap)" and "DMX Channels" rows to reconcile channel counts
dkulp — FPP shift-string capes (K8/K16/K32 and the K16A-B, K64D-B, K128D-B) now offer the pixel protocols FPP can actually drive on them - the WS2811 family by name, TM1814, the 16 bit UCS8903/8904, and slower parts such as UCS1903 and TM1803 - and the protocol is uploaded per port. A mix of timings that cannot work on one cape is reported rather than uploaded
dkulp — FPP: Falcon v4 smart receivers can be selected on any string cape FPP drives itself; a cape that has no v5 listener now falls back to v4 rather than v2
dkulp — The show's id is now written to the log, so a submitted report identifies which show it came from
dkulp — Crash reports now include a recent-activity trace of the last few hundred events and playback actions, so a report shows what the program was doing without debug logging enabled
dkulp — iPad - Sequencer grid and house preview do much less work per frame, so dragging and scrolling stay smooth on large sequences
dkulp — iPad - Show-folder backup and restore: File > Back Up Show Folder copies the show's sequence and configuration files into a timestamped Backup folder (the same format desktop's F10 Backup writes, so backups restore across both), with an optional backup on show-folder open, an automatic backup before autosave recovery, and a Restore Backup sheet that can bring back controllers, layout, presets and selected sequences
dkulp — iPad - Jukebox: link numbered buttons to effects (by description or model/layer/time) and tap to select and play them, matching the desktop Jukebox panel; buttons saved in the sequence work on both platforms
dkulp — iPad - Dragging out a region of the grid with a timing track active now selects that block of cells, and long-pressing empty grid space opens a menu to paste into it, fill it with random effects, or drop in the armed effect
dkulp — iPad - An image, video, Glediator or shader file dropped onto the grid becomes the matching effect at that spot
dkulp — iPad - Press T to drop a timing mark at the play marker on the active timing track, and S to split the mark under it, so beats can be tapped out while the sequence plays
dkulp — iPad - Lyric breakdown can be run on a single word, or on just the marks you have selected, rather than only a whole track or a single phrase
dkulp — iPad - Effect presets can be exported as .xpreset and imported from one, so a preset library moves between the iPad and the desktop in either direction
dkulp — iPad - Models in the Master View can be dragged into a new order
dkulp — iPad - Long-press the render button to see per-model render progress, with the status of each model being rendered
dkulp — iPad - Layout changes are now autosaved. If the app is closed or crashes with unsaved layout work, the next open offers the autosaved copy back
dkulp — iPad - Previews can be renamed and deleted, not just created. Deleting one leaves its models in the show as Unassigned; renaming one takes its models with it
dkulp — iPad - The Layout Editor's preview now has the same viewpoint menu as the House Preview: apply, save, delete and restore the default view
dkulp — iPad - Several selected models can be exported to a single .xmodel file
dkulp — iPad - Models, groups and viewpoints can be imported from another show. Pick that show's xlights_rgbeffects.xml, tick what you want, and it merges into the preview you are editing; a name already in use is imported under a new one
dkulp — iPad - The visualizer can work on a whole port at once: remove every model from a port or from the controller, move a port's models to another port, and set or clear the port's smart remote and its type
dkulp — iPad - Controller output settings can now be edited for every ethernet protocol, not just E1.31, ArtNet and KiNET. KiNET gains its Version setting and labels its outputs as ports, and a controller with no known model can be set to Player Only
dkulp — iPad - Light Test gains Groups and Outputs targeting, so a model group or a raw universe can be tested directly, plus a filter box for finding what to test in a large show
dkulp — iPad - Check Sequence results can be exported and shared as an HTML report
dkulp — iPad - The AI image generator now shows all of a generator's settings, not just the ones offering a fixed list of choices
dkulp — iPad - Divide Timing Marks gained the missing 12 and 16 entries
dkulp — iPad - Opening a show that uses a base show folder no longer re- merges the base controllers when that file hasn't changed since the last merge. "Update From Base Now" still merges unconditionally
dkulp — iPad - Crash-report uploads no longer run while the app is launching
dkulp — iPad - Crash reports now carry a backtrace taken at the moment of the crash, plus every thread's stack and the recent-activity trace the desktop already sent
dkulp — iPad - Automatic diagnostic uploads now include a redacted copy of the show configuration, so a report can be opened as a show folder to reproduce a problem. File paths and controller addresses are replaced. Sharing logs yourself is unchanged and still sends the real files
Bug Fixes
dkulp — Export Models: fix the Bulbs total counting dumb string types (Single Colour, 3/4 Channel, Strobes, Node Single Colour) many times over, fix the per-model Light Count reporting only one string's worth of bulbs, and stop DMX fixtures such as moving heads having their pan/tilt/gobo channels counted as bulbs
dkulp — Fix the Single Strand FX effects rendering their first frame from uninitialised memory, which blanked part of the model and made the render non-deterministic
derwin12 — Fix the Text effect rendering nondeterministically (and occasionally crashing)
derwin12 — Fix Ripple effect shapes rendering very differently/broken since 2026.15 (#6934)
derwin12 — Fix a Custom value curve copying the prior effect's curve (#6937)
scott — Fix multi-row lasso-selected effects pasting 1-3 rows below the row you clicked (#6944)
derwin12 — Fix locked effects duplicating when dragged across rows/layers (#6697)
cybercop23 — Fix effect start/end times becoming corrupted when dragging an effect past another effect on the same row, then resizing it (#6908)
cybercop23 — Fix pasting effects onto a Model Group expanding it to show its member models/strands (#6900)
cybercop23 — Fix Face and State effect definition choices when switching between different model groups
dkulp — Fix a crash right-clicking the sequencer grid on a row with no element, and a crash when a row-heading right-click menu item is chosen after the sequence has been closed or reloaded
derwin12 — Don't re-prompt to use the rgbeffects autosave backup after the user already chose to discard those changes on exit
derwin12 — Fix Import Effects: picking a color for a mapped row (or dismissing the color picker) no longer toggles that row's Map To mapping off, and a narrow saved dialog size no longer clips the Color column
dkulp — Fix a crash selecting rows in the Select Effects panel after the listed effects had been deleted
dkulp — Fix a crash editing a State effect after the model it referred to was deleted or the show folder was changed
dkulp — Fix a crash opening a sequence whose effects use a "Per Model" buffer style the model does not support
dkulp — Fix a crash opening a sequence that stores more timing tags than xLights keeps
dkulp — Fix a crash importing a Vixen .vix sequence whose channel numbers are not contiguous
dkulp — Fix a crash opening the DMX effect panel when no sequence is loaded
dkulp — Fix a crash closing xLights while the Effect Assist panel was in automatic mode
dkulp — Fix a crash showing or hiding a panel from the View menu
dkulp — Fix a crash closing the Replace Color dialog with its colour dropdown open
scott — Fix a crash clicking in the Model Definitions preview (Faces/States) with nothing selected in the name list
dkulp — Fix a crash clicking Reverse Nodes in the submodel editor with no submodel selected
dkulp — Windows: fix sequence output running below the configured frame rate, dropping frames even though the average rate looked correct (#6954)
dkulp — Fix crashes starting playback when the audio engine had been stopped (such as after a pause or an audio device change) or had started but not begun playing yet
dkulp — Fix a crash starting or stopping playback with auto-show house preview enabled while the sequencer tab had never been opened
derwin12 — The render progress dialog no longer stays on top of other applications (#6795)
dkulp — A crash during a render could leave the program running but frozen instead of reporting the crash; the crash report is now always produced, and a render with no window writes its report to disk
dkulp — An exception raised by the graphics or video frameworks on a render thread was logged only as "non-std exception type"; it is now named and described
dkulp — Windows: fix renders with many video effects hanging forever with the DirectX11/MF decoder selected. Frame reads now have a deadline, a stalled video falls back to the software decoder, and how many videos the graphics driver can hardware-decode at once is learned as it goes
dkulp — Windows: the Intel QuickSync (qsv) hardware video decode option never actually engaged and silently decoded in software. It now works, measured about 3x faster than software decode where the hardware supports it
dkulp — A sequence referencing a picture that can't be found no longer re- checks the filesystem for it on every frame, which slowed rendering badly on cloud-backed show folders and filled the log
dkulp — Opening a sequence whose images are embedded in the .xsq no longer searches the disk for them; on macOS that pulled files evicted to iCloud back down, spending many seconds downloading images the sequence already contained
dkulp — Fix the headless render truncating models mapped past the last controller channel; those channels were missing from the .fseq and the straddling node corrupted the next frame. It now sizes the frame from the models too, matching the normal render
dkulp — Windows: re-enable the camera scan option in Generate Custom Model
xLights always reported no cameras
dkulp — Windows/Linux: fix a crash on startup when the machine falls back to the software OpenGL 1.1 rasterizer - the preview now draws nothing instead of crashing
dkulp — Fix a crash drawing the 3D layout preview, and re-enable a family of NaN/infinity guards that optimized builds had been silently discarding
dkulp — Fix a crash loading a show folder while models were resolving file paths on background threads
dkulp — Fix crashes reading .fseq files with unreadable or out-of-order compression block tables, including importing a Falcon fseq
dkulp — Port FSEQ read hardening back from FPP - a corrupt .eseq with a zero channel count no longer divides by zero, and a frame whose channel buffer could not be allocated is reported as unread instead of crashing
dkulp — macOS: fix a crash using the Add Controller button on the Layout tab
dkulp — Fix a crash on the Layout tab when a controller placement box is left behind by a controller that no longer exists
dkulp — Fix a crash selecting in the model tree straight after an undo that deleted or replaced the selected model
dkulp — Fix a crash deleting a position zone when the zone list changed while the confirmation prompt was up
dkulp — Fix a crash placing a model when a dialog appears part way through loading it, such as the group-selection prompt on an imported model
dkulp — Fix a crash updating serial controllers from the base show folder when the base folder's serial ports differ from the current show's
dkulp — Fix a crash setting a model's serial Speed in the Layout property grid straight after changing its protocol
dkulp — Fix memory corruption loading a terrain object with invalid stored elevations
dkulp — Fix a crash choosing an OBJ mesh whose backup copy cannot be written, and leave the original file untouched in that case
derwin12 — Replace Model(s) With This Model now deletes the source model once it has replaced the selected target(s), and no longer overwrites the target's aliases with the source's; the Model Aliases dialog gains an Edit button (#6901, #6951)
derwin12 — Fix Remove From Group leaving a model's submodels behind in the group when the model itself is removed (#6925)
derwin12 — Fix rotation not applying to all selected polyline models in a group
derwin12 — Fix the estimated current draw shown in the controller visualizer tooltip to account for brightness inherited from earlier models chained on the same port
kylegrymonprez — Layout: fix edge cases where a controller's "Show on Layout" would not appear in the property grid
scott — macOS: fix the new Print Layout dialog becoming stuck behind the main window and unresponsive to clicks
dkulp — Fix a crash when a WLED controller answers with an error page instead of JSON, such as an offline controller reached through a proxy
dkulp — FPP Connect: uploading UDP outputs no longer resets FPP10's E1.31 Pacing and Sending mode - every setting on the universes output that xLights does not own is carried forward unchanged
derwin12 — Bulk Controller Upload, sorting the controller list by FPP Proxy, and the Multi-Controller Upload "Select with Proxy" menu no longer stall when a proxy hostname can't be resolved
dkulp — Updating from a base show folder now gives the current show a new id if it has the same one as the base, so two shows set up by copying no longer count as one in submitted reports
dkulp — iPad - Fix a crash when changing the show folder while a sequence was still rendering or the preview was drawing
dkulp — iPad - Changing a sequence's frame interval now saves, closes and reopens the sequence so effects move onto the new interval, as the desktop does. It asks first, and warns again when moving to a longer interval
dkulp — iPad - Delete Submodel/Strand/Node Effects, Promote Node Effects, Convert Data to Effects, Convert to Per-Model, Breakdown Words and Fill Region From Timing Marks can now be undone
dkulp — iPad - Playback now follows the audio track picked in the waveform, so selecting a stem plays that stem
dkulp — iPad - A newly dropped State effect starts on the model's first state, and a Faces effect on the phoneme it does on the desktop, instead of starting blank
dkulp — iPad - A newly dropped effect now starts with the same palette as the desktop: the same eight colours in the same order, with the first two enabled. Previously the new effect rendered with an empty palette
dkulp — iPad - Effects that follow a timing track or another model now re- render on their own when the thing they follow changes, instead of showing a stale result until the next Render All
dkulp — iPad - Preset and group names with illegal characters or collisions are corrected when the library loads, as they are on the desktop
dkulp — iPad - Views are saved again. Every view edit (create, rename, clone, delete, change models) was lost on relaunch. Renaming a model now updates the views that contain it too
dkulp — iPad - Blank the lights when playback stops or output to lights is switched off, instead of leaving them holding the last frame
dkulp — iPad - Controllers can no longer be added, deleted, reordered, edited or uploaded while the show is outputting to lights
dkulp — iPad - Controller discovery now probes the controllers already in the show rather than relying on broadcast alone, so an FPP on another subnet or behind a proxy is found, and a password-protected FPP asks for the password instead of being skipped
dkulp — iPad - Cleanup File Locations now also gathers the files referenced by the layout - face images, dimming curves, mesh and image files, and the preview background - not just the ones used by the sequence
dkulp — iPad - A show still using the old networks file format is converted once and saved, instead of being reconverted every time it is opened
dkulp — iPad - FPP Connect sends a master-mode FPP a non-sparse sequence file, matching the desktop, so a master player has the channel data its remotes need
dkulp — iPad - AI-generated images are now stored inside the sequence rather than as loose files in the show folder, so a sequence copied off the iPad keeps them
dkulp — iPad - The sequence picker no longer stutters on show folders stored in iCloud Drive
dkulp — iPad - Fix sustained CPU use, and the battery drain with it, when scrolling the sequencer in a show with many rows
dkulp — iPad - Help / Release Notes no longer lands on a missing page for a patch release that has no release notes of its own
Changes
scott — The Layout tab's "Show Names"/"Show Start Channel" checkboxes moved into the new Print Layout dialog - they now control labels only in the print preview/output, not while editing
cybercop23 — Opening a sequence stored outside the show directory now warns first, and Save requires saving inside the show directory (Save As already ensured that)
dkulp — Windows/Linux: the playback timer no longer uses a dedicated thread
Linux uses the platform timer directly and Windows waits on a high resolution timer
dkulp — Windows: AVI videos now always use the software decoder, matching macOS. Media Foundation decoded them on the CPU anyway while occupying one of the few hardware decoder sessions, so a sequence with several AVI videos could stall or hang the render - another reason to re-wrap AVI media as mov/mp4
dkulp — Crash reports for an exception escaping the main loop now say when the stack was unwound by neither the C++ nor the Objective-C runtime, instead of reporting an unhelpful "unknown exception"
dkulp — iPad - View names are held to the same rules as the desktop (letters, numbers, spaces, underscores and hyphens) and say so when a name is rejected
dkulp — iPad - The value curve editor no longer offers Min/Max fields or a Real Values switch; both now behave as they do on the desktop