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

Separate developer Audio Inspector tool window — live signal observability (meters, probe-stage status, copied waveform, L/R level-match/balance, device summary) built on the realtime output-boundary probe. More...

#include <pulp/audio/audio_probe.hpp>
#include <pulp/audio/audio_scope.hpp>
#include <pulp/audio/audio_stats.hpp>
#include <pulp/audio/buffer.hpp>
#include <pulp/state/properties_file.hpp>
#include <pulp/view/audio_inspector_panel.hpp>
#include <pulp/view/command_registry.hpp>
#include <pulp/view/view.hpp>
#include <pulp/view/window_host.hpp>
#include <pulp/view/window_manager.hpp>
#include <cstdint>
#include <functional>
#include <memory>
#include <string>

Go to the source code of this file.

Classes

class  pulp::view::AudioInspectorWindow
 Floating Audio Inspector window. More...

Namespaces

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

Detailed Description

Separate developer Audio Inspector tool window — live signal observability (meters, probe-stage status, copied waveform, L/R level-match/balance, device summary) built on the realtime output-boundary probe.

This is a SIBLING of InspectorWindow (the layout inspector), not a tab inside it. The two tools share window / command / visual primitives but own independent state models. Both dispatch through a shell-owned CommandRegistry; this window never assigns View::on_global_key directly.

Mirrors InspectorWindow's structure exactly:

  • privately implements CommandHandler;
  • a stable toggle CommandID (kToggleAudioInspector, ASCII 'PLAI');
  • register_command_handler(CommandRegistry&) with RAII removal in the destructor;
  • secondary_window = true, reusing WindowType::inspector.

Data path: poll() reads AudioProbe::latest() exactly once per UI tick into a copied snapshot and pushes it to the panel. No FFT, allocation, logging, or file I/O runs on the realtime audio thread — the probe already guarantees that, and this window only consumes the published summary.