dasio

D loader for the Steinberg ASIO audio device driver protocol.


Keywords
library.binding
License
GPL-3.0+
Install
dub fetch dasio

Documentation

DAsio

This is an ASIO loader for D2, using the OpenAsio DLL.

ASIO is a trademark of Steinberg.

Note: Since the OpenAsio website seems to have disappeared from the web there's a zipped copy of the source inside the OpenAsio directory.

Homepage: https://github.com/AndrejMitrovic/dasio

What is ASIO?

Quote from Wikipedia:

ASIO (Audio Stream Input/Output) is a computer sound card driver protocol for digital audio specified by Steinberg, providing a low-latency and high fidelity interface between a software application and a computer's sound card.

Note that ASIO is primarily used on Windows systems.

What is OpenAsio?

Because the calling convention of the ASIO SDK COM classes have not been explicitly set, languages other than C++ have problems calling methods on ASIO COM classes. OpenAsio is a C++ wrapper around the SDK which recreates the SDK with a compatible calling convention which can be used from other languages such as Delphi or D.

OpenAsio was made by Martin Fay. See its readme file for more information.

How to use DAsio

You will need to compile the OpenAsio library (distributed in a zip file) as a DLL. Alternatively you can grab the precompiled DLL from the bin folder inside the zipped archive.

The DLL is loaded dynamically, so make sure it's in your PATH.

You can use dub to make this library a dependency for your project.

Useful links

  • Asio4All - An open-source ASIO driver which works for many soundcards.
  • Steinberg SDK Area - You will need to register on this page before you can use the ASIO SDK.
  • PortAudio - A high-level audio loader library with which you can use many different types of audio drivers, e.g. ASIO, DirectSound, etc.
  • DPortAudio - A D binding to PortAudio.

License

ASIO is a trademark of Steinberg Media Technologies GmbH. You will need to register as a developer before you can use the ASIO SDK.