2.8.3 Notation graphique

Les éléments rythmiques peuvent se prolongar par une ligne de durée représentée par un objet graphique DurationLine. Cette ligne peut adopter différents styles : 'beam, 'line, 'dashed-line, 'dotted-line, 'zigzag, 'trill ou 'none. La ligne peut se terminer par un crochet (uniquement pour le style 'beam) ou une flêche.

\layout {
  \context {
    \Voice
    \consists "Duration_line_engraver"
    \omit Stem
    \omit Flag
    \omit Beam
    \override NoteHead.duration-log = 2
  }
}

{
  a'1\- s2 r
  \once \override DurationLine.style = #'line
  a'1\- s2 r
  \once \override DurationLine.style = #'dashed-line
  \once \override DurationLine.dash-period = 2
  a'1\- s2 r
  \once \override DurationLine.style = #'dotted-line
  \once \override DurationLine.dash-period = 1
  \once \override DurationLine.bound-details.right.padding = 1
  a'1\- s2 r
  \once \override DurationLine.thickness = 2
  \once \override DurationLine.style = #'zigzag
  a'1\- s2 r
  \once \override DurationLine.style = #'trill
  a'1\- s2 r
  \once \override DurationLine.style = #'none
  a'1\- s2 r
  \once \override DurationLine.bound-details.right.end-style = #'arrow
  a'1\- s2 r
  \override DurationLine.bound-details.right.end-style = #'hook
  a'1\- s2 r
  \override DurationLine.details.hook-direction = #DOWN
  a'1\- s2 r
  \bar "|."
}

[image of music]

Problèmes connus et avertissements

Lorsque l’objet DurationLine atteint la fin de la partition, son extrémité est absente, pour des raisons techniques. Une solution de contournement pourrait ressembler à :

\layout {
  \context {
    \Voice
    \consists "Duration_line_engraver"
    \omit Stem
    \omit Flag
    \omit Beam
    \override NoteHead.duration-log = 2
  }
}

lastEndStyle =
#(define-music-function (end-style)(symbol?)
#{
  \override DurationLine.after-line-breaking =
    #(lambda (grob)
      (let* ((orig (ly:grob-original grob))
             (siblings (if (ly:grob? orig)
                           (ly:spanner-broken-into orig) '()))
             (last-grob (if (pair? siblings) (last siblings) #f)))
        (if last-grob
            (ly:grob-set-nested-property!
              last-grob
              '(bound-details right-broken end-style) end-style))))
#})

{
  \once \override DurationLine.bound-details.right.end-style = #'arrow
  \lastEndStyle #'arrow
  a'1\-
  \bar "|."
}

[image of music]


LilyPond — Manuel de notation v2.21.82 (branche de développement).