[ << Tweaks and overrides ] | [Top][Contents] | [ Paper and layout >> ] |
[ < Niuat de grups de pentagrames ] | [ Up : Tweaks and overrides ] | [ Visibilitat del comptador de repeticions de tipus percentatge > ] |
Modificació d’articulacions de diversos tipus
A vegades volem modificar un sol temps d’articulació. Tot i que
sempre és possible usar l’ordre \tweak
, podria fer-se tediós
fer-lo per a tots i cada un dels símbols d’una partitura completa.
L’exemple mostra com ajustar articulacions amb una llista
d’ajustaments personalitzats. Un cas seria la creació d’un full d’estils.
Amb 2.16.2 és possible introduir la funció proposada,
\customScripts
, en un bloc \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 >> ] |
[ < Niuat de grups de pentagrames ] | [ Up : Tweaks and overrides ] | [ Visibilitat del comptador de repeticions de tipus percentatge > ] |