5 /* Forward Declarations */
7 #ifndef __ASIODRIVER_FWD_DEFINED__
8 #define __ASIODRIVER_FWD_DEFINED__
9 typedef interface IASIO IASIO
;
10 #endif /* __ASIODRIVER_FWD_DEFINED__ */
12 interface IASIO
: public IUnknown
15 virtual ASIOBool
init(void *sysHandle
) = 0;
16 virtual void getDriverName(char *name
) = 0;
17 virtual long getDriverVersion() = 0;
18 virtual void getErrorMessage(char *string
) = 0;
19 virtual ASIOError
start() = 0;
20 virtual ASIOError
stop() = 0;
21 virtual ASIOError
getChannels(long *numInputChannels
, long *numOutputChannels
) = 0;
22 virtual ASIOError
getLatencies(long *inputLatency
, long *outputLatency
) = 0;
23 virtual ASIOError
getBufferSize(long *minSize
, long *maxSize
,
24 long *preferredSize
, long *granularity
) = 0;
25 virtual ASIOError
canSampleRate(ASIOSampleRate sampleRate
) = 0;
26 virtual ASIOError
getSampleRate(ASIOSampleRate
*sampleRate
) = 0;
27 virtual ASIOError
setSampleRate(ASIOSampleRate sampleRate
) = 0;
28 virtual ASIOError
getClockSources(ASIOClockSource
*clocks
, long *numSources
) = 0;
29 virtual ASIOError
setClockSource(long reference
) = 0;
30 virtual ASIOError
getSamplePosition(ASIOSamples
*sPos
, ASIOTimeStamp
*tStamp
) = 0;
31 virtual ASIOError
getChannelInfo(ASIOChannelInfo
*info
) = 0;
32 virtual ASIOError
createBuffers(ASIOBufferInfo
*bufferInfos
, long numChannels
,
33 long bufferSize
, ASIOCallbacks
*callbacks
) = 0;
34 virtual ASIOError
disposeBuffers() = 0;
35 virtual ASIOError
controlPanel() = 0;
36 virtual ASIOError
future(long selector
,void *opt
) = 0;
37 virtual ASIOError
outputReady() = 0;