VexFlowMusicSheetDrawer.ts 1.7 KB

12345678910111213141516171819202122232425262728
  1. import {VexFlowMusicSheetDrawer} from "../../../../src/MusicalScore/Graphical/VexFlow/VexFlowMusicSheetDrawer";
  2. import {GraphicalMusicSheet} from "../../../../src/MusicalScore/Graphical/GraphicalMusicSheet";
  3. import {MusicSheet} from "../../../../src/MusicalScore/MusicSheet";
  4. import {MusicSheetReader} from "../../../../src/MusicalScore/ScoreIO/MusicSheetReader";
  5. import {VexFlowMusicSheetCalculator} from "../../../../src/MusicalScore/Graphical/VexFlow/VexFlowMusicSheetCalculator";
  6. import {TestUtils} from "../../../Util/TestUtils";
  7. import {IXmlElement} from "../../../../src/Common/FileIO/Xml";
  8. import {VexFlowTextMeasurer} from "../../../../src/MusicalScore/Graphical/VexFlow/VexFlowTextMeasurer";
  9. import {Fraction} from "../../../../src/Common/DataObjects/fraction";
  10. import {OutlineAndFillStyleEnum} from "../../../../src/MusicalScore/Graphical/DrawingEnums";
  11. describe("VexFlow Music Sheet Drawer", () => {
  12. it(".drawSheet (Clementi pt. 1)", (done: MochaDone) => {
  13. let path: string = "test/data/MuzioClementi_SonatinaOpus36No1_Part2.xml";
  14. // "test/data/MuzioClementi_SonatinaOpus36No1_Part1.xml";
  15. let score: IXmlElement = TestUtils.getScore(path);
  16. chai.expect(score).to.not.be.undefined;
  17. let calc: VexFlowMusicSheetCalculator = new VexFlowMusicSheetCalculator();
  18. let reader: MusicSheetReader = new MusicSheetReader();
  19. let sheet: MusicSheet = reader.createMusicSheet(score, path);
  20. let gms: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calc);
  21. gms.Cursors.push(gms.calculateCursorLineAtTimestamp(new Fraction(), OutlineAndFillStyleEnum.PlaybackCursor));
  22. (new VexFlowMusicSheetDrawer(new VexFlowTextMeasurer())).drawSheet(gms);
  23. done();
  24. });
  25. });