More detailed error message.
[rtaudio-cdist.git] / include / iasiodrv.h
1 #include "asiosys.h"\r
2 #include "asio.h"\r
3 \r
4 /* Forward Declarations */ \r
5 \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
10 \r
11 interface IASIO : public IUnknown\r
12 {\r
13 \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
37 };\r