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.

cmDspCtx.h 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef cmDspCtx_h
  2. #define cmDspCtx_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. //( { file_desc:"Dataflow global context interface." kw:[snap] }
  7. typedef cmHandle_t cmDspSysH_t;
  8. typedef cmHandle_t cmDspStoreH_t;
  9. struct cmAudioSysCtx_str;
  10. struct cmDspGlobalVar_str;
  11. // DSP system context passed to many DSP instance functions
  12. typedef struct
  13. {
  14. cmDspSysH_t dspH;
  15. cmRpt_t* rpt;
  16. cmCtx_t* cmCtx; // global pgm context
  17. struct cmCtx_str* cmProcCtx; // context used by cmProc objects
  18. struct cmAudioSysCtx_str* ctx; // audio sub-system context this DSP program is executing within
  19. cmLHeapH_t lhH;
  20. cmJsonH_t jsH;
  21. cmSymTblH_t stH;
  22. cmDspStoreH_t dsH;
  23. cmJsonH_t rsrcJsH;
  24. unsigned cycleCnt; // count of DSP execution cycles (multiply by cmDspSamplesPerCycle() to get time since start of DSP system in samples)
  25. unsigned _disableSymId;
  26. unsigned _enableSymId;
  27. unsigned execDurUsecs;
  28. } cmDspCtx_t;
  29. //)
  30. #ifdef __cplusplus
  31. }
  32. #endif
  33. #endif