libcm is a C development framework with an emphasis on audio signal processing applications.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

cmMidiScoreFollow.h 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 cmMidiScoreFollow_h
  4. #define cmMidiScoreFollow_h
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. //( { file_desc:"Score follow a MIDI files." kw[score] }
  9. //
  10. // This function uses a CSV score file generated from cmXScoreTest() to score follow a MIDI file.
  11. // Output filesL
  12. // - MIDI file with velocities from the score applied to the associated notes in the MIDI file.
  13. // - A text file, for use with cmTimeLine, which describes the bar positions as absolute times into the score.
  14. // - An SVG file which shows the score match results over time for each note in the score.
  15. // - A report file which lists the score match status over time.
  16. enum
  17. {
  18. kOkMsfRC = cmOkRC,
  19. kFailMsfRC
  20. };
  21. typedef cmRC_t cmMsfRC_t;
  22. cmMsfRC_t cmMidiScoreFollowMain(
  23. cmCtx_t* ctx,
  24. const cmChar_t* scoreCsvFn, // score CSV file as generated from cmXScoreTest().
  25. const cmChar_t* midiFn, // MIDI file to track
  26. const cmChar_t* matchRptOutFn, // Score follow status report
  27. const cmChar_t* matchSvgOutFn, // Score follow graphic report
  28. const cmChar_t* midiOutFn, // (optional) midiFn with apply sostenuto and velocities from the score to the MIDI file
  29. const cmChar_t* tlBarOutFn // (optional) bar positions sutiable for use in a cmTimeLine description file.
  30. );
  31. //)
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif