From 2e9b99e4b8a8277277a5bf4dd09b5f15183b1cc6 Mon Sep 17 00:00:00 2001 From: pax Date: Sat, 11 Apr 2026 23:22:30 -0500 Subject: [PATCH] video_player: apply loudnorm audio filter on mpv init Reads the _loudnorm flag (set by main_window from the DB setting) and applies af=loudnorm when mpv is first initialized. --- booru_viewer/gui/media/video_player.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/booru_viewer/gui/media/video_player.py b/booru_viewer/gui/media/video_player.py index fb13756..8ab6eb2 100644 --- a/booru_viewer/gui/media/video_player.py +++ b/booru_viewer/gui/media/video_player.py @@ -337,6 +337,7 @@ class VideoPlayer(QWidget): self._stream_record_tmp: Path | None = None self._stream_record_target: Path | None = None self._seeked_during_record: bool = False + self._loudnorm: bool = False def _ensure_mpv(self) -> mpvlib.MPV: """Set up mpv callbacks on first use. MPV instance is pre-created.""" @@ -364,6 +365,9 @@ class VideoPlayer(QWidget): # exists. The qproperty-letterboxColor setter is a no-op if mpv # hasn't been initialized yet, so we have to (re)apply on init. self._apply_letterbox_color() + # Apply audio normalization if enabled in settings. + if self._loudnorm: + self._mpv.af = "loudnorm" return self._mpv # -- Public API (used by app.py for state sync) --