VexFlowMusicSheetDrawer.ts 1.7 KB

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