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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. };
  29. typedef cmRC_t cmAdRC_t;
  30. typedef cmHandle_t cmAdH_t;
  31. extern cmAdH_t cmAdNullHandle;
  32. // Create a audio dsp engine and send device and program information to the
  33. // host application.
  34. // cbPtr provides a function used by cmAudDsp to send messages to the client.
  35. cmAdRC_t cmAudDspAlloc( cmCtx_t* ctx, cmAdH_t* hp, cmMsgSendFuncPtr_t cbPtr, void* cbDataPtr );
  36. cmAdRC_t cmAudDspFree( cmAdH_t* hp );
  37. // Send the setup to the UI (device list,system cfg list, DSP programs)
  38. cmAdRC_t cmAudDspSendSetup( cmAdH_t h );
  39. bool cmAudDspIsValid( cmAdH_t h );
  40. // This function provides the primary interface for communication from the
  41. // client program to the aud_dsp system.
  42. cmAdRC_t cmAudDspReceiveClientMsg( cmAdH_t h, unsigned msgBytecnt, const void* msg );
  43. //)
  44. #ifdef __cplusplus
  45. }
  46. #endif
  47. #endif