Skip to content

Support independently controlled Wave devices and capture keepalives - #16

Merged
rikkichy merged 2 commits into
mainfrom
pr8-04-multi-device
Sep 8, 2026
Merged

Support independently controlled Wave devices and capture keepalives#16
rikkichy merged 2 commits into
mainfrom
pr8-04-multi-device

Conversation

@rikkichy

@rikkichy rikkichy commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Scope

  • Enumerate exact USB units, including multiple devices of the same model.
  • Serialize each unit's transfers and firmware synchronization separately; preserve healthy handles during hotplug.
  • Bind queued controls to their selected device, cancel delayed sliders on selection changes, and finish workers before disconnecting.
  • Maintain one capture keepalive per Wave input; preserve pins when PipeWire observation fails.

Verification

  • 26 focused Python tests pass.
  • Nix package builds.
  • Isolated GTK/Xvfb scenario passes: two emulated units, serial selector, write ownership, stale drag cancellation, hotplug survivor, clean shutdown. Actual physical multi-device hardware was not exercised.

Draft while dynamic routing integration is verified. No change to unsupported 00c7 USB variant.

Preserve healthy units across hotplug, bind queued controls to their selected device, and quiesce workers before disconnecting handles.

Co-authored-by: Zedwil <nylegarcia01@gmail.com>
@rikkichy
rikkichy marked this pull request as ready for review September 8, 2026 13:34
@rikkichy
rikkichy merged commit 9d3c1fc into main Sep 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant