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.

cmAudioPortFile.h 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 cmAudioPortFile_h
  4. #define cmAudioPortFile_h
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. //( { file_desc:"This is an audio device driver for cmAudioPort which supports reading and writing audio files as though they are real-time devices." kw[audio file rt] }
  9. cmApRC_t cmApFileAllocate( cmRpt_t* rpt );
  10. cmApRC_t cmApFileFree();
  11. cmApRC_t cmApFileInitialize( cmRpt_t* rpt, unsigned baseApDevIdx );
  12. cmApRC_t cmApFileFinalize();
  13. bool cmApFileIsValid();
  14. unsigned cmApFileDeviceCreate(
  15. const cmChar_t* devLabel,
  16. const cmChar_t* iFn,
  17. const cmChar_t* oFn,
  18. unsigned oBits,
  19. unsigned oChCnt );
  20. cmApRC_t cmApFileDeviceDestroy( unsigned devIdx );
  21. unsigned cmApFileDeviceCount();
  22. const char* cmApFileDeviceLabel( unsigned devIdx );
  23. unsigned cmApFileDeviceChannelCount( unsigned devIdx, bool inputFl );
  24. double cmApFileDeviceSampleRate( unsigned devIdx );
  25. unsigned cmApFileDeviceFramesPerCycle( unsigned devIdx, bool inputFl );
  26. cmApRC_t cmApFileDeviceSetup(
  27. unsigned devIdx,
  28. double srate,
  29. unsigned framesPerCycle,
  30. cmApCallbackPtr_t callbackPtr,
  31. void* userCbPtr );
  32. cmApRC_t cmApFileDeviceStart( unsigned devIdx );
  33. cmApRC_t cmApFileDeviceStop( unsigned devIdx );
  34. bool cmApFileDeviceIsStarted( unsigned devIdx );
  35. void cmApFileReport( cmRpt_t* rpt );
  36. void cmApFileTest( cmRpt_t* rpt );
  37. //)
  38. #ifdef __cplusplus
  39. }
  40. #endif
  41. #endif