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

Multi-staff Octava Rendering Error when going through new system #134

Closed arshiacont closed 2 years ago

arshiacont commented 2 years ago

Take the following sample which renders correctly as shown below:

{[ \staff<1> \accol<id=0, range="1-2"> \barFormat<style= "system", range="1-2"> 
   (* meas. 1 *)  \clef<"g2"> \key<-3> \meter<"2/4"> 
   \beamBegin:1 b&2/16 d3/16  f3/16  a&3/16 \beamEnd:1 \oct<1>  \beamBegin:1 b&3/16  d4/16  f4/16  a&4/16 \beamEnd:1 \bar<measNum=2> 
   (* meas. 2 *)   \beamBegin:1 b&4/16  a&4/16  f4/16 \oct<0>  d3/16 \beamEnd:1  \beamBegin:1 b&3/16  a&3/16  f3/16  d3/16 \beamEnd:1 ]
 , 
[ \staff<2> \set<autoHideTiedAccidentals="on"> \barFormat<style= "system", range="2"> 
   (* meas. 1 *)  \clef<"g2"> \key<-3> \meter<"2/4", autoBarlines="off", autoMeasuresNum="system">  \beamBegin:1 b&1/16  d2/16  f2/16  a&2/16 \beamEnd:1 \oct<1>  \beamBegin:1 b&2/16  d3/16  f3/16  a&3/16 \beamEnd:1 \bar<measNum=2> 
   (* meas. 2 *)   \beamBegin:1 b&3/16  a&3/16  f3/16 \oct<0>  d2/16 \beamEnd:1  \beamBegin:1 b&2/16  a&2/16  f2/16  d2/16 \beamEnd:1 ]
  }

image

Now, I add a few measure in the beginning so that the Octavas go through the next system. The octava rendering becomes erroneous (rendering on guidoeditor.grame.fr):

{[ \staff<1>  \accol<id=0, range="1-2"> \barFormat<style= "system", range="1-2"> 
   (* meas. 1 *)  \clef<"g2"> \key<-3> \meter<"2/4">  \beamBegin:1 b&0/16  d1/16  f1/16  a&1/16 \beamEnd:1  \beamBegin:1 b&1/16  d2/16  f2/16  a&2/16 \beamEnd:1 \bar<measNum=2> 
   (* meas. 2 *)   \beamBegin:1 b&2/16  d3/16  f3/16  a&3/16 \beamEnd:1 \oct<1>  \beamBegin:1 b&3/16  d4/16  f4/16  a&4/16 \beamEnd:1 \bar<measNum=3> 
   (* meas. 3 *)   \beamBegin:1 b&4/16  a&4/16  f4/16 \oct<0>  d3/16 \beamEnd:1  \beamBegin:1 b&3/16  a&3/16  f3/16  d3/16 \beamEnd:1 \bar<measNum=4> 
   (* meas. 4 *)   \beamBegin:1 b&2/16  a&2/16  f2/16  d2/16 \beamEnd:1  \beamBegin:1 b&1/16  a&1/16  f1/16  d1/16 \beamEnd:1 \bar<measNum=5> 
   (* meas. 5 *)   \beamsOff b&0/2 ]
 , 
[ \staff<2> 
   (* meas. 1 *)  \clef<"f4"> \key<-3> \meter<"2/4">  \beamBegin:1 b&-1/16  d0/16  f0/16  a&0/16 \beamEnd:1 \clef<"g2">  \beamBegin:1 b&0/16  d1/16  f1/16  a&1/16 \beamEnd:1 \bar<measNum=2> 
   (* meas. 2 *)   \beamBegin:1 b&1/16  d2/16  f2/16  a&2/16 \beamEnd:1 \oct<1>  \beamBegin:1 b&2/16  d3/16  f3/16  a&3/16 \beamEnd:1 \bar<measNum=3> 
   (* meas. 3 *)   \beamBegin:1 b&3/16  a&3/16  f3/16 \oct<0>  d2/16 \beamEnd:1  \beamBegin:1 b&2/16  a&2/16  f2/16  d2/16 \beamEnd:1 \bar<measNum=4> 
   (* meas. 4 *)   \beamBegin:1 b&1/16  a&1/16  f1/16  d1/16 \beamEnd:1 \clef<"f4">  \beamBegin:1 b&0/16  a&0/16  f0/16  d0/16 \beamEnd:1 \bar<measNum=5> 
   (* meas. 5 *)   \beamsOff b&-1/2 ]
  }

image

dfober commented 2 years ago

fixed