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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef cmAudDsp_h
  2. #define cmAudDsp_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. // This API supports a serialized interface to an internal instance of
  7. // cmAudioSys and cmDspSys.
  8. enum
  9. {
  10. kOkAdRC = cmOkRC,
  11. kAudioPortFailAdRC,
  12. kAudioSysFailAdRC,
  13. kMidiSysFailAdRC,
  14. kDspSysFailAdRC,
  15. kFileSysFailAdRC,
  16. kJsonFailAdRC,
  17. kSendMsgFailAdRC,
  18. kInvalidCfgIdxAdRC,
  19. kNoPgmLoadedAdRC,
  20. kInvalidSubSysIdxAdRC,
  21. kUnknownMsgTypeAdRC,
  22. kAggDevSysFailAdRC,
  23. kAggDevCreateFailAdRC,
  24. kNrtDevSysFailAdRC,
  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. #ifdef __cplusplus
  42. }
  43. #endif
  44. #endif