Table of Contents

Namespace NAudio.Wave.Asio

Classes

AsioDriver

Main AsioDriver Class. To use this class, you need to query first the GetAsioDriverNames() and then use the GetAsioDriverByName to instantiate the correct AsioDriver. This is the first AsioDriver binding fully implemented in C#!

Contributor: Alexandre Mutel - email: alexandre_mutel at yahoo.fr

AsioDriverCapability

AsioDriverCapability holds all the information from the AsioDriver. Use AsioDriverExt to get the Capabilities

AsioDriverExt

AsioDriverExt is a simplified version of the AsioDriver. It provides an easier way to access the capabilities of the Driver and implement the callbacks necessary for feeding the driver. Implementation inspired from Rob Philpot's with a managed C++ ASIO wrapper BlueWave.Interop.Asio http://www.codeproject.com/KB/mcpp/Asio.Net.aspx

Contributor: Alexandre Mutel - email: alexandre_mutel at yahoo.fr

AsioFloatToNativeConverter

Converts a single channel of normalized float samples in [-1.0, +1.0] into the driver's native ASIO sample format. The mirror of AsioNativeToFloatConverter; used by the duplex output path of AsioDevice.

AsioNativeToFloatConverter

Converts a single channel of native ASIO samples into a Span<T> of normalized floats in [-1.0, +1.0]. Supported native formats are Int16LSB, Int24LSB, Int32LSB, and Float32LSB — the four formats used by the vast majority of ASIO drivers. Other formats throw NotSupportedException.

Structs

Asio64Bit

ASIO 64 bit value Unfortunately the ASIO API was implemented it before compiler supported consistently 64 bit integer types. By using the structure the data layout on a little-endian system like the Intel x86 architecture will result in a "non native" storage of the 64 bit data. The most significant 32 bit are stored first in memory, the least significant bits are stored in the higher memory space. However each 32 bit is stored in the native little-endian fashion

AsioCallbacks

ASIO Callbacks

AsioChannelInfo

ASIO Channel Info

AsioClockSource

One available clock source as reported by ASIOGetClockSources. Pro audio interfaces typically expose Internal alongside Word Clock, S/PDIF, AES/EBU, and ADAT sync inputs; consumer interfaces usually report a single Internal source.

Enums

AsioError

ASIO Error Codes

AsioMessageSelector

ASIO Message Selector

AsioSampleType

ASIO Sample Type

Delegates

AsioCallbacks.AsioAsioMessageCallBack

ASIO Message Callback

AsioCallbacks.AsioBufferSwitchCallBack

ASIO Buffer Switch Callback

AsioCallbacks.AsioBufferSwitchTimeInfoCallBack

ASIO Buffer Switch Time Info Callback

AsioCallbacks.AsioSampleRateDidChangeCallBack

ASIO Sample Rate Did Change Callback

AsioFillBufferCallback

Callback used by the AsioDriverExt to get wave data

AsioFloatToNativeConverter.ConverterFn

Converts frames samples from source into native bytes written into destination (driver-owned native memory).

AsioNativeToFloatConverter.ConverterFn

Converts frames samples from source (driver-owned native memory) into normalized floats written into destination.