Hello all, I need to typeset a lied (voice/piano) where temporarily the time signatures change from 4/4 for both parts to 2/4 for the voice and to 6/8 for the piano and back to 4/4 again. In the NR there is a nice example how to achieve this with equal measure lenghts for the different time signatures.
I have tried to apply this model to my use case, but something does not work as expected. The problem shows when you do not have have all the same values in your last bar. In that case Lilypond only accepts less than 6 crotchets there. Whatever I have tried with \set Staff.timeSignatureFraction = x/x did not work, and I have no idea what is wrong here. To make things worse: when I fiddle with the NR example and add a line with not all the same values in 9/8, the same thing happens, too (see the added third line there), and it even reacts to markup. I hope that it is not a bug, but that I may have got something wrong. But if it is one, the example is unusable as a global model. Could someone here, please, with more experience than I have, help me? Otherwise I am stuck with my project for the moment... I attach a minimal example. Thank you very much in advance
%hier ist irgendwo der Wurm drin: es funktioniert nur mit gleichen Notenwerten im 6/8. \version "2.22.2" \paper { indent = 0\mm } \markup { What goes wrong in the 6/8 line, when in a bar there are not only the same values? (no error during } \markup { compilation. Why does Lilypond only accept a quaver on the second beat in the second bar):} \relative << \new Staff { \time 2/4 c'4. c8 | c4 c16 c c c | c8 c c4 \bar "|." } \new Staff { \time 2/4 \set Staff.timeSignatureFraction = 6/8 \scaleDurations 2/3 \repeat unfold 4 { c16[ c c c c c] } c8 c c \repeat unfold 6 {c16}\bar "|." } >> \markup { What I want to do: } \relative c' << \new Staff { \time 4/4 c'4 c c c | \bar "||" \time 2/4 c4 c | R1*2/4 |\bar "||" \time 4/4 c4 c c c | \bar "|." } \new PianoStaff << \new Staff { \time 4/4 \repeat unfold 8 {c,8} \time 2/4 \set Staff.timeSignatureFraction = 6/8 \scaleDurations 2/3 \repeat unfold 4 { c16[ c c c c c] } \bar "||" \set Staff.timeSignatureFraction = 4/4 \scaleDurations 2/3 \time 4/4 \repeat unfold 4 {c8} c8 c16 c c8 c16 c } \new Staff { \clef bass \time 4/4 \repeat unfold 4 {c,,4} \time 2/4 \set Staff.timeSignatureFraction = 6/8 \scaleDurations 2/3 \repeat unfold 4 { c16[ c c c c c] } \bar "||" \time 4/4 \set Staff.timeSignatureFraction = 4/4 \scaleDurations 4/4 \repeat unfold 2 {c4} c4. c8 } >> >> \markup { Example rom the NR: } \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 \repeat unfold 6 { c8[ c c] } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 c8^\markup { The line below has been added to show that maybe there is a bug } c c \repeat unfold 4 { c8[ c c] } c4 d8 } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 10/8 \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c \tuplet 3/2 { c8[ c c] } c4 } } >>