"""PeakBar — a thin live amplitude indicator (see backend/peaklevel.py). Shows whether audio is actually reaching the mix, independent of the volume slider above it, so a silent app/device reads differently from one that's just quiet: a stuck/crashed stream or a bad route shows a flat bar even at 100% volume.""" from __future__ import annotations import gi gi.require_version("Gtk", "4.0") from gi.repository import Gtk # noqa: E402 class PeakBar: def __init__(self) -> None: self.widget = Gtk.LevelBar() self.widget.add_css_class("sb-peakbar") self.widget.set_min_value(0.0) self.widget.set_max_value(1.0) self.widget.set_value(0.0) self.widget.set_size_request(-1, 6) self.widget.set_hexpand(True) def set_level(self, level: float) -> None: self.widget.set_value(max(0.0, min(1.0, level)))