Przeglądaj źródła

Fixed StaveModifier.Position

Andrea Condoluci 9 lat temu
rodzic
commit
0fe05b7707

+ 4 - 2
external/vexflow/vexflow.d.ts

@@ -66,11 +66,13 @@ declare namespace Vex {
       public addTimeSignature(sig: string): void;
     }
 
-    export class StaveModifier {
+    export class Modifier {
       public static Position: any;
     }
 
-    export class Clef {
+    export class StaveModifier implements Modifier {}
+
+    export class Clef implements StaveModifier {
       constructor(type: any);
 
       public static category: string;

+ 1 - 1
src/MusicalScore/Calculation/MeasureSizeCalculator.ts

@@ -195,7 +195,7 @@ export class MeasureSizeCalculator {
 
     // Consider clefs
     let clefs: Vex.Flow.Clef[] = stave.getModifiers(
-      Vex.Flow.StaveModifier.Position.LEFT,
+      Vex.Flow.Modifier.Position.LEFT,
       Vex.Flow.Clef.category
     );
     for (let clef of clefs) {

+ 1 - 0
src/MusicalScore/Graphical/StaffMeasure.ts

@@ -1,3 +1,4 @@
+/* tslint:disable:no-empty */
 import {MusicSystem} from "./MusicSystem";
 import {GraphicalStaffEntry} from "./GraphicalStaffEntry";
 import {SourceMeasure} from "../VoiceData/SourceMeasure";

+ 2 - 1
src/MusicalScore/Graphical/VexFlow/VexFlowConverter.ts

@@ -1,6 +1,5 @@
 import {ClefEnum} from "../../VoiceData/Instructions/ClefInstruction";
 import {ClefInstruction} from "../../VoiceData/Instructions/ClefInstruction";
-import {VexFlowConverter} from "./VexFlowConverter";
 import {VoiceEntry} from "../../VoiceData/VoiceEntry";
 import {Pitch} from "../../../Common/DataObjects/pitch";
 import {Fraction} from "../../../Common/DataObjects/fraction";
@@ -11,6 +10,8 @@ import {KeyEnum} from "../../VoiceData/Instructions/KeyInstruction";
 import {AccidentalEnum} from "../../../Common/DataObjects/pitch";
 import {NoteEnum} from "../../../Common/DataObjects/pitch";
 
+import Vex = require("vexflow");
+
 export class VexFlowConverter {
     private static majorMap: {[_: number]: string; } = {
         "0": "C", 1: "G", 2: "D", 3: "A", 4: "E", 5: "B", 6: "F#", 7: "C#",

+ 6 - 4
src/MusicalScore/Graphical/VexFlow/VexFlowMeasure.ts

@@ -10,6 +10,8 @@ import {VexFlowConverter} from "./VexFlowConverter";
 import {VexFlowStaffEntry} from "./VexFlowStaffEntry";
 //import {Fraction} from "../../../Common/DataObjects/fraction";
 
+import Vex = require("vexflow");
+
 export class VexFlowMeasure extends StaffMeasure {
     constructor(staff: Staff, staffLine: StaffLine = undefined, sourceMeasure: SourceMeasure = undefined) {
         super(staff, sourceMeasure, staffLine);
@@ -66,7 +68,7 @@ export class VexFlowMeasure extends StaffMeasure {
      */
     public addClefAtBegin(clef: ClefInstruction): void {
         let vfclef: Vex.Flow.Clef = VexFlowConverter.Clef(clef);
-        this.stave.addClef(vfclef, undefined, undefined, Vex.Flow.StaveModifier.Position.BEGIN);
+        this.stave.addClef(vfclef, undefined, undefined, Vex.Flow.Modifier.Position.BEGIN);
         this.increaseBeginInstructionWidth(vfclef);
     }
 
@@ -82,7 +84,7 @@ export class VexFlowMeasure extends StaffMeasure {
             VexFlowConverter.keySignature(currentKey),
             VexFlowConverter.keySignature(previousKey)
         );
-        this.stave.addModifier(keySig, Vex.Flow.StaveModifier.Position.BEGIN);
+        this.stave.addModifier(keySig, Vex.Flow.Modifier.Position.BEGIN);
     }
 
     /**
@@ -94,7 +96,7 @@ export class VexFlowMeasure extends StaffMeasure {
         let timeSig: Vex.Flow.TimeSignature = VexFlowConverter.TimeSignature(rhythm);
         this.stave.addModifier(
             timeSig,
-            Vex.Flow.StaveModifier.Position.BEGIN
+            Vex.Flow.Modifier.Position.BEGIN
         );
         this.increaseBeginInstructionWidth(timeSig);
     }
@@ -106,7 +108,7 @@ export class VexFlowMeasure extends StaffMeasure {
      */
     public addClefAtEnd(clef: ClefInstruction): void {
         let vfclef: Vex.Flow.Clef = VexFlowConverter.Clef(clef);
-        this.stave.addClef(vfclef, undefined, undefined, Vex.Flow.StaveModifier.Position.END);
+        this.stave.addClef(vfclef, undefined, undefined, Vex.Flow.Modifier.Position.END);
         this.increaseEndInstructionWidth(vfclef);
     }
 

+ 1 - 1
test/MusicalScore/Calculation/MeasureSizeCalculator.ts

@@ -70,7 +70,7 @@ describe("Measure Size Calculator Tests", () => {
       for (let t in Vex.Flow.Clef.types) {
         if (Vex.Flow.Clef.types.hasOwnProperty(t)) {
           let clef: Vex.Flow.Clef = new Vex.Flow.Clef(t);
-          stave2.addModifier(clef, Vex.Flow.StaveModifier.Position.BEGIN);
+          stave2.addModifier(clef, Vex.Flow.Modifier.Position.BEGIN);
           stave2.format();
 
           clef.setStave(stave2);