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.

cmScoreMatchGraphic.h 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 cmScoreMatchGraphic_h
  4. #define cmScoreMatchGraphic_h
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. //( { file_desc:"Implements the functionality of cmMidiScoreFollowMain()." kw[score] }
  9. enum
  10. {
  11. kOkSmgRC = cmOkRC,
  12. kFileSmgRC,
  13. kScoreFailSmgRC,
  14. kMidiFileFailSmgRC,
  15. kOpFailSmgRC,
  16. kMatchFailSmgRC
  17. };
  18. typedef cmRC_t cmSmgRC_t;
  19. typedef cmHandle_t cmSmgH_t;
  20. extern cmSmgH_t cmSmgNullHandle;
  21. cmSmgRC_t cmScoreMatchGraphicAlloc( cmCtx_t* ctx, cmSmgH_t* hp, const cmChar_t* scoreFn, const cmChar_t* midiFn );
  22. cmSmgRC_t cmScoreMatchGraphicFree( cmSmgH_t* hp );
  23. bool cmScoreMatchGraphicIsValid( cmSmgH_t h );
  24. cmSmgRC_t cmScoreMatchGraphicInsertMidi( cmSmgH_t h, unsigned midiUid, unsigned midiPitch, unsigned midiVel, unsigned csvScoreEventId );
  25. cmSmgRC_t cmScoreMatchGraphicWrite( cmSmgH_t h, const cmChar_t* fn );
  26. // Generate a set of markers for use in a cmTimeLine file which forms a marked area
  27. // beginning at each bar line and ends at the end of the file.
  28. cmSmgRC_t cmScoreMatchGraphicGenTimeLineBars( cmSmgH_t h, const cmChar_t* fn, unsigned srate );
  29. // Update the MIDI file velocity values and insert pedal events
  30. // from from score into MIDI file and then write the updated MIDI
  31. // file to 'newMidiFn'.
  32. cmSmgRC_t cmScoreMatchGraphicUpdateMidiFromScore( cmCtx_t* ctx, cmSmgH_t h, const cmChar_t* newMidiFn );
  33. //)
  34. #ifdef __cplusplus
  35. }
  36. #endif
  37. #endif