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

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

\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \accepts TimingStaffGroup
  }
  \context {
    \StaffGroup
    \name TimingStaffGroup
    \alias StaffGroup
    \consists "Timing_translator"
  }
}

<<
  \new TimingStaffGroup <<
    \new Staff {
      \scaleDurations 8/5 {
        \time 6/5 % to set measure length in Timing
        \context Staff \polymetric \time 6/8
        b8 b b b b b
        \time 4/5 % to set measure length in Timing
        \context Staff \polymetric \time 2/4
        b4 b
      }
    }
  >>
  \new TimingStaffGroup <<
    \new Staff {
      \clef bass
      \time 2/4
      c2 d e f
    }
  >>
>>
[image of music]

LilyPond snippets v2.25.32 (development-branch).