Conversation
Greptile SummaryThis PR makes preview audio follow the system’s current default output device.
Confidence Score: 5/5The PR appears safe to merge, with no concrete blocking or non-blocking defects identified. The declarative device binding remains active for the lifetime of the dynamically created AudioOutput, and no changed-code path was found that overrides or breaks it.
|
| Filename | Overview |
|---|---|
| src/Main.qml | Adds a persistent MediaDevices observer and a live device binding so preview playback follows runtime default-output changes. |
Reviews (1): Last reviewed commit: "Follow system default audio output" | Re-trigger Greptile
|
Reviewed by Claude Opus 5 in Claude Code, with an independent second opinion from Codex at xhigh reasoning. Nothing found: the change does what it says, and the two ways a device binding can go wrong were measured rather than assumed. Everything below ran on a disposable Omarchy VM with Qt 6.11.2 and PipeWire, against a build of It follows the default, and Re-binding mid-playback costs no state. Sampling the live Startup with no device does not silence playback. Logging the device at the instant of The lazy audio output from 6b360ee still holds. On the empty start screen both builds sit at 15 threads with no PipeWire file descriptor and no client registered with the server, so the always-present Codex reached the same verdict, and where it agreed with a measurement already taken its independence is not currently guaranteed — it can read the reviewing session's own transcript. What it added stands on its own, from the Qt 6.11.2 sources: Waiting on the maintainer. |
Summary
Previously, OMACut selected the default output when the AudioOutput was created and kept playing through that original sink after the system default changed.
Testing
./bin/build./bin/test— 27 passed, 0 failed