From 0bd1621b47b641b8bbcdb40dea0d2ae8c49ea0f5 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 18 May 2026 12:43:15 +0100 Subject: [PATCH] Fix interactive sender launcher paths --- docs/implementation-plan.md | 3 ++- docs/neighbor-sender-setup.md | 9 +++++---- notes/fresh-workspace-handoff.md | 3 ++- state/evidence.jsonl | 2 ++ state/map.yaml | 14 +++++++++++++- 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/docs/implementation-plan.md b/docs/implementation-plan.md index 0690553..f76ba1e 100644 --- a/docs/implementation-plan.md +++ b/docs/implementation-plan.md @@ -14,7 +14,8 @@ - Voicemeeter loopback installed on the sender. - Receiver OBS scene has `Neighbor PC - System Audio` on SRT port `5102`. - Sender script uses `-nostdin` and repo-root logs so desktop launchers stay alive and diagnostics land in `C:\Meta\LocalCastBridge\logs`. -- Sender video config currently matches the live `1024x768` desktop. +- Sender video config is `1920x1080` for the interactive desktop. The `1024x768` SSH session size is not the streaming target. +- Desktop launchers use absolute paths for winget-installed tools because interactive `cmd.exe` did not resolve `SoundVolumeView`. ## Temporary diff --git a/docs/neighbor-sender-setup.md b/docs/neighbor-sender-setup.md index d38e2ed..0ef514f 100644 --- a/docs/neighbor-sender-setup.md +++ b/docs/neighbor-sender-setup.md @@ -37,10 +37,9 @@ focusrite srt://192.168.1.66:5101?mode=caller&latency=120000 system srt://192.168.1.66:5102?mode=caller&latency=120000 ``` -Current video capture size is `1024x768`, matching the live `WinDisc` display -reported by the sender. Do not force `1920x1080` unless Windows reports a real -desktop of that size; `gdigrab` exits when the requested capture rectangle is -larger than the current desktop. +Current video capture size is `1920x1080` for the interactive desktop. Do not +trust the `1024x768` size reported from SSH; that is the remote session display, +and using it captures only a slice of the actual desktop. OBS on the receiver should add listener-mode Media Sources: @@ -78,6 +77,8 @@ Start launcher: - uses `config\localcast.json` - passes the winget FFmpeg alias path explicitly - starts Voicemeeter +- calls `SoundVolumeView.exe` by absolute path because the winget alias is not + reliably available in interactive `cmd.exe` - sets Windows default render to `Voicemeeter VAIO3 Input` - sets Windows default capture to `Voicemeeter Out B3` - writes FFmpeg logs under `C:\Meta\LocalCastBridge\logs` diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index b794863..8b31ea5 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -27,7 +27,8 @@ Get-Content .\state\evidence.jsonl -Tail 8 - Madman's desktop has `Start LocalCast Sender.cmd` and `Stop LocalCast Sender.cmd`. - Receiver OBS scene collection has `Neighbor PC - Video`, `Neighbor PC - Focusrite`, and `Neighbor PC - System Audio` Media Sources added. - Sender has Voicemeeter plus SoundVolumeView installed for system-output loopback. -- Sender script was patched after failed transmission: live FFmpeg commands now include `-nostdin`, logs go under `C:\Meta\LocalCastBridge\logs`, and video capture size is `1024x768`. +- Sender script was patched after failed transmission: live FFmpeg commands now include `-nostdin`, logs go under `C:\Meta\LocalCastBridge\logs`, and interactive video capture size is `1920x1080`. +- Madman's desktop launchers call `SoundVolumeView.exe` and `ffmpeg.exe` by absolute winget-link path. - SSH-launched video capture fails with `gdigrab` error 5; test video from Madman's interactive desktop launcher. ## Current Pressure diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 1f78b90..50eb26b 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -5,3 +5,5 @@ {"ts": "2026-05-18T10:27:41+00:00", "type": "deployment", "status": "ok", "note": "Receiver OBS Untitled scene now has Neighbor PC - Video and Neighbor PC - Focusrite ffmpeg_source Media Sources listening on SRT ports 5100 and 5101; original scene JSON was backed up before edit."} {"ts": "2026-05-18T10:52:05+00:00", "type": "deployment", "status": "ok", "note": "Installed Voicemeeter and SoundVolumeView on sender, added system-loopback using DirectShow device Voicemeeter Out B3 on SRT port 5102, and added matching OBS source Neighbor PC - System Audio."} {"ts": "2026-05-18T11:38:25+00:00", "type": "fix", "status": "ok", "note": "Transmission failure traced to three issues: stale OBS SRT source state, sender live launcher splitting/closing FFmpeg due Start-Process/stdin handling, and SSH-launched gdigrab seeing a 1024x768 remote desktop with capture error 5. Patched sender-start with quoted argument string, -nostdin, repo-root logs, and set sender video config to 1024x768; OBS restarted and listening on UDP 5100-5102."} +{"ts": "2026-05-18T11:39:19+00:00", "type": "decision", "status": "ok", "note": "Ambisonic AquaSynth path should use one clocked multichannel capture feeding a declared ambisonic bus; four heterogeneous mics must not be treated as raw first-order A-format without geometry and calibration."} +{"ts": "2026-05-18T11:43:08+00:00", "type": "fix", "status": "ok", "note": "Madman's interactive launcher could not resolve winget aliases for SoundVolumeView, so desktop CMD files now use absolute winget-link paths. Sender video config restored to 1920x1080 because 1024x768 was only the SSH session display and captured a slice."} diff --git a/state/map.yaml b/state/map.yaml index 999c3b3..d212ee9 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -43,6 +43,17 @@ active_subgoals: - Smoke-test the video endpoint in OBS. - Smoke-test each audio endpoint in OBS and tune latency. - Decide whether an OBS source generator or plugin investigation is justified. + - Evaluate the Ambisonic AquaSynth path as a separate synchronized multichannel audio pipeline; do not treat heterogeneous mic feeds as raw first-order ambisonic A-format without geometry, calibration, and a shared clock. + +research: + ambisonic_aquasynth: + summary: research/ambisonic-aquasynth/summary.md + bibliography: research/ambisonic-aquasynth/bibliography.md + key_decision: > + A spatial field must be built from one clocked multichannel capture path + feeding a declared ambisonic bus. The existing one-audio-source-per-SRT + endpoint design remains valid for plain OBS mixing, but it is not the + authority for synchronized ambisonic DSP. current_status: summary: > @@ -50,7 +61,8 @@ current_status: C:\Meta\LocalCastBridge. FFmpeg 8.1.1 with SRT and h264_nvenc is installed there, Voicemeeter supplies system-output loopback, Madman's desktop has start/stop launchers, the sender script has launcher-safe FFmpeg arguments - and repo-root logs, and the receiver OBS scene has matching Media Sources. + and repo-root logs, desktop launchers use absolute tool paths, and the + receiver OBS scene has matching Media Sources. next_action: > With OBS open on the receiver, start the sender launcher from Madman's interactive desktop and smoke-test video, Focusrite audio, and system audio.