[ << Pitches ] | [Top][Contents] | [ Rhythms >> ] |
[ < Citació d’una altra veu amb transposició ] | [ Up : Pitches ] | [ Transposició de la música amb el menor nombre d’alteracions > ] |
Separar les cancel·lacions de tonalitat dels canvis d’armadura
De forma predeterminada, les alteracions accidentals que s’usen
per a les cancel·lacions a les armadures es col·loquen adjacents
a les que s’usen per als canvis de tonalitat. Aquest comportament
es pot canviar sobreescrivint la propietat 'break-align-orders
de l’objecte gràfic BreakAlignment
.
El valor de 'break-align-orders
és un vector de longitud 3, amb
llistes entre cometes els elements de les quals són objectes que
es poden dividir en un salt. Aquest exemple sols modifica la
segona llista, movent key-cancellation
abans de staff-bar
;
modificant la segona llista, el comportament d’alineació dels
salts canvia en la meitat d’un sistema, no al principi ni al final.
#(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 }
[ << Pitches ] | [Top][Contents] | [ Rhythms >> ] |
[ < Citació d’una altra veu amb transposició ] | [ Up : Pitches ] | [ Transposició de la música amb el menor nombre d’alteracions > ] |