grame-cncm / guidolib

Guido project - music score layout engine - music description language
http://guido.grame.fr
Mozilla Public License 2.0
152 stars 34 forks source link

Double flat is rendered as four if repeated on a 2nd voice #169

Closed arshiacont closed 1 year ago

arshiacont commented 1 year ago

In the following excerpt the "B note" has a double flat but four flat is rendered in Guido as shown below.

Hint 1: The same note is repeated in the 2nd voice. If we remove the 2nd voice, rendering is fine. Hint 2: There is a repetition of the same measure on purpose. Measure 2 seems to be fine!

This is a simplified excerpt from Fauré's Siciliens.

{[ \staff<1> 
   (* meas. 1 *)  \clef<"g2"> \meter<"6/8"> \stemsDown \beamsOff g1/4. \stemsUp \beamBegin:1 b&&1/8. c&2/16 d&2/8
 \beamEnd:1 \bar<measNum=2> 
   (* meas. 2 *)  \stemsDown \beamsOff g1/4. \stemsUp \beamBegin:1  b&&1/8. c&2/16 d&2/8 \beamEnd:1 ]
 , 
[ \staff<1> 
   (* meas. 1 *)  \stemsDown \beamsOff g1/4. \beamsOff { g&1/4., b&&1/4.  } \bar<measNum=2> 
   (* meas. 2 *)  \beamsOff g1/4. \beamsOff { g&1/4., b&&1/4. } ]
  }

image

dfober commented 1 year ago

Fixed. Was actually tricky. Required to rewrite a good part of the events creation to discover that the intended solution was seriously interfering with the spacing. The fix is therefore not optimal : works by side effect on chords creation with multi voices staves.