Skip to content

Releases: bhdoggett/lightz

v0.2.9

Choose a tag to compare

@bhdoggett bhdoggett released this 28 Jul 03:17

What's New

  • Scene rename warning — renaming a scene that would change its Companion HTTP endpoint now shows a warning with the old and new URLs before saving, so you don't lose a configured Companion button without knowing.
  • Unique scene names — scene names must now be unique; the save/edit dialog shows an inline error and disables Save on a duplicate.
  • Load a show from file on the launch screen — a new "Load from file…" button next to "+ New Show" lets you import a .json show without creating a blank one first.

Fixes

  • Fixed scene editing getting permanently stuck (Save disabled) for shows containing legacy duplicate-named scenes from before unique names were enforced.
  • Fixed a stray empty popover appearing when switching between the Full and Custom tabs.

Docs

  • Documented a Gatekeeper xattr workaround for running the unsigned app on macOS.

v0.2.8

Choose a tag to compare

@bhdoggett bhdoggett released this 07 Jul 18:51

What's new

Enttec Mk2 dual-port support

Universe 1 and Universe 2 now transmit on dedicated physical ports — U1 on Port 1, U2 on Port 2. No configuration needed. This required reverse-engineering two undocumented initialization packets from the QLC+ source code (enttecdmxusbpro.cpp), which helpfully comments the magic API key as "Magic number... ??". The Output Port dropdown has been removed from Settings since routing is now automatic.

Shows modal improvements

  • Load from file… button opens a native file picker to load a .json show file directly, without needing to drag/drop or manually copy files.
  • Drag/drop fix — dragging a .json show file into the Shows modal previously loaded the show in the UI but left the electron-side config untouched, causing the next save to write empty data. This is now fixed.

Downloads

File For
Lightz-0.2.8-arm64.dmg Apple Silicon (M1 and later)
Lightz-0.2.8.dmg Intel Mac

v0.2.7

Choose a tag to compare

@bhdoggett bhdoggett released this 03 Jul 22:34

Fader card consistency

  • Standardized height and spacing across single-channel, group, and multi-fixture faders (collapsed and expanded) so they all share the same visual shape
  • Added a "GROUP" label above group names, and thin divider lines between adjacent channels
  • Standalone single-channel and multi-fixture faders now show a card border, matching groups
  • Gear/swatch/expand controls and per-channel link icons are properly centered within their footer area

Editing / interaction fixes

  • Clicking a selected fixture in edit mode now deselects it
  • Clicking "+" now exits edit mode
  • Multi-channel sub-faders are disabled and their linked/unlinked state highlighted while editing
  • Single-channel fixtures no longer overlap multi-channel fixtures in the layout
  • New multi-channel fixture drafts auto-populate their first channel row; the channel-conflict toast now appears inside the affected draft card instead of a shared banner

Visual polish

  • Color swatch stays visible (but inert) while editing, instead of dimming
  • A multi-channel fixture's master fader is now labeled "MULTI"

v0.2.6

Choose a tag to compare

@bhdoggett bhdoggett released this 02 Jul 19:32

Fixtures: Edit Mode

  • New "+" add menu and an "Edit" toggle replace the old always-visible add buttons in the fixtures section
  • Edit mode adds click / Cmd-click / Shift-click multi-select, with a "Remove (n)" button for bulk deletion
  • Drag-to-reorder via a dedicated grip handle, including dragging channels into, out of, and between groups
  • Groups can now be "Unpacked" (ungrouped, keeping their fixtures) via a clearly visible button that replaces the inert full/mute buttons while editing
  • Selecting a group and hitting Remove deletes the group and its fixtures together; Unpack only dissolves the grouping
  • Cleaned up visual noise: removed redundant per-fixture group-color dots/borders (the group's own card already shows its color), fixed slider centering, and gave the drag handle a proper grip icon

Fixture Creation

  • CreateFixtureModal rewritten as a single-screen, grid-based UI for building custom fixtures
  • New AddMultiChannelFixturesModal for batch-creating multiple multi-channel fixtures at once
  • Add/Save is now disabled when a channel conflict is active, with clearer conflict messaging via a new Toast component
  • The "+" add menu's fixture options are now clearly labeled for single-channel vs. multi-channel vs. group creation

Fixes

  • Empty-fixtures message is now centered, larger, and no longer references a single specific button

v0.2.5

Choose a tag to compare

@bhdoggett bhdoggett released this 01 Jul 16:09

Inline Group Cards

  • Groups now appear as expandable cards directly in the fixtures section alongside individual channels
  • Expand a group to see and control all its fixtures inline; collapse to show just the group master fader
  • Group master fader snaps all linked channels to full or mute with ○ / ✕ buttons
  • Group name is now editable inline — click it directly without opening the settings modal
  • Drag channels onto a group card to add them to the group

Multi-Channel Fixture Improvements

  • Expanded multi-channel fixtures no longer show a full border box — only subtle left/right vertical rules appear between neighbors, and only when there's actually an adjacent channel on that side
  • Sub-channel faders align vertically with all other faders (no top-padding offset)
  • Fixture name area spacing corrected so the group color line lands at the same height as adjacent channel names

Layout & Toolbar

  • Wrap / Scroll layout modes are now two explicit buttons (always one clearly selected) in the far-right of the fixtures toolbar
  • Add Channels, Add Custom Fixture, and Add Group buttons remain centered in the toolbar
  • Horizontal scroll mode now applies to group fixture panels as well

Fader Alignment

  • Group master fader uses a fixed height matching standard channel faders — no more excessive vertical stretch
  • Fader thumbs and group color lines now align consistently across single channels, group masters, and multi-channel sub-faders

v0.2.4

Choose a tag to compare

@bhdoggett bhdoggett released this 01 Jul 01:33

What's new

Scene group states

  • Save and restore group fader/mute/override states per scene
  • Per-group opt-in buttons in the save/edit dialog — choose which groups get captured in each preset
  • Group states restored when activating a scene via Companion
  • Current channel values now captured when updating an existing scene

Launch experience

  • App now opens with a startup dialog — pick an existing show or start a new one
  • No more landing on a blank canvas with no context

Visualizer

  • Cmd+drag marquee selection adds to existing fixture selection

v0.2.3

Choose a tag to compare

@bhdoggett bhdoggett released this 25 Jun 19:44

Bug fixes & improvements

  • All Off now resets group overrides — fixtures set to Full or Mute via a group are properly silenced
  • Stage layout changes (moving fixtures in the visualizer) now mark the show as unsaved and trigger the save button
  • Collapsed visualizer — compact dots scroll horizontally when there are many fixtures; pop-out button always stays visible
  • Visualizer zoom minimum reduced to 15% in scroll mode
  • Click to select fixtures in edit mode — single click highlights; Shift+click range-selects; Cmd+click toggles
  • Keyboard shortcuts (F/C/V/⇧V) are now guarded against firing when a text input is focused
  • Keyboard shortcuts reference accessible via (i) → Keyboard shortcuts

v0.2.2

Choose a tag to compare

@bhdoggett bhdoggett released this 25 Jun 15:41

What's new

Visualizer

  • Starts collapsed by default
  • Pop-out button visible even when collapsed
  • Pop-out window opens larger (1200×800)
  • Collapsed/expanded state is remembered across pop-out and dock
  • ⌘ + scroll to resize fixture circles; pinch to zoom in scroll mode; scroll to pan
  • Finer circle size steps when scrolling

Fixtures (Custom view)

  • New layout toggle: switch between wrapping rows and horizontal scroll
  • Horizontal mode shows Universe 1 and Universe 2 side by side with labels above
  • Tightened spacing between the add-channel buttons and universe sections

Keyboard shortcuts

All shortcuts are blocked when a text input is focused.

Key Action
F Switch to Full view
C Switch to Custom view
V Expand / collapse visualizer
⇧V Pop out visualizer

Full shortcut reference available via (i) → Keyboard shortcuts.

Bug fixes

  • Favicon background made transparent (web demo)
  • Update-available banner now checks GitHub releases

v0.2.1

Choose a tag to compare

@bhdoggett bhdoggett released this 24 Jun 18:42

What's New

Visualizer — Marquee Selection & Group Drag

  • Draw a rectangle on the stage to select multiple lights
  • Cmd+click to toggle individual lights in/out of selection
  • Drag any selected light to move the entire group, maintaining relative positions
  • Ghost circle + snap indicators show where lights will land before you drop
  • Invalid placements (collisions, out of bounds) shown with red indicators
  • Delete/Backspace removes selected lights from the grid (returns them to unplaced)

Visualizer — Fit/Scroll Mode

  • Toggle between fit-to-window and fixed-proportion scroll mode
  • In scroll mode, grid cells are always perfect squares regardless of window size
  • Zoom slider controls the stage size; stage is scrollable in both directions

Visualizer — Multi-Select Unplaced Fixtures

  • Click to select, Shift-click for range, Cmd-click to toggle
  • Drag selected fixtures onto the grid as a group
  • Hold Shift during drag to place vertically instead of horizontally
  • Drop blocked with red indicators when any cell is occupied or out of bounds

Fader Improvements

  • Click the channel value above any fader to type a DMX value directly (0–255)
  • Universe prefix shown on all channel labels in the visualizer

Bug Fixes

  • Fix crash when dragging groups (effect dependency re-registration loop)
  • Unplaced sidebar stays pinned to window edge in scroll mode

v0.2.0

Choose a tag to compare

@bhdoggett bhdoggett released this 22 Jun 01:51

What's New

Light Visualizer

  • 2D stage layout with draggable light positions
  • Grid-based editing with snap-to-grid, add/remove rows and columns
  • Multiple visual lights per DMX channel (one channel → many fixtures)
  • Unplaced fixtures sidebar with drag-to-place and auto-place
  • Pop-out to separate window, dock back inline
  • Adjustable bulb size, label toggle, edit mode with channel numbers
  • Group overrides (mute/full/percent) reflected in visualizer
  • Collision prevention — lights can't overlap on same grid point

Group Fader Indication

  • Fader fill shows effective output level when a group scales it
  • Full opacity fill to effective value, dimmed fill to fader position
  • Single-channel fixtures use group color as fader fill

Web Build Target

  • npm run dev:web / npm run build:web for standalone SPA
  • API Provider pattern abstracts Electron IPC vs in-memory web adapter
  • Show persistence via localStorage with protected Demo show
  • Dockerfile for static deployment

Architecture

  • Components reorganized into folder-per-component structure
  • LightVisualizer decomposed into focused hooks and utils
  • Shared DMX utils extracted for fade interpolation

Downloads

File For
Lightz-0.2.0-arm64.dmg Apple Silicon (M1/M2/M3/M4)
Lightz-0.2.0.dmg Intel Mac