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.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. kSerialPortFailAdRC,
  14. kDspSysFailAdRC,
  15. kFileSysFailAdRC,
  16. kJsonFailAdRC,
  17. kSendMsgFailAdRC,
  18. kInvalidCfgIdxAdRC,
  19. kNoPgmLoadedAdRC,
  20. kInvalidSubSysIdxAdRC,
  21. kUnknownMsgTypeAdRC,
  22. kSerialDevCreateFailAdRC,
  23. kAggDevSysFailAdRC,
  24. kAggDevCreateFailAdRC,
  25. kNrtDevSysFailAdRC,
  26. kAfpDevSysFailAdRC,
  27. kNetSysFailAdRC,
  28. kInvalidAudioDevIdxAdRC
  29. };
  30. typedef cmRC_t cmAdRC_t;
  31. typedef cmHandle_t cmAdH_t;
  32. extern cmAdH_t cmAdNullHandle;
  33. // Create a audio dsp engine and send device and program information to the
  34. // host application.
  35. // cbPtr provides a function used by cmAudDsp to send messages to the client.
  36. cmAdRC_t cmAudDspAlloc( cmCtx_t* ctx, cmAdH_t* hp, cmMsgSendFuncPtr_t cbPtr, void* cbDataPtr );
  37. cmAdRC_t cmAudDspFree( cmAdH_t* hp );
  38. // Send the setup to the UI (device list,system cfg list, DSP programs)
  39. cmAdRC_t cmAudDspSendSetup( cmAdH_t h );
  40. bool cmAudDspIsValid( cmAdH_t h );
  41. // This function provides the primary interface for communication from the
  42. // client program to the aud_dsp system.
  43. cmAdRC_t cmAudDspReceiveClientMsg( cmAdH_t h, unsigned msgBytecnt, const void* msg );
  44. //)
  45. #ifdef __cplusplus
  46. }
  47. #endif
  48. #endif