Skip to content

Releases: RareSpecies233/wiina

Wiina v1.3.9

Choose a tag to compare

@RareSpecies233 RareSpecies233 released this 25 Oct 12:19

Wiina 1.3.9

Windows-native, IINA-inspired mpv front end (WinUI 3 + libmpv).

What's new in 1.3.9

Small windows park the chrome blur

While the mini player or picture-in-picture owns the video the main window is
minimized, but the blur worker used to keep pulling a frame out of mpv every
125 ms and the hidden titlebar kept the last texture. ChromeBlur.Suspend() /
Resume() (src/Wiina.App/Interop/ChromeBlur.cs:143, :160) now force the
Solid strategy while a small window owns the video; the transitions use a
counter (MainWindow.Modes.cs:635, :651) so mini -> PiP does not resume in
between, and a mode chosen while parked is applied on resume. Evidence:
artifacts/v139-pip-titlebar-before/after.png,
artifacts/v139-mini-titlebar-before/after.png.

Thumbnail plan A/B/C landed

  • Slow mode really runs as instant preview: no whole-file pass, disk cache
    kept, hover delay applies, and the stored mode is never overwritten
    (ThumbnailPolicy.EffectiveMode, src/Wiina.Core/State/ThumbnailPolicy.cs:56-58).
  • New video.thumbnail-keyframe-seek (Video -> Thumbnails, default off):
    the background pass and slow mode seek with absolute+keyframes, skipping
    the rest of the GOP; hover previews stay exact. The verification trace shows
    208 ms per extracted frame.
  • Settings rows can be disabled per current settings
    (SettingsRowDefinition.AvailableWhen,
    SettingsWindow.xaml.cs:463-499); "preview while generating" greys out in
    slow/instant mode.
  • Hover outcomes are Frame / Pending / NotAllowed: Pending keeps the
    previous frame without a spinner, NotAllowed shows an empty card instead of
    a stale frame, and opening a new file clears the frame. Evidence
    artifacts/v139-thumb-traces.txt (NotAllowed 0-1 ms, Pending ~124 ms,
    Frame 244-483 ms, disk hit 26-29 ms).

Every same-episode subtitle is offered

SmartSubtitleFinder.Find returns all sidecars of the episode; the assfonts
variant is selected first and the plain one stays selectable behind it.
MatchTrack maps mpv's external-filename and its short language title back
to a candidate so an already loaded sidecar is reused, and another selected
external track is never overridden.

Not in this build

  • Always blur mode still captures at the original ~8 Hz while the main
    window is visible; only small-window suspension changed.
  • The optional 20 ms -> 5 ms seek polling and vf=scale pre-scaling from the
    1.3.8 plan are still not implemented.
  • Mixed-DPI hover placement and small-window geometry were not re-measured.

Settings: 11 pages / 133 rows / 581 keys; tests: 943.

Wiina 1.0.2

Choose a tag to compare

@RareSpecies233 RareSpecies233 released this 19 Oct 04:23

Wiina v1.0.2 — release notes

Release date: 2026-10-19

Windows-native, IINA-inspired mpv front end built with WinUI 3, Windows App
SDK 2.5, and libmpv.

What's new in 1.0.2

  • Floating OSC drag restored. The real-video blur path no longer clears
    the drag area's background, so the whole floating OSC panel is draggable
    again (transparent hit-test brush instead of null).
  • Stable time/chapter previews. The preview card resets its Margin
    before measuring, uses the clean DesiredSize, and is anchored to the
    pointer's actual X. This removes the horizontal drift left in 1.0.1, for
    both the video thumbnail and chapter cards.
  • 4 px OSD rail. At 100% display scaling, the horizontal OSD progress rail
    is 4 px tall with a 2 px corner radius.
  • Packaging correctness. scripts/package.ps1 now builds and copies the
    same Platform=x64 output tree, rebuilds from source, and fails unless the
    packaged Wiina.dll reports the requested version. The 1.0.2 archive is
    verified as 1.0.2.0, not a stale 1.0.1 payload.

Highlights since 1.0.0

  • Real blur over video. Titlebar, docked/top/floating OSC, sidebar, and
    OSD use a real Win2D Gaussian blur of the current libmpv frame (8 fps,
    320 px resample, translucent tint for legibility), not a flat tint.
  • Playback: libmpv render API with a composition swapchain in a XAML
    SwapChainPanel; WinUI title bar, auto-hiding OSC, hover thumbnails,
    playlist/chapters/history, subtitles and track selection, playback speed,
    A-B loop, screenshots.
  • Windows shell: Mica/Acrylic panels, 11-page settings with search,
    key-binding editor, menu, welcome window, about, log viewer, diagnostics
    inspector, open-URL dialog.
  • Modes: fullscreen with chrome restore, PiP with main-window
    auto-minimize and one restore action, mini player, multiple windows,
    per-window state persistence.
  • Audio/video: 10-band equalizer, audio/video filters, advanced A/V
    options, basic HDR metadata handling with SDR tone-mapping.
  • Polish: runtime zh-Hans/English localization, accessibility and
    high-contrast support, reduced-motion support, six OSD positions, all-edge
    aspect-ratio lock, reproducible self-contained packaging, GPL/NOTICE
    compliance.

Intentionally not included

  • Stage 9 (plugins) was skipped. No plugin host, plugin API, Info.json
    parser, WebView2 dependency, or plugin settings that work. See
    docs/plugins/README.md.
  • Stage 10 (online subtitles / yt-dlp) was skipped. No OpenSubtitles
    client, no yt-dlp integration, no bundled yt-dlp, no related permissions or
    network consent flows. Menu/settings entries remain disabled and say so.

Install

Portable zip, no installer or separate runtime required:

  1. Extract wiina-1.0.2-win-x64.zip.
  2. Run Wiina.exe.
  3. Data is stored in %LOCALAPPDATA%\Wiina.

An optional Inno Setup script lives at installer/wiina.iss; it is not built
or shipped in this repository.

Package contents

Wiina.exe
Wiina.dll
libmpv-2.dll
Microsoft.Graphics.Canvas.dll
Microsoft.Graphics.Canvas.Interop.dll
LICENSE
NOTICE
README.md
SOURCE.txt

Additional .NET/WinUI publish output is included by the packager; SOURCE.txt
records the version, build date, commit, and source URL.

Requirements

  • Windows 11 22H2 or later (Windows 10 2004+ best effort)
  • x64 CPU
  • A GPU/driver with Direct3D 11 support

The build is self-contained; .NET 10 and Windows App Runtime do not need to be
installed separately.

Upgrade / settings

Settings are stored in %LOCALAPPDATA%\Wiina\settings.json. Existing keys are
preserved; no destructive migration is performed. The Language field accepts
system, zh-Hans, and en.

Known issues

See known-issues.md. Accessibility/localization details are
in ../accessibility.md; performance numbers in
../performance.md. The blur trails the video by up to one
125 ms frame and is a 320 px resample; at 4K it costs more CPU than at 720p.