67 return (
i >= 0 &&
i < count_) ? data_[
i] : 0.0f;
84 return horizontal_scale_;
104 int find_rising_zero_crossing()
const;
106 std::array<float, kCapacity> data_{};
109 bool show_grid_ =
true;
111 float horizontal_scale_ = 1.0f;
161 return snapshot_.stage_id;
164 return snapshot_.peak_max;
167 return snapshot_.rms_max;
170 return snapshot_.clip_count;
173 return snapshot_.nan_inf_count;
176 return snapshot_.silence_run_blocks;
179 return snapshot_.sequence_number;
199 return *waveform_view_;
202 return *waveform_view_;
219 return status_label_->text();
222 return level_label_->text();
225 return content_label_->text();
232 return status_label_->text_color();
237 void refresh_labels();
243 audio::AudioScopeResult scope_result_{};
244 bool has_scope_result_ =
false;
245 float lr_match_ = 0.0f;
246 float balance_ = 0.0f;
247 float meter_dt_seconds_ = 1.0f / 60.0f;
250 Label* status_label_ =
nullptr;
251 ToggleButton* signal_button_ =
nullptr;
252 ToggleButton* scope_button_ =
nullptr;
253 Label* stage_label_ =
nullptr;
254 Meter* peak_meter_ =
nullptr;
255 Meter* rms_meter_ =
nullptr;
256 Label* level_label_ =
nullptr;
257 Label* content_label_ =
nullptr;
258 Label* phase_label_ =
nullptr;
259 Label* device_label_ =
nullptr;
260 AudioWaveformView* waveform_view_ =
nullptr;
The realtime-produced probe summary — the shared schema between the RT producer (pulp::audio::AudioPr...
UI-independent acquisition and measurement helpers for Audio Scope.
Small POD counter struct for release-safe audio observability.
Definition canvas.hpp:240
AudioInspectorMode mode() const
Definition audio_inspector_panel.hpp:146
std::uint64_t sequence_number() const
Definition audio_inspector_panel.hpp:178
audio::AudioProbeStage observed_stage() const
Definition audio_inspector_panel.hpp:160
std::uint64_t silence_run_blocks() const
Definition audio_inspector_panel.hpp:175
float rms_meter_held_peak() const
std::uint64_t nan_inf_count() const
Definition audio_inspector_panel.hpp:172
void set_waveform_grid_visible(bool visible)
void set_mode(AudioInspectorMode mode)
std::uint64_t clip_count() const
Definition audio_inspector_panel.hpp:169
canvas::Color status_color() const
Color the status heading paints with.
Definition audio_inspector_panel.hpp:231
float balance() const
Channel balance in [-1, +1]: -1 = all left, 0 = centered, +1 = all right.
Definition audio_inspector_panel.hpp:194
void set_scope_result(const audio::AudioScopeResult &result)
float rms() const
Definition audio_inspector_panel.hpp:166
const AudioWaveformView & waveform() const
Definition audio_inspector_panel.hpp:198
float peak() const
Definition audio_inspector_panel.hpp:163
void update(Status status, const audio::AudioProbeSnapshot &snap, const audio::AudioStats &stats, const float *waveform, int waveform_count)
Push the latest probe summary + device stats.
const std::string & level_text() const
Definition audio_inspector_panel.hpp:221
void clear_scope_result()
Status
Availability of the underlying probe, surfaced honestly to the user.
Definition audio_inspector_panel.hpp:129
@ kNoProbe
No probe wired — nothing to observe.
Definition audio_inspector_panel.hpp:130
@ kStale
Probe wired but its sequence number stopped advancing.
Definition audio_inspector_panel.hpp:131
@ kLive
Probe wired and publishing fresh snapshots.
Definition audio_inspector_panel.hpp:132
float peak_meter_held_peak() const
const std::string & status_text() const
Definition audio_inspector_panel.hpp:218
float lr_match() const
L/R level-match in [0, 1]: the ratio of the quieter to the louder channel RMS (1 = equal energy,...
Definition audio_inspector_panel.hpp:188
void set_waveform_trigger_mode(AudioWaveformView::TriggerMode mode)
void set_waveform_horizontal_scale(float scale)
Status status() const
Definition audio_inspector_panel.hpp:157
std::function< void(AudioInspectorMode)> on_mode_changed
Definition audio_inspector_panel.hpp:153
float peak_meter_display_peak() const
const std::string & content_text() const
Definition audio_inspector_panel.hpp:224
AudioWaveformView & waveform()
Definition audio_inspector_panel.hpp:201
bool visible() const
Definition view.hpp:333
float scale() const
Definition view.hpp:1902
AudioProbeStage
Identifies which audio boundary a snapshot was produced at.
Definition audio_probe_snapshot.hpp:28
Definition affine_transform.hpp:24
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
AudioInspectorMode
Definition audio_inspector_panel.hpp:33
@ kScope
Definition audio_inspector_panel.hpp:35
@ kSignal
Definition audio_inspector_panel.hpp:34
float 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 te...
constexpr float kInspectorMeterFloorDb
dBFS floor used by the inspector's meter fill (and the empty-bar anchor).
Definition audio_inspector_panel.hpp:115
@ Label
Definition text_accessibility.hpp:29
@ i
Definition input_events.hpp:40
Realtime-produced, fixed-capacity, trivially-copyable probe summary.
Definition audio_probe_snapshot.hpp:42
Definition audio_scope.hpp:62
Minimal release-safe audio counter aggregate.
Definition audio_stats.hpp:36