Intro/credits skipping with a Netflix-style on-screen prompt.
Detection is two-layered, through one injected mpv Lua script:
- AniSkip windows (anime) — community-submitted OP/ED timestamps by MyAnimeList id + episode, resolved via the Kitsu mapping we already use. Fetched async alongside subtitles; cached 30 days.
- Chapter names — releases authored with "Opening"/"Intro"/"Recap"/ "Credits"/… chapters (only chapters ≤ 4 minutes, so a mislabeled real chapter never gets eaten).
What happens on detection is the LAEV_SKIP mode:
- "ask" (default) — a "Skip opening · hold TAB" button appears briefly while the intro plays; Tab jumps past it, ignoring it watches it. Openings are part of the show — skipping is the user's call.
- "auto" — jump immediately, with a brief OSD note.
- "off" — no script at all.
Outside a detected intro, Tab is a +85s seek — the universal "no data, just jump the intro" key. No fingerprint detection on purpose: it needs several episodes' audio downloaded and analyzed before playback, which fights laev's instant-start, low-resource design.
Summary
Functions
mpv --script + mode arguments (instant, no network). [] when disabled.
Post-credit stinger handling for movies: prints a terminal alert and, when the skip script runs, passes the flags so the credits-skip button warns and an end-of-runtime OSD reminder fires. Networked (one TMDB call) — call from the async pre-launch task. [] for TV / no stingers / failure.
"during-credits and after-credits scenes" — human label for stinger parts.
Which stingers a movie has: [] | ["during"] | ["after"] | ["during","after"]. Disk-cached, so the pre-launch task warms it and the Now Playing screen reads it instantly.
AniSkip OP/ED windows for an anime episode as a --script-opts-append
argument. Networked (Kitsu → MAL id → AniSkip) — call it from the async
pre-launch task, not the launch path. Best-effort: [] on any failure.
Functions
mpv --script + mode arguments (instant, no network). [] when disabled.
Post-credit stinger handling for movies: prints a terminal alert and, when the skip script runs, passes the flags so the credits-skip button warns and an end-of-runtime OSD reminder fires. Networked (one TMDB call) — call from the async pre-launch task. [] for TV / no stingers / failure.
"during-credits and after-credits scenes" — human label for stinger parts.
Which stingers a movie has: [] | ["during"] | ["after"] | ["during","after"]. Disk-cached, so the pre-launch task warms it and the Now Playing screen reads it instantly.
AniSkip OP/ED windows for an anime episode as a --script-opts-append
argument. Networked (Kitsu → MAL id → AniSkip) — call it from the async
pre-launch task, not the launch path. Best-effort: [] on any failure.