That's actually more like what I was expecting! I will be having more (indirect) discussions. For instance, I'm required to make bar numbers italic; and I've been asked to place all tuplet brackets above regardless of stem directions - but doing this leads to loads of clashes with slurs. Also, I've been asked to make all tuplet brackets horizontal (beams already are). So I may well be revisiting this more general form of expression (just need a little while to get my head around it - I've never been into Lisp-type syntax!).
But meanwhile, I'm puzzling over the error in your snippet: "Unbound variable: ly:grob-properties"... Thanks, Paul On 27/09/2021 14:08:53, "Kieren MacMillan" <kie...@kierenmacmillan.info> wrote: >Hi Paul, > >Lukas’s solution >> Probably the easiest way would be to re-define the "-." command: > >is nice and simple — if that’s the only tweak you have, then you should >probably use it. > >If, on the other hand, you have lots of tweaks for different types of scripts, >then here’s a more “centralized” solution: > >%%% SNIPPET BEGINS >#(define ((custom-script-tweaks ls) grob) > (let* ((type (ly:prob-property (assoc-ref (ly:grob-properties 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) > '()))) > >#(define my-scripts '( > ("staccato" . ((font-size . -5))) > ("fermata" . ((padding . 5))) > )) > >\layout { > \context { > \Score > \override Script.before-line-breaking = #(custom-script-tweaks my-scripts) > } >} > >\score >{ > { > c'4-. c2\fermata c4\accent > } >} >%%% SNIPPET ENDS > >Hope that helps! >Kieren.