[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re: Dot sizes
From:       Lukas-Fabian Moser <lfm () gmx ! de>
Date:       2021-09-27 13:59:55
Message-ID: a6e25126-4117-9bde-4a5a-fa7734f6e677 () gmx ! de
[Download RAW message or body]

Hi Paul,

Am 27.09.21 um 15:45 schrieb Paul Hodges:
> 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"...

I refactored Kieren's function a bit (to make it work, but also maybe to 
make it easier to read):

%%%  SNIPPET BEGINS
#(define ((custom-script-tweaks ls) grob)
    (let*
     ((grob-cause (ly:grob-property grob 'cause))
      (type (ly:prob-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))))

#(define my-scripts
    `(
       ("staccato" . ((font-size . -5)))
       ("fermata" . ((padding . 5)))
       ("accent" . ((color . ,red)))
       ))

\layout {
   \context {
     \Score
     \override Script.before-line-breaking = #(custom-script-tweaks 
my-scripts)
   }
}

\score
{
   {
     c'4-. c2\fermata c4 \accent
   }
}
%%%  SNIPPET ENDS

All the requirements you describe sound absolutely possible with 
LilyPond. Feel free to ask on-list. :-)


Lukas


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic