Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
audio_inspector_panel.hpp File Reference

The content view of the developer Audio Inspector — meters, probe-stage status, a copied fixed-capacity waveform, L/R level-match + channel balance, and a device/runtime summary. More...

#include <pulp/audio/audio_probe_snapshot.hpp>
#include <pulp/audio/audio_scope.hpp>
#include <pulp/audio/audio_stats.hpp>
#include <pulp/view/view.hpp>
#include <pulp/view/widgets.hpp>
#include <array>
#include <cstdint>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

class  pulp::view::AudioWaveformView
 Time-domain waveform plot over a copied, fixed-capacity sample buffer. More...
class  pulp::view::AudioInspectorPanel
 Audio Inspector content panel. More...

Namespaces

namespace  pulp
namespace  pulp::view
 Hover-cursor tracking for platform window hosts.

Enumerations

enum class  pulp::view::AudioInspectorMode { pulp::view::kSignal , pulp::view::kScope }

Functions

float pulp::view::dbfs_meter_fill (float linear)
 Map a linear amplitude (1.0 == full scale) to a 0..1 meter fill on the SAME dBFS scale the panel's text labels print, so a bar and its "… dBFS" label agree.

Variables

constexpr float pulp::view::kInspectorMeterFloorDb = -60.0f
 dBFS floor used by the inspector's meter fill (and the empty-bar anchor).

Detailed Description

The content view of the developer Audio Inspector — meters, probe-stage status, a copied fixed-capacity waveform, L/R level-match + channel balance, and a device/runtime summary.

This panel owns its OWN state model. It consumes the shared probe schema (pulp::audio::AudioProbeSnapshot + AudioStats) and is deliberately NOT coupled to the layout inspector's view-tree / property internals. The window shell (AudioInspectorWindow) polls a probe once per UI tick and pushes the copied snapshot in via update(); the panel never touches the realtime audio thread.

Honesty contract: when no probe is wired or the sequence number stops advancing, the panel renders an explicit "no probe" / "stale" state — it never fakes zeros that look like a live-but-silent signal.