feat: node property inspector

- Right-click node -> Properties shows details dialog
- Shows: ID, name, class, volume, ports, sample rate, channels,
  format, quantum, rate, device, bus, API, priority
- Backend parses extra PipeWire node props (clock.rate, channels, etc.)
- Node type includes all new fields
- stop() already had the SSE cleanup fix
This commit is contained in:
joren
2026-03-30 00:33:41 +02:00
parent f3999b1747
commit 8c728dcd47
5 changed files with 104 additions and 1 deletions

View File

@@ -111,6 +111,15 @@ std::string WebServer::buildGraphJson() const {
<< ",\"node_type\":\"" << nodeTypeStr(n.node_type) << "\""
<< ",\"volume\":" << n.volume
<< ",\"mute\":" << (n.mute ? "true" : "false")
<< ",\"sample_rate\":" << n.sample_rate
<< ",\"channels\":" << n.channels
<< ",\"quantum\":" << n.quantum
<< ",\"rate\":" << n.rate
<< ",\"format\":\"" << escapeJson(n.format) << "\""
<< ",\"device_name\":\"" << escapeJson(n.device_name) << "\""
<< ",\"device_bus\":\"" << escapeJson(n.device_bus) << "\""
<< ",\"api\":\"" << escapeJson(n.api) << "\""
<< ",\"priority\":" << n.priority
<< ",\"port_ids\":[";
bool first_p = true;
for (uint32_t pid : n.port_ids) {