From 56adb47026abac3a833608c52a901264d979c9ee Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Wed, 5 Aug 2026 08:15:02 +0200 Subject: [PATCH] fix(client-core): pad-audio references the WASAPI module by its mounted name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Windows build of pf-client-core has been red on main since the pad-audio merge (#23): pad_audio.rs calls `crate::audio_wasapi::device_by_id`, but lib.rs mounts audio_wasapi.rs AS `crate::audio` via the #[path] per-OS swap — the `audio_wasapi` module name never exists. Windows-gated call site, so every Linux leg stayed green while both `windows / build` targets failed E0433. One-line rename to the mounted path (+ the comment that pointed readers at the phantom name). Verification is the PR's own windows leg — the crate builds on no other platform this path compiles on. --- crates/pf-client-core/src/pad_audio.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/pf-client-core/src/pad_audio.rs b/crates/pf-client-core/src/pad_audio.rs index 4f29c2e7..16394481 100644 --- a/crates/pf-client-core/src/pad_audio.rs +++ b/crates/pf-client-core/src/pad_audio.rs @@ -921,10 +921,10 @@ fn pad_render_thread( const BLOCK_ALIGN: usize = PAD_CHANNELS * 4; // f32 interleaved let enumerator = wasapi::DeviceEnumerator::new().context("DeviceEnumerator")?; // Not `get_device`: that helper resolves through a freed string — see - // [`crate::audio_wasapi::device_by_id`]. - let device = - crate::audio_wasapi::device_by_id(&enumerator, &Direction::Render, endpoint_id) - .map_err(|e| anyhow!("correlated endpoint not found: {e:#}"))?; + // [`crate::audio::device_by_id`] (audio_wasapi.rs, mounted as `crate::audio` on + // Windows by lib.rs's `#[path]` swap — there is no `audio_wasapi` module name). + let device = crate::audio::device_by_id(&enumerator, &Direction::Render, endpoint_id) + .map_err(|e| anyhow!("correlated endpoint not found: {e:#}"))?; let mut audio_client = device.get_iaudioclient().context("IAudioClient")?; // FL|FR|BL|BR: front pair = the pad's speaker, back pair = the voice coils. let desired = WaveFormat::new(32, 32, &SampleType::Float, 48_000, PAD_CHANNELS, Some(0x33));