Modification de la métrique au sein d’un fragment polymétrique à l’aide de \scaleDurations

La propriété measureLength, conjointement avec measurePosition, détermine l’endroit où une barre de mesure est requise. L’utilisation d’un \scaleDurations a l’inconvénient que l’échelonnement des durées rend compliqués les changements de métrique. Il est nécessaire en pareil cas de définir manuellement measureLength, avec un appel à ly:make-moment. Le second argument devra être identique au deuxième argument de \scaleDurations.

\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).