\scaleDurations を使用した多拍子の部分で拍子記号を変更する

measureLength, measurePosition プロパティは、小節線がどのタイミングで必要になるかを決定しています。しかし、\scaleDurations を使用する際、拍子記号と整合性が取れなくなることがあります。この場合には、measureLengthly: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
  }
>>

[image of music]


LilyPond snippets v2.25.22 (development-branch).