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