Positionnement des notes d’ornement avec espace flottant

Lorsque la propriété strict-grace-spacing est activée, l’espacement des notes d’ornement se fera de manière « élastique ». Autrement dit, elles seront décollées de leur note de rattachement : LilyPond commence par espacer les notes normales, puis les ornements sont placés à la gauche de leur note de rattachement.

Cependant, en raison du ticket 6876, les altérations accidentelles sont ignorées lorsque cette propriété est activée. Le code ci-dessous propose une solution de contournement à ce problème.

Autre effet indésirable de cette propriété, LilyPond ne vérifie pas qu’il y a suffisamment d’espace pour les notes d’ornement (ceci fait l’objet du ticket 2630). Il faut donc s’assurer d’avoir suffisamment d’espace disponible en recourant conjointement \newSpacingSection et une valeur appropriée pour le base-shortest-duration de l’objet graphique SpacingSpanner.

shiftedGrace =
#(define-music-function (offset music) (number? ly:music?)
   #{
     \override NoteHead.X-offset = #(- offset 0.85)
     \override Stem.X-offset = #offset
     \grace { $music }
     \revert NoteHead.X-offset
     \revert Stem.X-offset
   #})

\relative c'' <<
  { g4 \shiftedGrace #-1.3 a32 \shiftedGrace #-0.5 { bes c d } es4 }
  { f,32 e d c f e d c f4 }
>>

\layout {
  \context {
    \Score
    \override SpacingSpanner.strict-grace-spacing = ##t
  }
}
[image of music]

LilyPond snippets v2.25.33 (development-branch).