瀏覽代碼

Merging, removed not implemented errors

Andrea Condoluci 9 年之前
父節點
當前提交
feaa661227

+ 15 - 15
src/MusicalScore/Graphical/MusicSystemBuilder.ts

@@ -79,7 +79,7 @@ export class MusicSystemBuilder {
         while (this.measureListIndex < numberOfMeasures) {
             let staffMeasures: StaffMeasure[] = this.measureList[this.measureListIndex];
             for (let idx: number = 0, len: number = staffMeasures.length; idx < len; ++idx) {
-                staffMeasures[idx].ResetLayout();
+                staffMeasures[idx].resetLayout();
             }
             let sourceMeasure: SourceMeasure = staffMeasures[0].parentSourceMeasure;
             let sourceMeasureEndsSystem: boolean = sourceMeasure.BreakSystemAfter;
@@ -127,7 +127,7 @@ export class MusicSystemBuilder {
     private setMeasureWidth(staffMeasures: StaffMeasure[], width: number, beginInstrWidth: number, endInstrWidth: number): void {
         for (let idx: number = 0, len: number = staffMeasures.length; idx < len; ++idx) {
             let measure: StaffMeasure = staffMeasures[idx];
-            measure.SetWidth(width);
+            measure.setWidth(width);
             if (beginInstrWidth > 0) {
                 measure.beginInstructionsWidth = beginInstrWidth;
             }
@@ -172,7 +172,7 @@ export class MusicSystemBuilder {
             let diff: number = 0.0;
             if (measureParams.endLine === SystemLinesEnum.DotsBoldBoldDots) {
                 measureParams.endLine = SystemLinesEnum.DotsThinBold;
-                diff = measures[0].GetLineWidth(SystemLinesEnum.DotsBoldBoldDots) / 2 - measures[0].GetLineWidth(SystemLinesEnum.DotsThinBold);
+                diff = measures[0].getLineWidth(SystemLinesEnum.DotsBoldBoldDots) / 2 - measures[0].getLineWidth(SystemLinesEnum.DotsThinBold);
             }
             this.currentSystemParams.currentSystemFixWidth -= diff;
             for (let idx: number = 0, len: number = measures.length; idx < len; ++idx) {
@@ -410,7 +410,7 @@ export class MusicSystemBuilder {
         let keyAdded: boolean = false;
         let rhythmAdded: boolean = false;
         if (currentClef !== undefined) {
-            measure.AddClefAtBegin(currentClef);
+            measure.addClefAtBegin(currentClef);
             clefAdded = true;
         } else {
             currentClef = this.activeClefs[visibleStaffIdx];
@@ -418,11 +418,11 @@ export class MusicSystemBuilder {
         if (currentKey !== undefined) {
             currentKey = this.transposeKeyInstruction(currentKey, measure);
             let previousKey: KeyInstruction = isSystemStartMeasure ? undefined : this.activeKeys[visibleStaffIdx];
-            measure.AddKeyAtBegin(currentKey, previousKey, currentClef);
+            measure.addKeyAtBegin(currentKey, previousKey, currentClef);
             keyAdded = true;
         }
         if (currentRhythm !== undefined) {
-            measure.AddRhythmAtBegin(currentRhythm);
+            measure.addRhythmAtBegin(currentRhythm);
             rhythmAdded = true;
         }
         if (clefAdded || keyAdded || rhythmAdded) {
@@ -442,7 +442,7 @@ export class MusicSystemBuilder {
             let abstractNotationInstruction: AbstractNotationInstruction = lastEntry.Instructions[idx];
             if (abstractNotationInstruction instanceof ClefInstruction) {
                 let activeClef: ClefInstruction = <ClefInstruction>abstractNotationInstruction;
-                measure.AddClefAtEnd(activeClef);
+                measure.addClefAtEnd(activeClef);
             }
         }
         return this.rules.MeasureRightMargin + measure.endInstructionsWidth;
@@ -535,10 +535,10 @@ export class MusicSystemBuilder {
         let measure: StaffMeasure = this.symbolFactory.createExtraStaffMeasure(currentSystem.StaffLines[visStaffIdx]);
         measures.push(measure);
         if (keyInstruction !== undefined) {
-            measure.AddKeyAtBegin(keyInstruction, this.activeKeys[visStaffIdx], this.activeClefs[visStaffIdx]);
+            measure.addKeyAtBegin(keyInstruction, this.activeKeys[visStaffIdx], this.activeClefs[visStaffIdx]);
         }
         if (rhythmInstruction !== undefined) {
-            measure.AddRhythmAtBegin(rhythmInstruction);
+            measure.addRhythmAtBegin(rhythmInstruction);
         }
         measure.PositionAndShape.BorderLeft = 0.0;
         measure.PositionAndShape.BorderTop = 0.0;
@@ -600,7 +600,7 @@ export class MusicSystemBuilder {
     }
 
     private getLineWidth(measure: StaffMeasure, systemLineEnum: SystemLinesEnum, isSystemStartMeasure: boolean): number {
-        let width: number = measure.GetLineWidth(systemLineEnum);
+        let width: number = measure.getLineWidth(systemLineEnum);
         if (systemLineEnum === SystemLinesEnum.DotsBoldBoldDots) {
             width /= 2;
         }
@@ -722,11 +722,11 @@ export class MusicSystemBuilder {
             let currentXPosition: number = 0.0;
             for (let i: number = 0; i < staffLine.Measures.length; i++) {
                 let measure: StaffMeasure = staffLine.Measures[i];
-                measure.SetPositionInStaffline(currentXPosition);
-                measure.SetWidth(measure.beginInstructionsWidth + measure.minimumStaffEntriesWidth * scalingFactor + measure.endInstructionsWidth);
+                measure.setPositionInStaffline(currentXPosition);
+                measure.setWidth(measure.beginInstructionsWidth + measure.minimumStaffEntriesWidth * scalingFactor + measure.endInstructionsWidth);
                 if (i < this.currentSystemParams.systemMeasures.length) {
                     let startLine: SystemLinesEnum = this.currentSystemParams.systemMeasures[i].beginLine;
-                    let lineWidth: number = measure.GetLineWidth(SystemLinesEnum.BoldThinDots);
+                    let lineWidth: number = measure.getLineWidth(SystemLinesEnum.BoldThinDots);
                     switch (startLine) {
                         case SystemLinesEnum.BoldThinDots:
                             let xPosition: number = currentXPosition;
@@ -739,7 +739,7 @@ export class MusicSystemBuilder {
                     }
                 }
                 measure.staffEntriesScaleFactor = scalingFactor;
-                measure.LayoutSymbols();
+                measure.layoutSymbols();
                 let nextMeasureHasRepStartLine: boolean = i + 1 < this.currentSystemParams.systemMeasures.length
                     && this.currentSystemParams.systemMeasures[i + 1].beginLine === SystemLinesEnum.BoldThinDots;
                 if (!nextMeasureHasRepStartLine) {
@@ -747,7 +747,7 @@ export class MusicSystemBuilder {
                     if (i < this.currentSystemParams.systemMeasures.length) {
                         endLine = this.currentSystemParams.systemMeasures[i].endLine;
                     }
-                    let lineWidth: number = measure.GetLineWidth(endLine);
+                    let lineWidth: number = measure.getLineWidth(endLine);
                     let xPos: number = measure.PositionAndShape.RelativePosition.x + measure.PositionAndShape.BorderRight - lineWidth;
                     if (endLine === SystemLinesEnum.DotsBoldBoldDots) {
                         xPos -= lineWidth / 2;

+ 15 - 0
src/MusicalScore/Graphical/VexFlow/VexFlowTextMeasurer.ts

@@ -0,0 +1,15 @@
+import {ITextMeasurer} from "../../Interfaces/ITextMeasurer";
+import {Fonts} from "../../../Common/Enums/Fonts";
+import {FontStyles} from "../../../Common/Enums/FontStyles";
+/**
+ * Created by Matthias on 21.06.2016.
+ */
+
+export class VexFlowTextMeasurer implements ITextMeasurer {
+    constructor() {
+    }
+    
+    computeTextWidthToHeightRatio(text: string, font: Fonts, style: FontStyles): number {
+        return text.length/2;
+    }
+}

+ 17 - 9
test/MusicalScore/ScoreCalculation/MusicSheetCalculator_Test.ts

@@ -7,9 +7,10 @@ import {IXmlElement} from "../../../src/Common/FileIO/Xml";
 import {MusicSheetCalculator} from "../../../src/MusicalScore/Graphical/MusicSheetCalculator";
 import {VexFlowMusicSheetCalculator} from "../../../src/MusicalScore/Graphical/VexFlow/VexFlowMusicSheetCalculator";
 import {GraphicalMusicSheet} from "../../../src/MusicalScore/Graphical/GraphicalMusicSheet";
+import {VexFlowTextMeasurer} from "../../../src/MusicalScore/Graphical/VexFlow/VexFlowTextMeasurer";
 
 
-describe("Music Sheet Reader Tests", () => {
+describe("Music Sheet Calculator Tests", () => {
     // Initialize variables
     let path: string = "test/data/MuzioClementi_SonatinaOpus36No1_Part1.xml";
     let reader: MusicSheetReader = new MusicSheetReader();
@@ -22,14 +23,7 @@ describe("Music Sheet Reader Tests", () => {
     }
 
     before((): void => {
-        // Load the xml file
-        let doc: Document = getSheet(path);
-        chai.expect(doc).to.not.be.undefined;
-        score = new IXmlElement(doc.getElementsByTagName("score-partwise")[0]);
-        // chai.expect(score).to.not.be.undefined;
-        sheet = reader.createMusicSheet(score, path);
-        let graphicalSheet: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calculator);
-        graphicalSheet.reCalculate();
+        
     });
 
     beforeEach((): void => {
@@ -39,4 +33,18 @@ describe("Music Sheet Reader Tests", () => {
     afterEach((): void => {
         // cleanup?
     });
+
+    it("Do Calculation", (done: MochaDone) => {
+        MusicSheetCalculator.TextMeasurer = new VexFlowTextMeasurer();
+        // Load the xml file
+        let doc: Document = getSheet(path);
+        chai.expect(doc).to.not.be.undefined;
+        score = new IXmlElement(doc.getElementsByTagName("score-partwise")[0]);
+        // chai.expect(score).to.not.be.undefined;
+        sheet = reader.createMusicSheet(score, path);
+        
+        let graphicalSheet: GraphicalMusicSheet = new GraphicalMusicSheet(sheet, calculator);
+        graphicalSheet.reCalculate();
+        done();
+    });
 });