Changing time signatures inside a polymetric section using \scaleDurations
The measureLength
property, together with
measurePosition
, determines when a bar line is needed. However,
when using \scaleDurations
, the scaling of durations makes it
difficult to change time signatures. In this case,
measureLength
should be set manually, using the
ly:make-moment
callback. The second argument must be the same
as the second argument of \scaleDurations
.
\layout {
\context {
\Score
\remove "Timing_translator"
}
\context {
\Staff
\consists "Timing_translator"
}
}
<<
\new Staff {
\scaleDurations 8/5 {
\time 6/8
\set Timing.measureLength = \musicLength 1*6/5
b8 b b b b b
\time 2/4
\set Timing.measureLength = \musicLength 1*4/5
b4 b
}
}
\new Staff {
\clef bass
\time 2/4
c2 d e f
}
>>