Explorar o código

fix(Accidentals): display triple sharps/bs correctly

sschmidTU %!s(int64=7) %!d(string=hai) anos
pai
achega
d095c855cd
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      src/MusicalScore/Graphical/VexFlow/VexFlowConverter.ts

+ 9 - 0
src/MusicalScore/Graphical/VexFlow/VexFlowConverter.ts

@@ -245,6 +245,15 @@ export class VexFlowConverter {
         for (let i: number = 0, len: number = notes.length; i < len; i += 1) {
             (notes[i] as VexFlowGraphicalNote).setIndex(vfnote, i);
             if (accidentals[i]) {
+                if (accidentals[i] === "++") {
+                    vfnote.addAccidental(i, new Vex.Flow.Accidental("##"));
+                    vfnote.addAccidental(i, new Vex.Flow.Accidental("#"));
+                    continue;
+                } else if (accidentals[i] === "bbs") {
+                    vfnote.addAccidental(i, new Vex.Flow.Accidental("bb"));
+                    vfnote.addAccidental(i, new Vex.Flow.Accidental("b"));
+                    continue;
+                }
                 vfnote.addAccidental(i, new Vex.Flow.Accidental(accidentals[i]));
             }
         }