| [ << Tweaks and overrides ] | [Top][Contents] | [ Paper and layout >> ] |
| [ < Anidado de grupos de pentagramas ] | [ Up: Tweaks and overrides ] | [ Visibilidad del contador de repeticiones de tipo porcentaje > ] |
Modificación de articulaciones por tipo
A veces queremos modificar un solo timpo de articulación. Aunque
siempre es posible usar la instrucción \tweak, podría
hacerse tedioso hacerlo para todos y cada uno de los símbolos de
una partitura completa. El ejemplo muestra cómo trucar
articulaciones con una lista de ajustes personalizados. Un caso
sería la creación de una hoja de estilos.
Con 2.16.2 it es posible introducir la función propuesta,
\customScripts, en un bloque \layout.
% Code by David Nalesnik and Thomas Morley #(define (custom-script-tweaks ls) (lambda (grob) (let* ((type (ly:event-property (ly:grob-property grob 'cause) 'articulation-type)) (tweaks (assoc-ref ls type))) (if tweaks (for-each (lambda (x) (ly:grob-set-property! grob (car x) (cdr x))) tweaks))))) customScripts = #(define-music-function (settings) (list?) #{ \override Script.before-line-breaking = #(custom-script-tweaks settings) #}) revertCustomScripts = \revert Script.before-line-breaking %%%%%%%%%%%%% % Example: %%%%%%%%%%%%% % Predefine a list of desired tweaks. #(define my-settings-1 '( (staccato . ((color . (1 0 0)) (padding . 0.5))) (accent . ((font-size . 0) (color . (1 0 0)))) (tenuto . ((rotation . (45 0 0)) (padding . 2) (font-size . 10))) (staccatissimo . ((padding . 1) (color . (1 0 0)))) (segno . ((font-size . 0) (color . (1 0 0)))) )) #(define my-settings-2 '( (staccato . ((color . (0 1 0)))) (accent . ((font-size . 4) (color . (0 1 0)) (padding . 1.5))) (tenuto . ((font-size . 10))) (staccatissimo . ((padding . 2) (color . (0 1 0)))) (coda . ((color . (0 1 0)) (padding . 1))) )) one = \relative c'' { f1-- \customScripts #my-settings-1 f-. f-! f-> f-- f-!\segno \revertCustomScripts f-> f-. } two = \relative c' { f1-- \customScripts #my-settings-2 f-. f-! f-> f---> f-! f-> f-.\coda } \new Staff << \new Voice { \voiceOne \one } \new Voice { \voiceTwo \two } >>
| [ << Tweaks and overrides ] | [Top][Contents] | [ Paper and layout >> ] |
| [ < Anidado de grupos de pentagramas ] | [ Up: Tweaks and overrides ] | [ Visibilidad del contador de repeticiones de tipo porcentaje > ] |