libcm is a C development framework with an emphasis on audio signal processing applications.
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.

cmAudDsp.h 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef cmAudDsp_h
  2. #define cmAudDsp_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. //( { file_desc: "Supports a serialized interface to an internal instance of cmAudioSys and cmDspSys." kw:[rt]}
  7. enum
  8. {
  9. kOkAdRC = cmOkRC,
  10. kAudioPortFailAdRC,
  11. kAudioSysFailAdRC,
  12. kMidiSysFailAdRC,
  13. kDspSysFailAdRC,
  14. kFileSysFailAdRC,
  15. kJsonFailAdRC,
  16. kSendMsgFailAdRC,
  17. kInvalidCfgIdxAdRC,
  18. kNoPgmLoadedAdRC,
  19. kInvalidSubSysIdxAdRC,
  20. kUnknownMsgTypeAdRC,
  21. kAggDevSysFailAdRC,
  22. kAggDevCreateFailAdRC,
  23. kNrtDevSysFailAdRC,
  24. kAfpDevSysFailAdRC,
  25. kNetSysFailAdRC
  26. };
  27. typedef cmRC_t cmAdRC_t;
  28. typedef cmHandle_t cmAdH_t;
  29. extern cmAdH_t cmAdNullHandle;
  30. // Create a audio dsp engine and send device and program information to the
  31. // host application.
  32. // cbPtr provides a function used by cmAudDsp to send messages to the client.
  33. cmAdRC_t cmAudDspAlloc( cmCtx_t* ctx, cmAdH_t* hp, cmMsgSendFuncPtr_t cbPtr, void* cbDataPtr );
  34. cmAdRC_t cmAudDspFree( cmAdH_t* hp );
  35. // Send the setup to the UI (device list,system cfg list, DSP programs)
  36. cmAdRC_t cmAudDspSendSetup( cmAdH_t h );
  37. bool cmAudDspIsValid( cmAdH_t h );
  38. // This function provides the primary interface for communication from the
  39. // client program to the aud_dsp system.
  40. cmAdRC_t cmAudDspReceiveClientMsg( cmAdH_t h, unsigned msgBytecnt, const void* msg );
  41. //)
  42. #ifdef __cplusplus
  43. }
  44. #endif
  45. #endif