VexFlowMusicSheetDrawer.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435
  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 {Fraction} from "../../../../src/Common/DataObjects/fraction";
  9. import {OutlineAndFillStyleEnum} from "../../../../src/MusicalScore/Graphical/DrawingEnums";
  10. describe("VexFlow Music Sheet Drawer", () => {
  11. it(".drawSheet (Clementi pt. 1)", (done: MochaDone) => {
  12. let path: string = "test/data/MuzioClementi_SonatinaOpus36No1_Part2.xml";
  13. // "test/data/MuzioClementi_SonatinaOpus36No1_Part1.xml";
  14. let score: IXmlElement = TestUtils.getScore(path);
  15. chai.expect(score).to.not.be.undefined;
  16. let calc: VexFlowMusicSheetCalculator = new VexFlowMusicSheetCalculator();
  17. let reader: MusicSheetReader = new MusicSheetReader();
  18. let sheet: MusicSheet = reader.createMusicSheet(score, path);
  19. let gms: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calc);
  20. gms.Cursors.push(gms.calculateCursorLineAtTimestamp(new Fraction(), OutlineAndFillStyleEnum.PlaybackCursor));
  21. // Create heading in the test page
  22. let h1: Element = document.createElement("h1");
  23. h1.textContent = "VexFlowMusicSheetDrawer Test Output";
  24. document.body.appendChild(h1);
  25. // Create the canvas in the document:
  26. let canvas: HTMLCanvasElement = document.createElement("canvas");
  27. document.body.appendChild(canvas);
  28. (new VexFlowMusicSheetDrawer(document.body, canvas)).drawSheet(gms);
  29. done();
  30. });
  31. });