Skip to content

DMXRouter 1.7.1

Choose a tag to compare

@fiverecords fiverecords released this 25 Mar 22:07
· 25 commits to main since this release
0afed58

Software Version Column

A new Software column in the RDM device tree shows each fixture's software version label at a glance. Hidden by default — right-click the tree header to enable it. Useful for spotting firmware mismatches across a fleet without selecting each device individually.

Manufacturer PIDs Tab

A dedicated Mfr PIDs tab in the RDM inspector lists all manufacturer-specific PIDs (0x8000–0xFFDF) reported by the device's SUPPORTED_PARAMETERS response. PARAMETER_DESCRIPTION is automatically queried for each manufacturer PID when selecting a device — when supported, the table shows human-readable names, access types (GET/SET), data types, and valid ranges. Use the GET button to read a PID, SET to write it with hex data, or GET All to read every readable manufacturer PID at once. Values are automatically displayed as ASCII text when printable, as decimal numbers for short numeric values, or as hex for binary data.

Flat View

A new Flat View toggle in the tree toolbar shows all fixtures as a flat list without the gateway/port hierarchy. This allows global sorting by any column — click on Name, DMX, FID, Manufacturer, Model, or Software to sort all fixtures across all nodes at once. Essential for large installations where you need to find all fixtures of a specific model, or sort the entire fleet by lamp hours or firmware version.

Expand All / Collapse All

Two new buttons above the RDM device tree let you expand or collapse all nodes with one click. Essential when working with large installations where scrolling through 50+ gateways and ports becomes impractical.

Improved DMX Conflict Details

DMX address overlap warnings now show exactly which fixtures conflict and their channel ranges in the tooltip. Instead of the generic "DMX address overlap with another device on this port", you now see: "⚠ Overlaps with: Fixture A (1–12), Fixture B (5–16)".

Bug Fixes

  • The RDM device tree Name column no longer uses stretch mode. All columns are now individually resizable with a horizontal scrollbar appearing when the total width exceeds the panel. Previously, the stretch mode prevented the scrollbar from appearing when many columns were enabled.
  • Gateway node names in the RDM tree no longer include the IP address in parentheses. The IP is already shown in the UID column, allowing independent sorting by name or by IP.
  • The RDM device tree no longer forces DMX address sort order every refresh cycle. Clicking a column header now sorts devices by that column persistently, both within ports (hierarchical view) and globally (flat view).
  • The selected device in the RDM tree now remains visually highlighted even when focus moves to the inspector tabs. Previously the selection became invisible when clicking on a tab, making it unclear which device was selected.
  • Fixed the Manufacturer PIDs tab showing an empty list. The tab was sourcing PIDs from PARAMETER_DESCRIPTION responses only; devices that list manufacturer PIDs in SUPPORTED_PARAMETERS without supporting PARAMETER_DESCRIPTION had no entries. Now uses SUPPORTED_PARAMETERS as the source and enriches with description metadata where available.
  • Fixed the Manufacturer PIDs GET, SET, and GET All buttons silently failing. The PID text format "0x8000" was parsed with base 16 which does not accept the "0x" prefix. Now uses the stored integer value directly.
  • Fixed the PID Browser GET and SET buttons failing for PIDs entered with "0x" prefix in the hex field. Changed from base-16 parsing to auto-detect (base 0) which accepts both "8000" and "0x8000".
  • Widened narrow tree columns (DMX, FID, Status, Last Seen) and set a minimum column width of 40px to prevent the sort arrow from overlapping column text.
  • Fixed the RDM device tree sorting columns like DMX address and Fixture ID alphabetically instead of numerically (e.g. "113–128" appeared before "1–16"). Numeric columns now sort by their actual values.
  • Fixed RDM ACK_TIMER responses causing infinite retry loops with certain fixtures. Retries are now capped at 5 attempts per transaction.
  • Fixed RDM QUEUED_MESSAGE drain running indefinitely on devices that always report messageCount > 0. A 30-second cooldown prevents continuous retry after finding an empty queue.
  • Fixed RDM status messages not being read from devices that use the direct-read model (GET STATUS_MESSAGES) rather than the queued notification model.
  • Fixed the RDM Status tab description text being cleared every 300ms by the periodic refresh.
  • Status tree indicators now show green checkmark when only advisory messages are present. Only warnings and errors display the warning icon.
  • Fixed DEVICE_UNIT_NUMBER (Fixture ID) using 2-byte format which caused errors on fixtures that implement the 4-byte variant. GET now accepts both formats; SET sends 4 bytes.
  • Fixture ID now populates automatically during RDM discovery instead of requiring a manual fetch. A single GET DEVICE_UNIT_NUMBER is sent after the basic probe completes for each device.
  • PARAMETER_DESCRIPTION is now requested automatically during extended info fetch for all manufacturer-specific PIDs, instead of requiring a manual "Fetch Advanced" click. This populates the Mfr PIDs tab with human-readable names as soon as a device is selected.
  • Manufacturer PIDs values are now displayed as readable text: ASCII strings when all bytes are printable, decimal numbers with hex reference for short numeric values, or hex dump for binary data.
  • RDM queued change notifications for non-status PIDs are now detected and the affected PID is automatically re-fetched.
  • Fixed sensor values displaying raw integer values instead of applying the SI prefix from the sensor definition. Values now show correct decimal places (e.g. 4.5 V instead of 45, 30.0 °C instead of 300).
  • Widened the Sensor Unit column to prevent truncation of values like "A DC" and "Centigrade".
  • Suppressed expected NACK log entries for SELF_TEST_DESCRIPTION, STATUS_ID_DESCRIPTION, and PARAMETER_DESCRIPTION during iterative discovery.
  • Rearranged the Remote Control panel layout — Value Reference and Action Log are now side by side.

Platform Availability

Windows

Download and run DMXRouter-Setup.exe. All dependencies included. UAC will prompt for administrator privileges automatically if your account has them — this enables VLAN management without needing to right-click "Run as administrator".

VLAN management requires Windows Pro/Enterprise with Hyper-V enabled.

Linux

Download the binary for your architecture:

  • DMXRouter-v1.7.1-linux-x86_64.zip — standard PCs and servers
  • DMXRouter-v1.7.1-linux-arm64.zip — Raspberry Pi 4/5, Orange Pi, ARM64 boards

Qt6 runtime required:

# Ubuntu / Debian / Raspberry Pi OS
sudo apt install libqt6core6 libqt6gui6 libqt6widgets6 libqt6network6 libqt6websockets6 libqt6openglwidgets6

# Fedora
sudo dnf install qt6-qtbase qt6-qtwebsockets

# Arch
sudo pacman -S qt6-base qt6-websockets

Then: chmod +x DMXRouter && ./DMXRouter

VLAN management requires NetworkManager (sudo apt install network-manager if not present). No need to run as root — the app prompts for your password when needed. VLANs persist across reboots.

macOS

Download the .app bundle (Qt6 frameworks bundled). Requires macOS 13.0 (Ventura) or later.

First launch: macOS quarantines apps downloaded from the internet. Double-click install.command (shipped alongside the app) to remove the quarantine and sign it locally — you only need to do this once. Alternatively, run manually in Terminal:

xattr -cr DMXRouter.app
codesign --force --deep --sign - DMXRouter.app

Important: Disable the macOS Application Layer Firewall for reliable real-time DMX operation (System Settings → Network → Firewall → OFF). If you need firewall protection, use PF (pfctl) instead — see the v1.5.6 release notes for details and example rules.

No need to run with sudo — the app prompts for your password when needed. VLANs appear in System Settings → Network and persist across reboots.