| Description | Hierarchy | Fields | Methods | Properties | 
type unaAsioDriver = class(unaObject)
– unaAsioDriver –
![]()  | 
constructor create(asio: iASIO); | 
![]()  | 
destructor Destroy(); override; | 
![]()  | 
function canSampleRate(sampleRate: ASIOSampleRate): bool; | 
![]()  | 
function controlPanel(): ASIOError; | 
![]()  | 
function future(selector: long; opt: pointer = nil): ASIOError; | 
![]()  | 
function getBufferSizeInBytes(chIndex: int): int; | 
![]()  | 
function getClockSources(clocks: pASIOClockSources; var numSources: long): ASIOError; | 
![]()  | 
function getDriverError(hardCall: bool = true): aString; | 
![]()  | 
function getSamplePosition(out sPos: ASIOSamples; out tStamp: ASIOTimeStamp): ASIOError; | 
![]()  | 
function getSamples(channelIndex, bufIndex: int; outBuffer: pInt16Array; startSampleIndex: int = 0; samplesCount: int = -1): ASIOError; | 
![]()  | 
function init(sysref: long = 0; createBuffers: bool = true; bufSize: int = -1): ASIOError; | 
![]()  | 
function outputReady(): ASIOError; | 
![]()  | 
function release(): bool; | 
![]()  | 
function setClockSource(reference: long): ASIOError; | 
![]()  | 
function setSample(channelIndex, bufIndex, sampleIndex, value: int32; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function setSample(channelIndex, bufIndex, sampleIndex: int; value: double; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function setSampleRate(const sampleRate: ASIOSampleRate): ASIOError; | 
![]()  | 
function setSamples(channelIndex, bufIndex, startSampleIndex, samplesCount: int; values: pDouble; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function setSamples(channelIndex, bufIndex: int; inBuffer: pInt16Array; startSampleIndex: int = 0; samplesCount: int = -1): ASIOError; overload; | 
![]()  | 
function setSamples(channelIndex, bufIndex, startSampleIndex, samplesCount: int; value: pInt32; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function start(createBuffers: bool = false; bufSize: int = -1): ASIOError; | 
![]()  | 
function stop(releaseBuffers: bool = false): ASIOError; | 
![]()  | 
function createBuffers(bufferInfos: pASIOBufferInfo; numChannels: long; bufferSize: long; callbacks: pASIOCallbacks): ASIOError; | 
![]()  | 
function disposeBuffers(): ASIOError; | 
![]()  | 
function doAsioMessage(selector: long; value: long; message: pointer; opt: pDouble): long; virtual; | 
![]()  | 
function doBufferSwitchTimeInfo(timeInfo: pASIOTime; index: long; processNow: bool): pASIOTime; virtual; | 
![]()  | 
function getBufferSize(out minSize, maxSize, preferredSize, granularity: long): ASIOError; | 
![]()  | 
function getChannels(out numInputChannels: long; out numOutputChannels: long): ASIOError; | 
![]()  | 
function getDriverName(hardCall: bool = false): aString; | 
![]()  | 
function getDriverVersion(hardCall: bool = false): long; | 
![]()  | 
function getLatencies(out inputLatency: long; out outputLatency: long): ASIOError; | 
![]()  | 
procedure doBufferSwitch(index: long; processNow: bool); virtual; | 
![]()  | 
procedure doSampleRateChanged(rate: ASIOSampleRate); virtual; | 
![]()  | 
property bufActualSize: long read f_actualBufSize; | 
![]()  | 
property bufferInfo[index:int]: pASIOBufferInfo read getBufferInfoByIndex; | 
![]()  | 
property bufferProcessor: unaAsioBufferProcessor read f_bp write setBufferProcessor; | 
![]()  | 
property bufGranularity: long read f_granularity; | 
![]()  | 
property bufMaxSize: long read f_maxBufSize; | 
![]()  | 
property bufMinSize: long read f_minBufSize; | 
![]()  | 
property bufPreferredSize: long read f_preferredBufSize; | 
![]()  | 
property channelInfo[index:int]: pASIOChannelInfo read getChannelInfoByIndex; | 
![]()  | 
property driverInfo: pASIODriverInfo read getDriverInfo; | 
![]()  | 
property driverState: unaASIODriverState read f_driverState; | 
![]()  | 
property inputChannels: long read f_inputChannels; | 
![]()  | 
property inputLatency: long read f_inputLatency; | 
![]()  | 
property onAsioMessage: asioMessageEvent read f_onAM; | 
![]()  | 
property onBufferSwitch: bufferSwitchEvent read f_onBS; | 
![]()  | 
property onBufferSwitchTimeInfo: bufferSwitchTimeInfoEvent read f_onBSTI; | 
![]()  | 
property onSampleRateChanged: sampleRateChangedEvent read f_onSRC; | 
![]()  | 
property outputChannels: long read f_outputChannels; | 
![]()  | 
property outputLatency: long read f_outputLatency; | 
![]()  | 
property postOutput: bool read f_postOutput; | 
![]()  | 
property sampleRate: ASIOSampleRate read getSampleRate; | 
![]()  | 
constructor create(asio: iASIO); | 
![]()  | 
destructor Destroy(); override; | 
![]()  | 
function canSampleRate(sampleRate: ASIOSampleRate): bool; | 
![]()  | 
function controlPanel(): ASIOError; | 
![]()  | 
function future(selector: long; opt: pointer = nil): ASIOError; | 
![]()  | 
function getBufferSizeInBytes(chIndex: int): int; | 
| 
 Returns number of bytes in buffer allocated for channel Parameters
  | |
![]()  | 
function getClockSources(clocks: pASIOClockSources; var numSources: long): ASIOError; | 
![]()  | 
function getDriverError(hardCall: bool = true): aString; | 
![]()  | 
function getSamplePosition(out sPos: ASIOSamples; out tStamp: ASIOTimeStamp): ASIOError; | 
![]()  | 
function getSamples(channelIndex, bufIndex: int; outBuffer: pInt16Array; startSampleIndex: int = 0; samplesCount: int = -1): ASIOError; | 
| 
 Returns input samples as 16-bit values. NOTE: outBuffer must be large enough to hold all samples 
 Parameters
 ReturnsASE_OK or error code  | |
![]()  | 
function init(sysref: long = 0; createBuffers: bool = true; bufSize: int = -1): ASIOError; | 
![]()  | 
function outputReady(): ASIOError; | 
![]()  | 
function release(): bool; | 
![]()  | 
function setClockSource(reference: long): ASIOError; | 
![]()  | 
function setSample(channelIndex, bufIndex, sampleIndex, value: int32; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function setSample(channelIndex, bufIndex, sampleIndex: int; value: double; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function setSampleRate(const sampleRate: ASIOSampleRate): ASIOError; | 
![]()  | 
function setSamples(channelIndex, bufIndex, startSampleIndex, samplesCount: int; values: pDouble; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function setSamples(channelIndex, bufIndex: int; inBuffer: pInt16Array; startSampleIndex: int = 0; samplesCount: int = -1): ASIOError; overload; | 
| 
 Sets output samples as 16-bit values. NOTE: inBuffer must be large enough to hold all samples 
 Parameters
 ReturnsASE_OK or error code  | |
![]()  | 
function setSamples(channelIndex, bufIndex, startSampleIndex, samplesCount: int; value: pInt32; op: unaASIOSampleOp = soAdd): ASIOError; overload; | 
![]()  | 
function start(createBuffers: bool = false; bufSize: int = -1): ASIOError; | 
![]()  | 
function stop(releaseBuffers: bool = false): ASIOError; | 
![]()  | 
function createBuffers(bufferInfos: pASIOBufferInfo; numChannels: long; bufferSize: long; callbacks: pASIOCallbacks): ASIOError; | 
![]()  | 
function disposeBuffers(): ASIOError; | 
![]()  | 
function doAsioMessage(selector: long; value: long; message: pointer; opt: pDouble): long; virtual; | 
![]()  | 
function doBufferSwitchTimeInfo(timeInfo: pASIOTime; index: long; processNow: bool): pASIOTime; virtual; | 
![]()  | 
function getBufferSize(out minSize, maxSize, preferredSize, granularity: long): ASIOError; | 
| 
 ASIO interface  | |
![]()  | 
function getChannels(out numInputChannels: long; out numOutputChannels: long): ASIOError; | 
![]()  | 
function getDriverName(hardCall: bool = false): aString; | 
![]()  | 
function getDriverVersion(hardCall: bool = false): long; | 
![]()  | 
function getLatencies(out inputLatency: long; out outputLatency: long): ASIOError; | 
![]()  | 
procedure doBufferSwitch(index: long; processNow: bool); virtual; | 
![]()  | 
procedure doSampleRateChanged(rate: ASIOSampleRate); virtual; | 
![]()  | 
property bufActualSize: long read f_actualBufSize; | 
| 
 Actually allocated buffers size (samples)  | |
![]()  | 
property bufferInfo[index:int]: pASIOBufferInfo read getBufferInfoByIndex; | 
| 
 Buffer information bufferInfo and channelInfo share the same indexing, as the data in them are linked together max index is inputChannels + outputChannels - 1, input channels go first  | |
![]()  | 
property bufferProcessor: unaAsioBufferProcessor read f_bp write setBufferProcessor; | 
| 
 Buffer switch event  | |
![]()  | 
property bufGranularity: long read f_granularity; | 
| 
 Granularity (samples)  | |
![]()  | 
property bufMaxSize: long read f_maxBufSize; | 
| 
 Maximum buffer size (samples)  | |
![]()  | 
property bufMinSize: long read f_minBufSize; | 
| 
 Minimum buffer size (samples)  | |
![]()  | 
property bufPreferredSize: long read f_preferredBufSize; | 
| 
 Preferred buffer size (samples)  | |
![]()  | 
property channelInfo[index:int]: pASIOChannelInfo read getChannelInfoByIndex; | 
| 
 Channel information bufferInfo and channelInfo share the same indexing, as the data in them are linked together max index is inputChannels + outputChannels - 1, input buffers go first  | |
![]()  | 
property driverInfo: pASIODriverInfo read getDriverInfo; | 
![]()  | 
property driverState: unaASIODriverState read f_driverState; | 
![]()  | 
property inputChannels: long read f_inputChannels; | 
| 
 Number of input channels  | |
![]()  | 
property inputLatency: long read f_inputLatency; | 
| 
 Input latency (samples)  | |
![]()  | 
property onAsioMessage: asioMessageEvent read f_onAM; | 
| 
 ASIO Message event  | |
![]()  | 
property onBufferSwitch: bufferSwitchEvent read f_onBS; | 
| 
 Buffer switch event  | |
![]()  | 
property onBufferSwitchTimeInfo: bufferSwitchTimeInfoEvent read f_onBSTI; | 
| 
 Buffer switch event  | |
![]()  | 
property onSampleRateChanged: sampleRateChangedEvent read f_onSRC; | 
| 
 SR change event  | |
![]()  | 
property outputChannels: long read f_outputChannels; | 
| 
 Number of output channels  | |
![]()  | 
property outputLatency: long read f_outputLatency; | 
| 
 Output latency (samples)  | |
![]()  | 
property postOutput: bool read f_postOutput; | 
![]()  | 
property sampleRate: ASIOSampleRate read getSampleRate; | 
| 
 Current sampling rate (samples/second)  | |
(c) 2012 Lake of Soft