lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Different default arpeggio positions


From: Thomas Morley
Subject: Re: Different default arpeggio positions
Date: Fri, 2 Dec 2022 23:47:39 +0100

Am Fr., 2. Dez. 2022 um 11:46 Uhr schrieb Jean Abou Samra <jean@abou-samra.fr>:
>
> Le 02/12/2022 à 05:16, Abraham Lee a écrit :
> > Code works perfectly, Jean, though what it's doing is a bit of a
> > mystery. You've been very kind to provide a solution and I don't want
> > to take more of your time on the subject, but is there some
> > documentation somewhere that explains that commands you've used so I
> > can figure out what's going on for myself? Or if the explanation is
> > simple, I'd greatly appreciate it so I can stop using
> > before/after-line-breaking since I used to use it a lot (as Thomas has
> > hinted at).
>
>
> Try reading this, and feel free to ask again if this doesn't clarify it
> for you:
>
> https://extending-lilypond.readthedocs.io/en/latest/backend.html#properties-and-callbacks
>
> Best,
> Jean
>
Hi Jean,

we have a very short section about grob-transformer in the Extending
Manual. Probably too concise.
Your text is more clear.
Many thanks again for the entire text!

I know you like pattern matching, though imho it makes things not
always easier for users.

Even for me - I don't understand that (x x)-line:

       \override Arpeggio.positions =
         #(grob-transformer
           'positions
           (lambda (grob original)
             (match original
               ((a . b) (cons (- a 5.0) (+ b 5.0)))
               (x x))))  ;; <==

I'd likely code it like:
       \override Arpeggio.positions =
         #(grob-transformer
           'positions
           (lambda (grob original)
             (cons (- (car original) 5.0) (+ (cdr original) 5.0))))

Best,
  Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]