Voting for new ASIO features

After a long time ASIO has still his strength and weeks. :mrgreen:

Currently I would like to see the following features added to ASIO:

  • Information whether we deal with a simple or multi client HW

  • Information if the HW device is a PNP device

  • Observer (register / un-register) notify function in case the PNP device is connected or disconnected

  • Capability information of the underlying sample rate and bit format function (PCM / DSD / …)

  • May consider for a better Windows OLE interface than OLE-1



The bit format has always been an issue. Originally we let the user choose which format was exposed via the ASIO interface through our ASIO Control Panel, but that just confused people. We eventually settled on exposing just 32-bit (best for transferring over PCI) and that seems to work just fine. Obviously for DSD support, the device would have to be put into a “DSD Mode” to let the app know that DSD is available since the driver can really only expose a single format at a time.

ASIO functions should just return ASE_NotPresent if the hardware has been unplugged.

I’m not seeing the value in knowing if something is PNP or not, since only PNP drivers can used on Windows Vista and up. I’m sure someone will want to argue that there is a way to load a non-PNP driver, but that is not standard practice at all and shouldn’t be considered for a professional shipping product.

Multi-client is an issue since that is not currently in the ASIO specification at all. At the moment the end-user has to know if a device supports multi-client, and how (pre-allocate channels for a single app or not). How would you propose expanding the ASIO specification for this?

Thank you,

David A. Hoatson
Lynx Studio Technology, Inc.

Hi David,

How would you propose expanding the ASIO specification for this?

I would suggest a feature query function or message, with result data & plenty of room for additional information flags :smiley:

BTW: About the multi-client. There drivers how support only on various application instances and on single instance no multi-client support. It’s even more complicated.



It would, f.ex, be possible to implement a custom ASIOFuture call without even changing the spec,
and publishing the selector code and parameter struct, suggestably in the device’s manual,
and then submit it to Steinberg for inclusion in the next SDK revision.

Best Regards
// Neo