No description
  • C# 65.6%
  • PowerShell 33.6%
  • Inno Setup 0.8%
Find a file
2026-07-10 18:25:53 +02:00
.claude/skills/verify Docs + verify skill: backlog round (RTX hints, info panel, track UI, subtitle lift) 2026-07-10 18:08:35 +02:00
design Rename project: LightWeever -> LightWeaver 2026-07-10 08:43:54 +02:00
installer Installer: per-user Inno Setup with data-preserving updates 2026-07-10 08:48:49 +02:00
src/LightWeaver Overlay: info panel - live playback stats + collapsible server media info 2026-07-10 18:03:47 +02:00
.gitignore Rename project: LightWeever -> LightWeaver 2026-07-10 08:43:54 +02:00
CLAUDE.md Docs: no remote CI by decision - local build+verify pipeline, push only working code 2026-07-10 18:25:53 +02:00
installer.ps1 Installer: per-user Inno Setup with data-preserving updates 2026-07-10 08:48:49 +02:00
LightWeaver.slnx Rename project: LightWeever -> LightWeaver 2026-07-10 08:43:54 +02:00
PHASE4.md Rename project: LightWeever -> LightWeaver 2026-07-10 08:43:54 +02:00
PROGRESS.md Docs: no remote CI by decision - local build+verify pipeline, push only working code 2026-07-10 18:25:53 +02:00
publish.ps1 Rename project: LightWeever -> LightWeaver 2026-07-10 08:43:54 +02:00
README.md Docs + verify skill: backlog round (RTX hints, info panel, track UI, subtitle lift) 2026-07-10 18:08:35 +02:00
TECHNICAL.md Docs: no remote CI by decision - local build+verify pipeline, push only working code 2026-07-10 18:25:53 +02:00

LightWeaver

A native Windows Jellyfin client built for playback quality and responsiveness.

LightWeaver is a per-platform client family — each platform gets its own native client in its own repo: LightWeaver-Windows (this repo), LightWeaver-MacOS, LightWeaver-Android, LightWeaver-iOS. This client pairs a WPF (Fluent, dark) shell with an embedded mpv (libmpv) player that owns its own D3D11 rendering — enabling:

  • NVIDIA RTX Video Super Resolution (d3d11vpp scaling)
  • NVIDIA RTX Video HDR (nvidia-true-hdr)
  • Native HDR passthrough (mpv-owned HDR-capable swapchain, vo=gpu-next)
  • Hardware decoding via d3d11va

Status

Feature-complete for daily use: Jellyfin login (DPAPI-persisted token, auto-reconnect), Home rows / library browsing / item detail, server-wide search, direct-play through embedded mpv (vo=gpu-next, hwdec=d3d11va) with resume, watch-state reporting, video/audio/subtitle track selection with preferred-language auto-select (incl. external/sidecar subtitles), language badges on track rows (dropdowns hide when there is nothing to choose), chapter markers and navigation, skip intro/credits (native media segments, IntroSkipper plugin, or chapter-name fallback — button or auto-skip), a settings screen (Ctrl+,), RTX VSR / RTX Video HDR toggles, a configurable jump forward/back (buttons + arrow keys), trickplay seek previews, auto-play next episode (Up Next card with countdown), watched badges with a mark-watched toggle, an info panel (live playback stats + server media metadata), subtitles that lift above the control bar while it is visible, now-playing OSD title, landscape episode cards, playback-error toasts, a disk-backed image cache (instant posters, offline-friendly), window position/size persistence, and a self-contained release zip via publish.ps1. See PROGRESS.md.

Requirements

  • Windows 10/11 (x64)
  • .NET 10 SDK (to build)
  • libmpv-2.dll (mpv ≥ 0.40 for RTX Video HDR support) — place it in native/win-x64/ (gitignored; copied next to the exe at build time) or anywhere on PATH
  • For RTX features: NVIDIA RTX GPU (20-series+) with RTX Video enabled in the NVIDIA App

Build & Run

dotnet build          # Compile
dotnet run --project src/LightWeaver                       # Start empty
dotnet run --project src/LightWeaver -- "D:\movie.mkv"     # Play a file immediately

Keys: Space play/pause · F11 fullscreen (also double-click) · Esc leave fullscreen · Ctrl+O open file · Ctrl+, settings · B/V cycle audio/subtitle track · [/] previous/next chapter · S skip intro/credits · Backspace back (browsing). Click the video to pause; drop a file on it to play. On Home, Shift+wheel scrolls a row horizontally.

Note: RTX VSR / RTX Video HDR apply to SDR content only (an NVIDIA limitation) — on HDR/Dolby Vision sources the toggles grey out (tooltip explains why), the filters are suppressed automatically, and mpv's own HDR tone-mapping takes over. On machines without an NVIDIA RTX GPU the toggles are disabled outright, again with the reason on hover.

Release build

.\publish.ps1     # dist/LightWeaver-<version>-win-x64.zip (self-contained, libmpv bundled)
.\installer.ps1   # dist/LightWeaver-<version>-setup.exe (Inno Setup; runs publish.ps1 first)

The installer is per-user (no admin prompt, %LOCALAPPDATA%\Programs\LightWeaver), creates a Start menu entry (desktop icon optional), and updates in place — running a newer setup over an existing install keeps credentials and all preferences, as does uninstalling. Requires Inno Setup 6 (winget install -e --id JRSoftware.InnoSetup).

Documentation