-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A local clip library and metadata manager built around the Resolume workflow. Stagehand keeps a fast searchable database of your VJ media on disk, lets you tag/rate/group clips, syncs that metadata back into the files via ExifTool so it travels with them, and pushes clips into Resolume with one keystroke.
Cross-platform: a Windows (WPF) build and a macOS (Avalonia) build, both with native bundled tools and Apple notarization on the Mac side.
- Installation
- First launch
- Core features
- Licensing
- Platform differences
- Roadmap & in-flight work
- Reporting issues
- Download
StagehandVJ-Beta-Setup-*.exefrom the latest beta release. - Run it — the installer is per-user (writes under
%LOCALAPPDATA%\Programs\Stagehand VJ Beta Demo\), no admin prompt. - Launch from Start Menu or the desktop shortcut.
- Download the matching
*-osx-arm64-drag-install-signed.zip(Apple Silicon) or*-osx-x64-drag-install-signed.zip(Intel). - Double-click the .zip to extract
Stagehand VJ Beta Demo.app. - Drag the .app to
/Applications. - Double-click. Gatekeeper accepts it on first launch — the app is Apple Developer ID signed + notarized + stapled, so there's no right-click → Open dance.
No dependencies needed. ExifTool, FFmpeg, and FFprobe are bundled inside the installer/app at native arch. The .NET 8 runtime is also self-contained. Out-of-the-box.
On the very first launch you'll see two dialogs in sequence:
- Metadata Storage Mode — pick how Stagehand should write metadata back into your files (in-place, copy-and-overwrite, .xmp sidecar, or database-only). Default is "copy-and-overwrite" which is safest.
-
License — paste a license key from your Stagehand VJ purchase email, or skip to keep using the demo. Click Buy Stagehand VJ to open
www.stagehandvj.comif you haven't bought yet.
After that, drag a folder of clips into the main grid (or use File → Scan Folder...) and start tagging.
- Drag-drop files or whole folders into the main grid
-
File → Add Files...,Scan Folder...,Import from Folder... -
Auto-Tag from Folder Names— converts your existing folder structure into tags in one pass - Supported formats:
.mov .mp4 .avi .webm .mkv .gif .png .jpg .jpeg .tiff .dxv .hap - Idle background refresh — newly imported clips appear automatically when you're not actively searching/selecting
- Match modes:
ALL terms must matchorANY term matches - Scopes: All fields / Filename / Tags / Collections / Metadata
- Collection filter dropdown
- Tag browser sidebar with click-to-filter and Ctrl-click to add/remove on selected clips
- A–Z tag alphabet jump strip
- Search suggestions based on existing vocabulary
- Show / Hide Missing filter for orphaned database entries
- Multi-tag input parses comma-separated entries
- Apply to one or many clips at once — selection is preserved after tagging so you can chain edits
- Inline grid editing — type tags directly into the Tags column cell
- Drag clips onto a tag in the sidebar to assign
- Chip-based tag selector in the clip details panel for fast removal
- Group clips into named collections (sets, moods, shows, prep lists)
- One clip can belong to many collections
- Click an empty-target collection to filter the grid; click while clips are selected to assign
- Ctrl-click for multi-collection assignment
- Rename and delete (deletes the association, never the files)
- Drag clips onto a collection row to add
Per-clip editable fields beyond tags/collections:
- Artist
- Year Made
- Year Acquired
- Rating (0–5 stars, clickable directly in the grid)
- Comments (free-form notes)
Multi-clip batch edits use a "tick what to apply" panel so you can't accidentally overwrite Artist on 50 clips when you only wanted to change Rating.
- FFmpeg-powered playback inline in the right panel
- Double-click a clip to start playback
- Loop toggle
- Alpha/checkerboard mode for transparent clips
- Buffering indicator so large 4K clips don't appear frozen
- Frame thumbnail cache keyed by file hash
- Sortable, resizable, reorderable columns
- Right-click any column header OR
View → Columnsto toggle: Artist / Year Made / Year Acquired / Tags / Rating / Collections / Comments / Path - Per-row preview thumbnail with file-info line (codec, DXV quality, FPS, alpha presence, resolution)
- Inline editing for Tags, Collections, Artist, Year, Rating, Comments
- Star rating clickable directly in the grid
- Mac shows a small marquee progress bar in each cell that's queued for thumbnail generation
- Live status indicator in the top-right (Connected / Disconnected)
-
Preferences → Resolume Connection...lets you set a non-default host/port with a Test button + persisted URL (covers same-machine, LAN, or non-8080 setups) -
Load to Resolumepanel:- Layer + Column targeting
- Auto-advance column after load
- Auto-trigger after load
- Load to Next Empty Slot
- Overwrite to Selected Slot
-
Paste Clips from Resolume (
Ctrl+Shift+V) — drops the copied clip path into Stagehand -
Open in Resolume Alleyfrom any clip's context menu -
F5reconnects on the fly
- LIVE button strips the UI to a performance layout
- Pin on Top keeps the window above Resolume
- Designed for sitting on a strip beside Resolume during shows
The two-layer architecture — fast local DB + portable file metadata.
-
Export Metadata to Selected Files— DB → file (selected clips) -
Export All Metadata to Files— DB → file (whole library) -
Import Metadata from Selected Files— file → DB -
Import Metadata from Entire Folder— bulk file → DB - Background queue: inline edits auto-sync to file metadata so you don't have to manually re-export every change
- Cancel button on bulk writes — current file finishes (no half-written files), the rest of the queue is skipped
- Configurable metadata storage mode (copy-and-overwrite / in-place / .xmp sidecar / database-only)
Fields mapped to standard metadata:
- Tags → Windows Tags, XMP Subject, IPTC Keywords, QuickTime keywords
- Rating → XMP rating, Microsoft shared rating, QuickTime rating, rating-percent
- Artist → Artist / Creator / Windows contributing-artist fields
- Year Made → XMP year-style fields
- Year Acquired → Windows Media Created
- Collections → Genre + supplemental category fields
-
Comment → structured backup (
Tags: x, y | Artist: z | ...) for cross-tool compatibility
Import priority on read: Windows shell properties → native XMP/EXIF → Stagehand's structured comment fallback.
- Startup file-location check detects clips moved/deleted outside Stagehand
- Skip checking button on startup — for large libraries; clips are then verified lazily as you click them
- Show/Hide Missing filter
-
Relink Missing Fileper row,Relink Files.../Relink Folder...for bulk - Smart cross-relink: when you relink one file, Stagehand checks the same folder for other missing files with matching names
-
Remove from Database— single popup with a "Also clear Stagehand metadata from file(s)" checkbox so you can scrub the file metadata Stagehand previously wrote in one action
The DB carries metadata about itself:
- Created by (user name)
- Created at timestamp
- Last modified timestamp
- File size
- User comment (e.g. "Touring rig 2026 main library")
Shown at the top of the Database & Paths panel so when you swap DBs between machines you know exactly what you're loading.
- Idle background refresh keeps the grid in sync after imports / metadata writes
- Status bar shows live ExifTool + FFmpeg status (so you know if a feature is unavailable before you try it)
- In-app warning dialogs instead of system error sounds, with suppress-and-remember
- Unsuppress All Warnings preference to reset
-
Keyboard shortcuts:
Ctrl+Enterload selected to Resolume,Ctrl+Shift+Vpaste from Resolume,F5reconnect - Quick Start + User Guide bundled in the install, openable from Help menu
Stagehand VJ uses Lemon Squeezy license keys. One-time purchase, lifetime use, no subscription.
- 2 activations per license — covers a laptop + a backup rig
-
Deactivate from the app (
Help → License...) to free a slot when retiring a machine - Buyer portal link inside the dialog for self-service activation management + key recovery
- 7-day offline grace period after the last successful validation — your show won't break at a venue with no internet
Anyone can use Stagehand without buying first:
- Up to 10 distinct files tagged/edited per app session
- Single-file metadata export works
- Full library import, preview, search, Resolume integration — none of the core flow is gated
- Demo only caps the bulk export + bulk DB write
- Restart for another trial batch, or activate to lift the cap entirely
Most features are at parity across Windows and Mac. The differences:
| Feature | Windows | Mac |
|---|---|---|
| Apple notarization | n/a | ✅ Signed + stapled |
| Bundled tools | ffmpeg.exe, ffprobe.exe, exiftool.exe in tools/
|
Same, per-arch Mach-O binaries |
| Settings location | %LOCALAPPDATA%\StagehandVJ\ |
~/Library/Application Support/StagehandVJ/ |
| Settings survive reinstalls | ✅ | ✅ |
| App icon | Embedded in .exe, used by Explorer/taskbar |
.icns in app bundle, used by Finder/Dock |
| Right-click column header → toggle columns | ✅ | ✅ |
| Lazy file-verification on Skip | ✅ | ❌ (Mac startup file check isn't separated yet) |
| Auto-sync background metadata queue | ✅ (cancellable) | ❌ (Mac writes are synchronous + cancellable in-loop) |
| Welcome demo notice on launch | ✅ (suppressed after activation) | ❌ (no welcome notice) |
These items are on the list but not shipped yet (or only on one platform).
- Lazy file-existence check on Skip — Windows has it; Mac's startup file-check needs the same separation between "verified missing" vs "not yet checked" so a Skip button can defer the work without losing accuracy.
-
Right-click on column header to toggle column visibility (Mac has the menu-bar
View → Columnssubmenu, which works, but the right-click shortcut would match the Windows ergonomics). - Auto-sync background queue — Windows queues a file-metadata write after every inline edit / star click; Mac writes happen synchronously inline. Adding an async queue on Mac would mirror Windows.
- Library health audit — surface a single panel showing total clips, missing-files count, clips without thumbnails, files with no DB-side metadata. One-click "verify everything" pass.
- Larger thumbnail variants — currently capped at one preview size; an option for "big tile" view would help when scrubbing a visual library.
- Search history / saved searches — frequently-used filters as named entries.
- Tag rename + merge — rename a tag everywhere it's used, or merge two tags into one.
- Smart collections — collections defined by a query (e.g. "everything rated 5★ with tag X").
- Auto-update — currently new versions ship as fresh installers; an in-app updater would smooth out beta cycles.
-
Public release artifacts page — currently rolled per-beta in
artifacts/; a hosted release flow with version history.
Bug reports, feature requests, and suggestions are tracked through the website's contact / report-bugs form at www.stagehandvj.com.
For activation problems or license-related questions, use the buyer portal link in Help → License... inside the app.
-
Core —
Core/project. Shared models, services, DB layer, ExifTool wrapper. Targetsnet8.0. -
WPF —
WPF/project. Windows-only UI. Targetsnet8.0-windows, uses WPF +Microsoft.Data.Sqlite. References Core via file-linkCompile Includeplus aProjectReferenceto Core. -
Stagehand.Avalonia —
Stagehand.Avalonia/project. Cross-platform Avalonia 12 UI for macOS (and Linux experimentally). Same Core reference. - Core.Tests — minimal smoke tests for the cross-platform path layer.
Each platform project ships its own platform-specific bridge (e.g. WindowsPropertyWriter for Explorer's shell properties on Windows; the equivalent isn't applicable on Mac).
Build scripts under WPF/scripts/ and Stagehand.Avalonia/scripts/ produce:
- Windows: a self-extracting IExpress installer (per-user install)
- Mac: drag-install zips per arch, signed + notarized via the dedicated signing keychain on a build Mac
Beta builds use the scheme stagehand-vj-beta-YYYY-MM-DD-rNN-shortdesc. Each rNN lands under artifacts/beta-rNN/ with the installer/.zip files plus signed Mac variants where applicable.