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.

cmAudDspLocal.h 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //| Copyright: (C) 2009-2020 Kevin Larke <contact AT larke DOT org>
  2. //| License: GNU GPL version 3.0 or above. See the accompanying LICENSE file.
  3. #ifndef cmAudDspLocal_h
  4. #define cmAudDspLocal_h
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. //( { file_desc: "Implementation of the audio DSP interface for local, in-memory, communication." kw:[rt]}
  9. //
  10. // This class instantiates an audio-DSP engine (cmAudDsp),
  11. // an interface for communicating with it (cmAudDspIF),
  12. // and message delivery functions for copying messages
  13. // in both directions between cmAuDsp and cmAudDspIF.
  14. //
  15. // Note that the underlying inteface which allows an application to
  16. // control, and receive message from, cmAudDsp is provided by
  17. // cmAudDspIF - which this class provides a handle to.
  18. //)
  19. //(
  20. enum
  21. {
  22. kOkAdlRC = cmOkRC,
  23. kAudDspIfFailAdlRC,
  24. kAudDspFailAdlRC,
  25. kFileSysFailAdlRC,
  26. kJsonFailAdlRC
  27. };
  28. typedef cmRC_t cmAdlRC_t;
  29. typedef cmHandle_t cmAdlH_t;
  30. extern cmAdlH_t cmAdlNullHandle;
  31. cmAdlRC_t cmAudDspLocalAllocate(
  32. cmCtx_t* ctx,
  33. cmAdlH_t* hp,
  34. const cmAdIfDispatch_t* recd );
  35. cmAdlRC_t cmAudDspLocalFree( cmAdlH_t* hp );
  36. cmAdlRC_t cmAudDspLocalSendSetup( cmAdlH_t h );
  37. bool cmAudDspLocalIsValid( cmAdlH_t h );
  38. cmAiH_t cmAudDspLocalIF_Handle( cmAdlH_t h );
  39. //)
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif