VexFlowMeasure_Test.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import {GraphicalMusicSheet} from "../../../../src/MusicalScore/Graphical/GraphicalMusicSheet";
  2. import {IXmlElement} from "../../../../src/Common/FileIO/Xml";
  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 {SourceMeasure} from "../../../../src/MusicalScore/VoiceData/SourceMeasure";
  8. import {SourceStaffEntry} from "../../../../src/MusicalScore/VoiceData/SourceStaffEntry";
  9. import {StaffMeasure} from "../../../../src/MusicalScore/Graphical/StaffMeasure";
  10. import {MusicSheetCalculator} from "../../../../src/MusicalScore/Graphical/MusicSheetCalculator";
  11. describe("VexFlow Measure", () => {
  12. it.skip("GraphicalMusicSheet", (done: MochaDone) => {
  13. let path: string = "test/data/MuzioClementi_SonatinaOpus36No1_Part1.xml";
  14. let score: Document = TestUtils.getScore(path);
  15. chai.expect(score).to.not.be.undefined;
  16. let partwise: Element = TestUtils.getPartWiseElement(score);
  17. chai.expect(partwise).to.not.be.undefined;
  18. let calc: VexFlowMusicSheetCalculator = new VexFlowMusicSheetCalculator();
  19. let reader: MusicSheetReader = new MusicSheetReader();
  20. let sheet: MusicSheet = reader.createMusicSheet(new IXmlElement(partwise), path);
  21. let gms: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calc);
  22. console.log(gms);
  23. done();
  24. });
  25. it.skip("Simple Measure", (done: MochaDone) => {
  26. let sheet: MusicSheet = new MusicSheet();
  27. let measure: SourceMeasure = new SourceMeasure(1);
  28. sheet.addMeasure(measure);
  29. let calc: MusicSheetCalculator = new VexFlowMusicSheetCalculator();
  30. let gms: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calc);
  31. chai.expect(gms.MeasureList.length).to.equal(1);
  32. chai.expect(gms.MeasureList[0].length).to.equal(1);
  33. let gm: StaffMeasure = gms.MeasureList[0][0];
  34. console.log(gm);
  35. done();
  36. });
  37. it.skip("Empty Measure", (done: MochaDone) => {
  38. let sheet: MusicSheet = new MusicSheet();
  39. let measure: SourceMeasure = new SourceMeasure(1);
  40. measure.FirstInstructionsStaffEntries[0] = new SourceStaffEntry(undefined, undefined);
  41. sheet.addMeasure(measure);
  42. let calc: MusicSheetCalculator = new VexFlowMusicSheetCalculator();
  43. let gms: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calc);
  44. chai.expect(gms.MeasureList.length).to.equal(1);
  45. chai.expect(gms.MeasureList[0].length).to.equal(0);
  46. done();
  47. });
  48. });