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 } }