-#include "asiosys.h"\r
-#include "asio.h"\r
-\r
-/* Forward Declarations */ \r
-\r
-#ifndef __ASIODRIVER_FWD_DEFINED__\r
-#define __ASIODRIVER_FWD_DEFINED__\r
-typedef interface IASIO IASIO;\r
-#endif /* __ASIODRIVER_FWD_DEFINED__ */\r
-\r
-interface IASIO : public IUnknown\r
-{\r
-\r
- virtual ASIOBool init(void *sysHandle) = 0;\r
- virtual void getDriverName(char *name) = 0; \r
- virtual long getDriverVersion() = 0;\r
- virtual void getErrorMessage(char *string) = 0; \r
- virtual ASIOError start() = 0;\r
- virtual ASIOError stop() = 0;\r
- virtual ASIOError getChannels(long *numInputChannels, long *numOutputChannels) = 0;\r
- virtual ASIOError getLatencies(long *inputLatency, long *outputLatency) = 0;\r
- virtual ASIOError getBufferSize(long *minSize, long *maxSize,\r
- long *preferredSize, long *granularity) = 0;\r
- virtual ASIOError canSampleRate(ASIOSampleRate sampleRate) = 0;\r
- virtual ASIOError getSampleRate(ASIOSampleRate *sampleRate) = 0;\r
- virtual ASIOError setSampleRate(ASIOSampleRate sampleRate) = 0;\r
- virtual ASIOError getClockSources(ASIOClockSource *clocks, long *numSources) = 0;\r
- virtual ASIOError setClockSource(long reference) = 0;\r
- virtual ASIOError getSamplePosition(ASIOSamples *sPos, ASIOTimeStamp *tStamp) = 0;\r
- virtual ASIOError getChannelInfo(ASIOChannelInfo *info) = 0;\r
- virtual ASIOError createBuffers(ASIOBufferInfo *bufferInfos, long numChannels,\r
- long bufferSize, ASIOCallbacks *callbacks) = 0;\r
- virtual ASIOError disposeBuffers() = 0;\r
- virtual ASIOError controlPanel() = 0;\r
- virtual ASIOError future(long selector,void *opt) = 0;\r
- virtual ASIOError outputReady() = 0;\r
-};\r