| [ << Tweaks and overrides ] | [Top][Contents] | [ Paper and layout >> ] |
| [ < Barres rythmiques ] | [ Up : Tweaks and overrides ] | [ Soufflets et barres de mesure > ] |
Séparation entre altérations annulées et nouvelle armure
Les altérations supprimées lors d’un changement de tonalité sont par
défaut accolées à la nouvelle armure. Ce comportement peut s’adapter
grâce à la propriété break-align-orders de l’objet
BreakAlignment.
La valeur de break-align-orders est constituée d’un vecteur à
trois composantes listant l’ordre des éléments à l’occasion d’une
rupture. Seule la deuxième liste est ici modifiée,
key-cancellation étant déplacé avant staff-bar. En ne
modifiant que la deuxième liste, cette modification dans l’ordre
d’apparition des éléments sera effective seulement en cours de système,
et non en début ou fin de ligne.
#(define (insert-before where what lst) (cond ((null? lst) ; If the list is empty, (list what)) ; return a single-element list. ((eq? where (car lst)) ; If we find symbol `where`, (cons what lst)) ; insert `what` before curr. position. (else ; Otherwise keep building the list by (cons (car lst) ; adding the current element and ; recursing with the next element. (insert-before where what (cdr lst)))))) cancellationFirst = \override Score.BreakAlignment.break-align-orders = #(grob-transformer 'break-align-orders (lambda (grob orig) (let* ((middle (vector-ref orig 1)) (middle (delq 'key-cancellation middle)) (middle (insert-before 'staff-bar 'key-cancellation middle))) (vector ;; end of line (vector-ref orig 0) ;; middle of line middle ;; beginning of line (vector-ref orig 2))))) music = { \key es \major d'1 \bar "||" \key a \major d'1 } { <>^\markup "default" \music } { <>^\markup "cancellation first" \cancellationFirst \music } \paper { tagline = ##f }
| [ << Tweaks and overrides ] | [Top][Contents] | [ Paper and layout >> ] |
| [ < Barres rythmiques ] | [ Up : Tweaks and overrides ] | [ Soufflets et barres de mesure > ] |
![[image of music]](../66/lily-b0f753f8.png)