Browse Source

fix: fixed undefined in placement getter of unknown expressions

Matthias Uiberacker 5 years ago
parent
commit
fa35e8f9eb

+ 3 - 4
src/MusicalScore/Graphical/GraphicalUnknownExpression.ts

@@ -2,7 +2,7 @@
 import { StaffLine } from "./StaffLine";
 import { GraphicalLabel } from "./GraphicalLabel";
 import { AbstractGraphicalExpression } from "./AbstractGraphicalExpression";
-import { PlacementEnum } from "../VoiceData/Expressions/AbstractExpression";
+import { PlacementEnum, AbstractExpression } from "../VoiceData/Expressions/AbstractExpression";
 import { MultiExpression } from "../VoiceData/Expressions/MultiExpression";
 import { SkyBottomLineCalculator } from "./SkyBottomLineCalculator";
 import log from "loglevel";
@@ -10,11 +10,10 @@ import { SourceMeasure } from "../VoiceData/SourceMeasure";
 
 export class GraphicalUnknownExpression extends AbstractGraphicalExpression {
     public sourceMultiExpression: MultiExpression;
-    public placement: PlacementEnum;
 
-    constructor(staffLine: StaffLine, label: GraphicalLabel, measure: SourceMeasure,
+    constructor(staffLine: StaffLine, label: GraphicalLabel, placement: PlacementEnum, measure: SourceMeasure,
                 sourceMultiExpression: MultiExpression = undefined) {
-        super(staffLine, undefined, measure);
+        super(staffLine, new AbstractExpression(placement), measure);
         this.label = label;
         this.sourceMultiExpression = sourceMultiExpression;
     }

+ 3 - 3
src/MusicalScore/Graphical/MusicSheetCalculator.ts

@@ -577,15 +577,15 @@ export abstract class MusicSheetCalculator {
         }
 
         const fontHeight: number = this.rules.UnknownTextHeight;
-
+        const placement: PlacementEnum = multiExpression.getPlacementOfFirstEntry();
         const graphLabel: GraphicalLabel  = this.calculateLabel(staffLine,
                                                                 relative, combinedExprString,
                                                                 multiExpression.getFontstyleOfFirstEntry(),
-                                                                multiExpression.getPlacementOfFirstEntry(),
+                                                                placement,
                                                                 fontHeight);
 
         const gue: GraphicalUnknownExpression = new GraphicalUnknownExpression(
-            staffLine, graphLabel, measures[staffIndex]?.parentSourceMeasure, multiExpression);
+            staffLine, graphLabel, placement, measures[staffIndex]?.parentSourceMeasure, multiExpression);
         //    multiExpression); // TODO would be nice to hand over and save reference to original expression,
         //                         but MultiExpression is not an AbstractExpression.
         staffLine.AbstractExpressions.push(gue);