-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sample rate reported as unavailable after stream open when using exclusive backend #66
Comments
Okay, I see the problem:
This is actually a fairly subtle scenario that fails because of the following combination of factors:
The reason why the bug went unnoticed until now is because you might the first person who uses an application that calls Arguably the behaviour of your host application is a bit weird (what's the point of checking sample rates again after it already opened a stream?), but technically it's not wrong, so, ultimately, this is a bug in FlexASIO. It can be fixed by making I'm not sure when I'll find the time to make the fix however. In the mean time, as a workaround I would suggest using a non-exclusive backend, such as WASAPI in shared (not exclusive) mode. |
I am getting the same error messages in the Max MSP console with WASAPI in shared mode, but the audio in the application seems to stream just fine. |
#72 from @iamelec shows some similar behaviour:
However, in the case of #72 that seems legitimate because the application is truly attempting to change sample rates on the fly. It makes sense that the application does not necessarily want to interrupt the stream just so that it can list the available sample rates. The possible fix I described in my previous comment was to report the specific sample rate of the currently running stream as available. It does not involve changing the logic in the case where the sample rate being requested is not the sample rate of the running stream. So that wouldn't work for the purposes of determining the complete list of usable sample rates while an exclusive stream is running. Fixing that would likely require a more thoughtful solution, such as probing the backend for some set of sample rates in advance and then remembering the results if asked when the stream is running. Or perhaps FlexASIO could simply always answer "yes" to any |
Just for reference: judging from a log provided in #83, Ableton seems to trigger a similar issue where it calls That makes at least 3 separate applications that exhibit this behaviour. Clearly FlexASIO needs to be fixed to adapt to what these applications are doing. |
This is fixed in FlexASIO 1.6, which now reports all sample rates as available while an exclusive stream is running, instead of rejecting all sample rates. |
Since we are now using Pa_IsFormatSupported() instead of Pa_OpenStream() to probe sample rates, we should be able to actually probe sample rates even while an exclusive stream is running. Previously, we would just report every sample rate as supported in this scenario. See #188. Fixes #66 (differently)
FlexASIO 1.10 includes a better fix for this, which makes it possible to actually probe sample rates and get the correct results when an excusive stream is running. |
Hi,
I am trying to use flexASIO to use MaxMSP with Ableton as slave to create a generative music system. In an ideal world, I would like to run both MaxMSP and Ableton side by side, without having to switch driver when going from one software to another. When selecting FlexASIO as a driver, MaxMSP return the following error in the console:
This is my current setting of flexASIO
I have no problem using flexASIO in Ableton.
I have also attached the flexASIO.log document I have created to diagnose the problem
FlexASIO.log
Is there a work around or a configuration that would allow me to use FlexASIO for the use case I am looking for.
The text was updated successfully, but these errors were encountered: