Skip to content

DMXRouter 1.5.2

Choose a tag to compare

@fiverecords fiverecords released this 09 Mar 06:31
· 67 commits to main since this release
348d826

Show Cue Playback — Sequential Slot Mapping

  • Show playback no longer requires matching engine indices. Previously, a recorded show would only output correctly if the subscribing engines had the same indices as the engines that were active during recording. In practice this meant you had to delete input-only engines to make outputs work, or set up engines in the exact same order as when the show was recorded.
  • Now, when an engine selects a show as its input source, it is automatically assigned the next available slot in recording order. The first engine to subscribe to Show 1 gets the first recorded PE's data, the second gets the second, and so on — regardless of their engine index. Disabled engines do not consume a slot.
  • Recorded PE indices are sorted into a canonical order per show, so the mapping is consistent across cues, crossfades, sequence playback, blackouts, and keep-alive frames.
  • Recording feedback loop protection: engines that have a play input subscribed to the show being recorded are automatically excluded from capture. This prevents the show's own playback data from being re-recorded into itself.
  • Show removal during recording: removing a show that is being sequence-recorded now stops the recording first. Removing a show before the recording target adjusts the index correctly.

Show Cue — UI Redesign

  • "⏺ REC" → "◉ Take" — the snapshot capture button is now called "Take" to clearly convey it captures a single instant, not a time-based recording.
  • "⏺ SEQ" → "⏺ Rec" — the sequence recording button is now "Rec", which is the intuitive label for time-based recording. During recording it shows "⏹ Stop Rec".
  • DMX remote trigger for sequence recording — the Record Trigger channel now accepts values 141–180 to start/stop sequence recording for shows 1–40 (in addition to 101–140 for snapshot takes). Sending the value again while recording stops it. If recording a different show, the current recording is stopped first.
  • Collapsible trigger config — the Play Control and Take/Rec Trigger configuration panels are now behind a "▸ DMX Trigger Config" toggle at the bottom, collapsed by default. The cue table gets the full height when triggers are already configured.
  • Compact address fields — Net, Subnet, Universe, and Absolute are now on a single row instead of four separate rows. Protocol and Channel share a row. Switching to sACN collapses the Art-Net fields cleanly. Universe and Absolute spins have a minimum width of 75 px to fit 5-digit sACN values.
  • Save/Load moved to top bar — Save… and Load… buttons are now in the show toolbar next to +/− instead of buried in the config panel.
  • Status label moved to transport bar — the playback status (STOPPED / PLAYING / Recording…) is now next to the Autopilot button where it has more space, instead of competing with Save/Load.
  • Top bar layout — show controls are left-aligned, default cue settings are right-aligned, with a stretch separator between them.

Show Cue Table Improvements

  • Cue type "Snap" renamed to "Snapshot" — the Type column now shows "Snapshot" instead of "Snap" to clearly distinguish it from the "Snap" fade curve, which remains unchanged.
  • Column header tooltips — all 10 columns now have descriptive tooltips explaining their purpose: Reps (repeat count for autopilot), PEs (number of Process Engines in the cue), Hold (auto-advance delay), Curve (fade shape), Loop (sequence play mode), and others.
  • Row height increased — from the default to 34 px so the embedded Curve and Loop combo boxes are fully visible instead of being clipped.
  • Hover selection fixed — moving the mouse over the cue table no longer auto-selects rows, matching the fix applied to other tables with embedded widgets.
  • Hold column: spin box instead of text — the Hold column now uses a numeric spin box with "Manual" displayed at value 0, instead of requiring the user to type "Manual" as text. Arrows and direct input both work.
  • Double-click GO on editable columns — double-clicking the Name, Fade, Hold, Curve, Loop, or Reps column no longer fires the cue. GO is only triggered on read-only columns (Number, Type, PEs, Recorded).
  • Disabled cell shading — Hold is shaded for Sequence cues, Loop and Reps are shaded for Snapshot cues, making it visually clear which fields don't apply to which cue type. Playback highlighting overrides the shading and restores it when the cue is no longer active.

Engine Editor Improvements

  • Input fields shaded when source is internal/play — Protocol, Net, Subnet, Universe, Absolute, and Source IP fields are now visually dimmed when the input source is an engine or a show, since these fields don't apply to internal routing.
  • Output Tx Mode column widened — from 95 to 110 px so "Broadcast" is no longer clipped.

Keyboard Shortcuts

  • Alt+8 now opens the RDM Emulator panel (previously had no shortcut).
  • Broker moved to Alt+9, LLRP to Alt+0. Remote Control no longer has a shortcut.

Template Table Fixes

  • Row height: the editable DMX Address spin box was clipped inside the 22-pixel default row height. Increased to 34 px.
  • Column widths: "DMX Addr" widened to 95 px, "Settings" widened to 120 px to prevent text truncation.
  • Hover selection: moving the mouse over the template table no longer auto-selects rows.
  • Settings count: the DMX address is only counted as an active parameter when the global "Apply DMX address" toggle is on. Toggling the checkbox updates the count immediately.

RDM Emulator Fixes

  • Protocol toggle Art-Net ↔ sACN addressing: the emulator was using sACN universe = PA (Port-Address) while the rest of the application uses sACN universe = PA+1 (matching Art-Net Absolute). This caused the universe number to drop by 1 every time the protocol was toggled, and PA=0 (Art-Net Absolute 1) produced an invalid sACN universe of 0. All four display and save paths now use the PA+1 convention.
  • Create/Edit dialog table rows: row height increased to 38 px so descender letters like "p" and "g" are no longer clipped.
  • DEVICE_HOURS and DEVICE_POWER_CYCLES: emulated devices now respond to these PIDs. Values are captured from real devices and default to 0 for manually created profiles.