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.

cmXScore.h 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef cmXScore_h
  2. #define cmXScore_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. enum
  7. {
  8. kOkXsRC = cmOkRC,
  9. kXmlFailXsRC,
  10. kLHeapFailXsRC,
  11. kSyntaxErrorXsRC,
  12. kCsvFailXsRC
  13. };
  14. typedef cmRC_t cmXsRC_t;
  15. typedef cmHandle_t cmXsH_t;
  16. extern cmXsH_t cmXsNullHandle;
  17. // Prepare the MusicXML file:
  18. //
  19. // 1) Convert XML to UTF-8:
  20. // a. Change: encoding='UTF-16' to encoding='UTF-8'
  21. // b. Emacs C-x <RET> f utf-8 <RET>
  22. //
  23. // 2) Replace "DoletSibelius Unknown Symbol Index" with "DoletSibelius unknownSymIdx"
  24. //
  25. // 3) How to assigned dynamic markings.
  26. // 4) Tempo syntax is inconsistent.
  27. // 5) Heel is not being recognized
  28. // 6) Sostenuto pedal events are not being parsed.
  29. // 7) What is a 'pedal-change' event vs. a 'pedal-stop' event.
  30. // 8) Verify the colors.
  31. // 9) Remove blank bars at end.
  32. cmXsRC_t cmXScoreInitialize( cmCtx_t* ctx, cmXsH_t* hp, const cmChar_t* xmlFn );
  33. cmXsRC_t cmXScoreFinalize( cmXsH_t* hp );
  34. bool cmXScoreIsValid( cmXsH_t h );
  35. cmXsRC_t cmXScoreWriteCsv( cmXsH_t h, const cmChar_t* csvFn );
  36. void cmXScoreReport( cmXsH_t h, cmRpt_t* rpt, bool sortFl );
  37. cmXsRC_t cmXScoreTest( cmCtx_t* ctx, const cmChar_t* fn );
  38. #ifdef __cplusplus
  39. }
  40. #endif
  41. #endif