Audio render-hook M4: audio panel source indicator + stream-count debug view

Surfaces the render-hook diagnostics in the Audio panel.

- HookStatusView / IpcServer::hook_status(): carry audio_streams_seen +
  audio_streams[] from the hook's back-channel.
- InjectionPanel: expose hook_status() so the audio panel can read the counts.
- AudioPanel::draw_ui(HookStatusView): show the active Source (green Hooked
  vs amber Loopback); only warn about the local echo on the loopback path. Add
  the required render-stream table: one row per stream with format, cumulative
  frames, the primary tagged, and a live/idle dot derived from frame-count
  deltas. Notes overflow when the game exceeds kMaxAudioStreams slots.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-19 12:05:28 +02:00
parent 679b243974
commit 31390d8c15
6 changed files with 121 additions and 9 deletions

View File

@@ -33,6 +33,13 @@ public:
return reinterpret_cast<HWND>(server_.hook_status().game_hwnd);
}
// The hook's full diagnostics back-channel (other panels read the audio
// render-stream counts from here).
[[nodiscard]] HookStatusView hook_status() const
{
return server_.hook_status();
}
private:
void refresh_processes();
void inject_selected();