Skip to content

Releases: zhbj420/Lunoir

Lunoir v0.8.3

Choose a tag to compare

@zhbj420 zhbj420 released this 29 Jul 04:57

Right-click puts away what's open

A click that dismisses something now does nothing else — the way every popup on Windows
behaves:

  • Closing the context menu no longer pauses the video. The menu is its own window and
    closes when it loses focus, so the same press was also landing on the video underneath.
  • Right-clicking elsewhere closes the menu instead of opening a second one.
  • With the playlist or settings panel open, right-click closes the panel. The menu is
    then a second right-click away — one rule: dismiss first, act second.

Esc leaves fullscreen

It wasn't bound to anything. It works wherever the focus happens to be — the OSC and the
panels can hold it in fullscreen — and it only ever leaves; it never enters.

Lunoir v0.8.2

Choose a tag to compare

@zhbj420 zhbj420 released this 27 Jul 15:31

More of what your server already knows

Playing from Emby (via a bridge like embyToLocalPlayer) now brings the rest of the item
along with it:

  • External subtitles. Sidecar .ass / .srt files are invisible over HTTP — mpv
    finds them by scanning the folder the media is in, and a URL has no folder. Emby has
    them indexed, so Lunoir asks for them and loads each as a track. If you've set a
    subtitle language, the first match is selected; otherwise nothing is forced, same as a
    local file.

Track names you can read

  • Languages are named properly, in your interface language. Every spelling release
    groups use — chs, sc, gb, zh_CN, , 简体 — now resolves to Simplified
    Chinese
    , and bilingual tracks (chs&eng, ChsEng, 简英, 中英) read as
    Simplified Chinese·English. Names follow the interface language, so the same track is
    「简体中文·英语」in Chinese and 「簡体中国語·英語」in Japanese. Simplified and
    traditional are finally told apart, and SDH / Forced / 特效 are kept. Audio tracks
    too.

Fixed

  • The resolution badge misread widescreen film. A 2.40:1 film is stored without the
    black bars, so the badge printed its 800-pixel height and called a 1080p film "800p"
    (and scope 4K "1608p"). It now names the tier you'd recognise.

Lunoir v0.8.1

Choose a tag to compare

@zhbj420 zhbj420 released this 25 Jul 18:54

Emby / Jellyfin handoff

Bridges like embyToLocalPlayer let you
click play in Emby's web UI and have it open in a real player. Point one at Lunoir and it
now works properly:

  • It plays. The bridge launches the player with a bare playback URL; Lunoir's
    command-line handler only accepted paths that exist on disk, so the window opened and
    nothing loaded. It accepts a URL now.
  • It knows what it's playing. That URL is an opaque query string, so the title bar,
    playlist and recents all showed one. Lunoir asks the server what the item actually is
    and shows Series · S01E01 · Episode, or Film (2024).
  • Resume works. Positions were filed under the whole URL, and Emby mints a new
    session id every play — so every viewing was saved under a new key and never found
    again. They're filed under the item id now.

All best-effort: if the server can't be reached, playback is unaffected and nothing is
thrown at you.

Reporting progress back to Emby — watched state and resume shared across devices — is
coming in a later release.

Lunoir v0.8.0

Choose a tag to compare

@zhbj420 zhbj420 released this 24 Jul 14:27

Lunoir v0.8.0

Picture enhancement for rough sources

Live TV and IPTV are usually the worst-looking thing you'll play, and now there's a
set of tools aimed squarely at them — Settings › Video › Enhancement, behind one
master switch, off by default:

  • Deblock — cleans up the blocking and mosquito noise of heavy compression
  • Denoise — smooths the grain left behind. Spatial only, so it never smears on
    camera movement
  • Sharpen — recovers the softness the two above introduce
  • Detail upscale (ArtCNN) — neural 2× reconstruction of luma for soft, low-res
    sources. Sits out automatically when there's nothing to upscale
  • Colour reconstruction (CfL) — rebuilds colour detail from luma, for cleaner
    colour edges on 4:2:0

Watching something good? Leave it off. On a clean, high-quality source it only
softens real detail — this is for material that's already damaged.

Also new

  • Settings is now four tabs — Playback, Subtitles, Interface, General. Every
    subtitle option finally lives in one place
  • yt-dlp tells you why a URL was refused instead of failing silently, and you can
    refresh it on demand from Settings
  • Decoding modes now describe when to reach for each one, not what they do

Fixed

  • The volume control couldn't actually reach its own 150 maximum — it stopped at 130
  • In fullscreen, the pointer would sometimes refuse to auto-hide after opening a side
    panel, and only a click or a fullscreen bounce would bring it back

Lunoir v0.7.2

Choose a tag to compare

@zhbj420 zhbj420 released this 24 Jul 02:56

Lunoir v0.7.2

Two ways to get the video out of your way, and a shortcut for playing links.

Mini player

Right-click › Mini player shrinks Lunoir into a corner and keeps it above other
windows — the video stays with you while you work. Point at it and a large play button,
an exit button and a thin progress line fade in; leave it alone and it's just the
picture. Drag it anywhere, resize it freely with the shape locked, and right-click for
a short menu (previous/next, chapters, fullscreen, exit).

It has a deliberate maximum size. Past a point a floating window has given away the
title bar, the controls, the panels and the playlist while keeping none of the benefit,
and the normal window is simply better — every system picture-in-picture caps it for
the same reason.

Hide the title bar

Right-click › Hide title bar runs the picture to the top edge of a normal window.
Bring the cursor up near the top and the bar slides back, so dragging the window and
the window buttons are always a moment away. The setting is remembered.

Drag a URL straight in

Drag a link from your browser's address bar (or any link on a page) onto Lunoir and it
plays — no copying, no Open URL dialog. Drop a .m3u subscription link and it still
loads as a channel list.

Fixes

  • Quitting while in the mini player no longer makes Lunoir reopen tiny — the window
    remembers the size it was before, not the corner it was parked in.

Windows 10 / 11 · unsigned build, so SmartScreen may warn on first run
(More info → Run anyway).

Lunoir v0.7.1

Choose a tag to compare

@zhbj420 zhbj420 released this 23 Jul 09:51

Lunoir v0.7.1

A round of Live TV fixes, found by pointing Lunoir at a real IPTV subscription.

Fixes

  • Subscription .m3u links open as channel lists again. Providers hand these out
    with the credentials in the query string (.../iptv.m3u?userid=…&auth_token=…), and
    Lunoir only recognised a channel list when the URL ended in .m3u — so a 221-channel
    subscription opened as a single video.
  • Switching channels no longer announces "Resumed from …". A live stream's position
    isn't a place in the material, so it's no longer saved or restored for channels — and
    positions written for channels before this are cleaned up as you revisit them.
  • Channels that report themselves as seekable now show ● LIVE. Sliding-window HLS
    advertises a seekable range of about a minute, which gave those channels a seek bar
    that kept jumping backwards as the window slid.

New

  • Per-source User-Agent, under Advanced in the Open URL box. Some providers only
    serve the real stream to their own app and redirect everything else to a placeholder
    clip — the symptom is every channel playing the same test video. It belongs to that
    source: it's saved with it in your library, and no other source, file or online video
    is ever affected.
  • When an audio track can't be decoded, Lunoir says so — a notice on load, and
    Unknown in place of a format that isn't actually playing, instead of unexplained
    silence.
  • Back to Home in the right-click menu: stops playback and clears the queue.
  • Deinterlacing (Settings › Video) — auto / always on / off, off by default.
    Interlaced broadcast really does comb on a modern display, but on some graphics
    drivers the cure is worse than the problem, so it stays opt-in.

Also

  • The frost slider now governs the Home screen as well as the panels. Leave it where it
    is and nothing changes — the default position reproduces the old look exactly.
  • Dropped the title's drop shadow, which read as a smudge.

Windows 10 / 11 · unsigned build, so SmartScreen may warn on first run
(More info → Run anyway).

Lunoir v0.7.0

Choose a tag to compare

@zhbj420 zhbj420 released this 23 Jul 05:25

Lunoir v0.7.0

Per-clip playback frame rate (experimental Timeline)

Right-click any clip in the Clips panel and give it its own playback frame rate
Original, 24, 30 or 60. Set a rate below what the clip was shot at and it plays
back as true slow motion: 120 fps footage at 30 fps runs 4× slower, showing every
frame, with its audio slowed right along with it.

That makes a mixed folder work the way you'd want: leave your normal clips on Original
so they play at speed with their sound, and drop just the high-frame-rate ones to your
base rate.

  • The rate is a property of the clip, so trimming previews exactly what the timeline
    will play.
  • The on-screen controls name the rate in fps rather than a speed multiplier —
    highlighted when you've overridden it, otherwise just reporting the clip's native rate.
  • Rates are remembered per clip for the session and follow the clip when you reorder.

Fixes

  • Timeline: the current clip is tracked correctly again. Stitched clips that carry
    their own chapters (any Blu-ray rip does) confused the playing-clip marker and made
    clicking a clip — or next/previous — jump to the wrong place.
  • Right-click menu no longer opens behind a side panel, where it showed through the
    acrylic as a blur and needed a second click to come forward.

Also

  • With the Timeline on, the playlist tab is named Clips, and the Chapters tab is
    hidden (the clips are the structure there). Both revert when you turn it off.

The Timeline stays experimental and opt-in (Settings › Experimental). It's meant as a
quick preview and a rough reference while you edit elsewhere — it is not an editing tool
and makes no attempt to be one.

Windows 10 / 11 · unsigned build, so SmartScreen may warn on first run
(More info → Run anyway).

Lunoir v0.6.0

Choose a tag to compare

@zhbj420 zhbj420 released this 22 Jul 06:55

Lunoir v0.6.0

Timeline (experimental)

Watch a whole folder of clips as one continuous video. Turn on Timeline under Settings › Experimental, then a toggle appears in the playlist panel.

  • One seek bar spanning the entire set, with clip boundaries marked as ticks; click a clip to jump to it.
  • Trim each clip — double-click a clip to isolate it, then drag the blue in/out handles on the seek bar to set its range (the video previews live). Double-click the clip again to apply; the timeline rebuilds so each clip contributes only its trimmed span.
  • Built on mpv's native EDL — no re-encoding, no temp files left behind.

Playlist

  • Drag to reorder — grab any row and drop it; a multi-selection drags as a block.
  • Multi-select — single-click selects, Ctrl/Shift extend the selection, double-click plays.
  • Batch delete — remove the whole selection with the trash button or the Delete key.

(Live TV / IPTV channel lists keep their single-click "zap to channel" behaviour.)

Check for updates

  • Lunoir now checks for a newer release at launch — a small button appears on the Home screen only when one is available, and Settings › About has a manual check plus an on/off toggle. It opens the download page (setup or portable, your choice); nothing installs automatically.

All 9 interface languages covered.


Install: Lunoir-0.6.0-setup.exe (installer) or Lunoir-0.6.0-portable.exe (no install needed).

The build is unsigned, so Windows SmartScreen may warn on first run — click More info → Run anyway.

Lunoir v0.5.1

Choose a tag to compare

@zhbj420 zhbj420 released this 21 Jul 17:33

Lunoir v0.5.1

A small patch that fixes a freeze.

Fixed

  • Playback could freeze on Loading… and need a restart — most noticeable when hopping between IPTV / live channels: after a few switches the player would hang, and even channels that had just worked wouldn't load until you restarted Lunoir.
  • Cause: mpv writes its log to stdout, which the app never read, so the OS pipe buffer filled up and blocked mpv on its next write — freezing the whole player. It's now drained, so you can channel-surf all you like.

Was present in v0.5.0; nothing else changed.


Install: Lunoir-0.5.1-setup.exe (installer) or Lunoir-0.5.1-portable.exe (no install needed).

The build is unsigned, so Windows SmartScreen may warn on first run — click More info → Run anyway.

Lunoir v0.5.0

Choose a tag to compare

@zhbj420 zhbj420 released this 21 Jul 15:57

What's new in v0.5.0

收藏 — a "Saved & recent" library

A frosted launcher (from the OSC, or the empty Home) with four tabs:

  • Recent — everything you've played (local files + URLs)
  • Saved — single files and URLs you keep
  • Playlists — save the current queue as a named playlist
  • Live — saved IPTV sources

Every item can be renamed and deleted; save the current queue or channel list right from the panel.

Live TV / IPTV

  • Load .m3u / .txt channel lists — a local file or a URL
  • Channels group by their group-title into collapsible, searchable sections
  • Saved sources refresh on open — a URL source pulls the latest channels, falling back to the last snapshot when it's offline
  • ● LIVE badge with one-tap "go live"

Recording

  • Record live streams to MKV (stream-copy — no re-encode)

Fixes & polish

  • Missing-file / dead-source handling (skips + toasts instead of a silent black screen)
  • OSC entry icons, cursor behaviour (only hides in fullscreen now), and highlight polish

All 9 interface languages covered.


Install: Lunoir-0.5.0-setup.exe (installer) or Lunoir-0.5.0-portable.exe (no install needed).

The build is unsigned, so Windows SmartScreen may warn on first run — click More info → Run anyway.