Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.6KB

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