Repository navigation
SarAsio: configure the running inner driver instead of a second one (#133) - #149
Draft
eiz-claude wants to merge 2 commits into
Draft
eiz-claude wants to merge 2 commits into
eiz-claude wants to merge 2 commits into
Conversation
Adds SarTest control-panel and an issue-133-control-panel scenario in a new "issues" group (on by default). With the host running, it opens SAR's control panel, sends the hardware interface's Configure button click, cancels the panel, and fails if the software clock ever had two live instances. The clock now counts its live instances and controlPanel calls and reports them in ClockStats. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With the host running, the hardware interface's Configure button created and initialized a second instance of the inner ASIO driver just to call controlPanel() on it. ASIO drivers may assume a single instance per process, and FlexASIO crashed on it. The control panel now gets the wrapper's running inner driver and its CLSID, and uses it when it is the selected one. Other selections, and SarAsio without a running driver, still open a temporary instance. Fixes #133. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #133.
With the host running, the Configure button next to the hardware interface in SAR's control panel created and initialized a second instance of the inner ASIO driver, only to call
controlPanel()on it. ASIO drivers may assume one instance per process; FlexASIO crashed on it (dechamps/FlexASIO#183).SarAsioWrapper::controlPanelnow passes its running inner driver and the CLSID it loaded into the configuration dialog. When the selected interface is that driver, the Configure button callscontrolPanel()on the running instance. Other selections, and SarAsio without a running driver (e.g. SarConfigure.exe), still open a temporary instance as before.Test
New
SarTest control-panelcheck (issue-133-control-panelscenario):controlPanelcalls.controlPanelcalls🤖 Generated with Claude Code