\scaleDurations を使用した多拍子の部分で拍子記号を変更する
measureLength
, measurePosition
プロパティは、小節線がどのタイミングで必要になるかを決定しています。しかし、\scaleDurations
を使用する際、拍子記号と整合性が取れなくなることがあります。この場合には、measureLength
を ly:make-moment
コールバックを用いて手動でセットします。2 つ目の引数は \scaleDurations
の 2 つ目の引数と一致している必要があります。
\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
}
>>