libcm is a C development framework with an emphasis on audio signal processing applications.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

cmAudDsp.h 1.4KB

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