# Unit DASIOHost

Description | uses | Classes, Interfaces, Objects and Records | Functions and Procedures | Types | Constants | Variables

## Description

## Overview

### Classes, Interfaces, Objects and Records

Name | Description
--- | ---
packed record `TAsioDriverDesc` |
Class `TASIOTimeSub` |
Class `TCustomASIOHostBasic` |
Class `TASIOHostBasic` |
Class `TCustomASIOHost` |
Class `TASIOHost` |

### Functions and Procedures

`function ChannelTypeToString(vType: TASIOSampleType): string;`
`procedure ListAsioDrivers(var List: TAsioDriverList);`

### Types

`PAsioDriverDesc = ˆTAsioDriverDesc;`
`TASIOBufferList = array [0..0] of TASIOBufferInfo;`
`PASIOBufferList = ˆTASIOBufferList;`
`TAsioDriverList = array of TAsioDriverDesc;`
`TASIOCanDo = (...);`
`TASIOCanDos = set of TASIOCanDo;`
`TASIOOutputDither = (...);`
`TConvertMethod = (...);`
`TConvertOptimization = (...);`
`TConvertOptimizations = set of TConvertOptimization;`
`TSamplePositionUpdateEvent = procedure(Sender: TObject; SamplePosition: Int64) of object;`
`TSample2Event = procedure(Sender: TObject; Sample: array of Single) of object;`
`TBufferSwitchEvent32 = procedure(Sender: TObject; const InBuffer, OutBuffer: TAVDArrayOfSingleDynArray) of object;`
`TBufferSwitchEvent64 = procedure(Sender: TObject; const InBuffer, OutBuffer: TAVDArrayOfDoubleDynArray) of object;`
`TBufferSwitchEventNative = procedure(Sender: TObject; const BufferInfo: PASIOBufferList; const BufferIndex : Integer) of object;`
`TBufferPreFill = (...);`
`TPreventClipping = (...);`
`TInputMonitor = (...);`
`TATFlag = (...);`
`TATFlags = set of TATFlag;`

### Constants

`PM_ASIO = WM_User + 1652;`
`AM_ResetRequest = 0;`
`AM_BufferSwitch = 1;`
`AM_BufferSwitchTimeInfo = 2;`
`AM_LatencyChanged = 3;`
`PM_UpdateSamplePos = PM_ASIO + 1;`
`PM_BufferSwitch = PM_ASIO + 2;`
`PM_BufferSwitchTimeInfo = PM_ASIO + 3;`
`PM_Reset = PM_ASIO + 4;`

### Variables

`theHost: TCustomASIOHostBasic;`
`PMUpdSamplePos: TLMessage;`
`PMBufSwitch: TLMessage;`
`PMBufSwitchTimeInfo: TLMessage;`
`PMReset: TLMessage;`

## Description

### Functions and Procedures

`function ChannelTypeToString(vType: TASIOSampleType): string;`

`procedure ListAsioDrivers(var List: TAsioDriverList);`

### Types

`PAsioDriverDesc = ˆTAsioDriverDesc;`

`TASIOBufferList = array [0..0] of TASIOBufferInfo;`

`PASIOBufferList = ˆTASIOBufferList;`

`TAsioDriverList = array of TAsioDriverDesc;`
TDoubleDynArray = DAVDCommon.TDoubleDynArray; TSingleDynArray = DAVDCommon.TSingleDynArray; TArrayOfDoubleDynArray = DAVDCommon.TArrayOfDoubleDynArray; TArrayOfSingleDynArray = DAVDCommon.TArrayOfSingleDynArray; PArrayOfDoubleDynArray = DAVDCommon.PArrayOfDoubleDynArray; PArrayOfSingleDynArray = DAVDCommon.PArrayOfSingleDynArray;

`TASIOCanDo = (...);`
###### Values acdInputMonitor: acdTimeInfo: acdTimeCode: acdTransport: acdInputGain: acdInputMeter: acdOutputGain: acdOutputMeter:

`TASIOCanDos = set of TASIOCanDo;`

`TASIOOutputDither = (...);`
###### Values odNone: odUDF: odTDF:

`TConvertMethod = (...);`
###### Values cmNone: cm32: cm64:

`TConvertOptimization = (...);`
###### Values coSSE: co3DNow:

`TConvertOptimizations = set of TConvertOptimization;`

`TSamplePositionUpdateEvent = procedure(Sender: TObject; SamplePosition: Int64) of object;`

`TSample2Event = procedure(Sender: TObject; Sample: array of Single) of object;`

`TBufferSwitchEvent32 = procedure(Sender: TObject; const InBuffer, OutBuffer: TAVDArrayOfSingleDynArray) of object;`

`TBufferSwitchEvent64 = procedure(Sender: TObject; const InBuffer, OutBuffer: TAVDArrayOfDoubleDynArray) of object;`

`TBufferSwitchEventNative = procedure(Sender: TObject; const BufferInfo: PASIOBufferList; const BufferIndex : Integer) of object;`

`TBufferPreFill = (...);`
###### Values bpfNone: bpfZero: bpfNoise: bpfCustom:

`TPreventClipping = (...);`
###### Values pcNone: pcDigital: pcAnalog:

`TInputMonitor = (...);`
###### Values imDisabled: imMono: imStereo: imAll:

`TATFlag = (...);`
###### Values atSystemTimeValid: atSamplePositionValid: atSampleRateValid: atSpeedValid: atSampleRateChanged: atClockSourceChanged:

`TATFlags = set of TATFlag;`

### Constants

`PM_ASIO = WM_User + 1652;`
define D5CP to compile with the ASIO control panel design time for Delphi 5 private message

`AM_ResetRequest = 0;`
unique we hope ASIO message(s), as wParam for PM_ASIO

`AM_BufferSwitch = 1;`

`AM_BufferSwitchTimeInfo = 2;`
new buffer index in lParam

`AM_LatencyChanged = 3;`
new buffer index in lParam time passed in MainForm.BufferTime

`PM_UpdateSamplePos = PM_ASIO + 1;`

`PM_BufferSwitch = PM_ASIO + 2;`
sample pos in wParam (hi) and lParam (lo)

`PM_BufferSwitchTimeInfo = PM_ASIO + 3;`

`PM_Reset = PM_ASIO + 4;`

### Variables

`theHost: TCustomASIOHostBasic;`

`PMUpdSamplePos: TLMessage;`

`PMBufSwitch: TLMessage;`

`PMBufSwitchTimeInfo: TLMessage;`

`PMReset: TLMessage;`

Generated by PasDoc 0.10.0 on 2007-11-13 13:04:16