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