VexFlowMeasure_Test.ts 2.7 KB

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