Hi!
I know in ASIO the buffer size is chosen by the user. But, if that buffer size is not 1024, the FMOD engine will not work with ASIO.
That essentially means you do not support ASIO. Which may also be fine, except you say you do!
I now tried, following the advice of a colleague of yours, to use the “System::setDSPBufferSize(xxx, x)” call, with mixed results: it only works for 256/512/1024, but not audio interfaces whose ASIO control panels do not support such size, but have sizes such as 192, 288, etc, pre-defined in their drop-down.
I understand the argument about latency (and have experience with DSP programming). But, to our clients, who will use our software, what will I say? That we support ASIO, which the audio tech world is very strongly enamored with, for better or worse? Or that we do not support ASIO? They are now a user base which all by default use ASIO (musicians).
Same question, by extension, goes to FMOD: Does it support ASIO, or not? If not, why is it even there to begin with? Right now my understanding is you have it on the list, but there’s no way of making it work except if a user by mistake sets his buffer size to 1024 - meaning confusion.
This is not the first time I bring this up:
I get "Unable to initialize the selected device" when selecting ASIO driver for device verified to work with Ableton Live - FMOD Studio - FMOD Forums
And in the last email thread that resulted, the response from a colleague of yours (if you want I can email you the whole conversation thread), was along the lines of:
"The FMOD Studio engine sits on top of the low level engine.
To configure the DSP block size when using the Studio engine do the following:
Studio::System::Create()
Studio::System::getLowLevelSystem()
System::setDSPBufferSize()
Studio::System::initialize()"
Somehow I may have misunderstood it, but I thought with the latest FMOD release, the ability to use ASIO had been addressed. It seems as this is not the case then?
So to sum up: I am not trying to get the lowest possible latency necessarily - I’m just trying to get an answer to the question: can our end-users use ASIO with the software we release, or not? Should I remove the ability to pick ASIO in the software all-together then, or is there a way to make this work?
Thank you,
Ilias B.