libcm is a C development framework with an emphasis on audio signal processing applications.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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