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