Releases: bhdoggett/lightz
Releases · bhdoggett/lightz
Release list
v0.2.9
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
.jsonshow 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
xattrworkaround for running the unsigned app on macOS.
v0.2.8
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
.jsonshow file directly, without needing to drag/drop or manually copy files. - Drag/drop fix — dragging a
.jsonshow 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
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
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
CreateFixtureModalrewritten as a single-screen, grid-based UI for building custom fixtures- New
AddMultiChannelFixturesModalfor 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
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
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
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
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
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
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:webfor 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 |