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.

asiolist.h 994B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef __asiolist__
  2. #define __asiolist__
  3. #define DRVERR -5000
  4. #define DRVERR_INVALID_PARAM DRVERR-1
  5. #define DRVERR_DEVICE_ALREADY_OPEN DRVERR-2
  6. #define DRVERR_DEVICE_NOT_FOUND DRVERR-3
  7. #define MAXPATHLEN 512
  8. #define MAXDRVNAMELEN 128
  9. struct asiodrvstruct
  10. {
  11. int drvID;
  12. CLSID clsid;
  13. char dllpath[MAXPATHLEN];
  14. char drvname[MAXDRVNAMELEN];
  15. LPVOID asiodrv;
  16. struct asiodrvstruct *next;
  17. };
  18. typedef struct asiodrvstruct ASIODRVSTRUCT;
  19. typedef ASIODRVSTRUCT *LPASIODRVSTRUCT;
  20. class AsioDriverList {
  21. public:
  22. AsioDriverList();
  23. ~AsioDriverList();
  24. LONG asioOpenDriver (int,VOID **);
  25. LONG asioCloseDriver (int);
  26. // nice to have
  27. LONG asioGetNumDev (VOID);
  28. LONG asioGetDriverName (int,char *,int);
  29. LONG asioGetDriverPath (int,char *,int);
  30. LONG asioGetDriverCLSID (int,CLSID *);
  31. // or use directly access
  32. LPASIODRVSTRUCT lpdrvlist;
  33. int numdrv;
  34. };
  35. typedef class AsioDriverList *LPASIODRIVERLIST;
  36. #endif