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.

cmSaProc.h 1012B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 cmSaProc_h
  4. #define cmSaProc_h
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. typedef struct
  9. {
  10. cmObj obj;
  11. void* h;
  12. unsigned mode;
  13. double srate;
  14. unsigned procSmpCnt;
  15. bool freeFl;
  16. double azimDegrees;
  17. double elevDegrees;
  18. double dist;
  19. } cmBinEnc;
  20. cmBinEnc* cmBinEncAlloc( cmCtx* c, cmBinEnc* p, double srate, unsigned procSmpCnt );
  21. cmRC_t cmBinEncFree( cmBinEnc** pp );
  22. cmRC_t cmBinEncInit( cmBinEnc* p, double srate, unsigned procSmpCnt );
  23. cmRC_t cmBinEncFinal( cmBinEnc* p );
  24. cmRC_t cmBinEncSetMode(cmBinEnc* p, unsigned mode );
  25. cmRC_t cmBinEncSetLoc( cmBinEnc* p, float azimDegrees, float elevDegrees, float dist );
  26. cmRC_t cmBinEncExec( cmBinEnc* p, const cmSample_t* x, cmSample_t* y0, cmSample_t* y1, unsigned xyN );
  27. #ifdef __cplusplus
  28. }
  29. #endif
  30. #endif