lilypond-user
[Top][All Lists]
Advanced

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

Re: macro for \once\override


From: Aaron Hill
Subject: Re: macro for \once\override
Date: Sat, 29 Aug 2020 06:49:30 -0700
User-agent: Roundcube Webmail/1.4.2

On 2020-08-29 6:37 am, David Kastrup wrote:
Aaron Hill <lilypond@hillvisions.com> writes:

On 2020-08-29 5:23 am, David Kastrup wrote:
Wols Lists <antlists@youngman.org.uk> writes:

On 29/08/20 05:45, Werner LEMBERG wrote:
      \once \override FretBoard.size = #'1.0
      \once \override FretBoard.fret-diagram-details.barre-type =
#'straight
      \once \override FretBoard.fret-diagram-details.dot-color =
#'black
      \once \override FretBoard.fret-diagram-details.finger-code =
#'below-string
      c'
Unfortunately this might well require re-writing the parser, but it
struck me it might be a nice idea to nick an idea from other object
oriented languages as follows ...
    \once \override FretBoard.size = #'1.0
    \once \override \using FretBoard.fret-diagram-details {
        .barre-type = #'straight
        .dot-color = #'black
        .finger-code = #'below-string
    }
    c'
What's wrong with
  \once \override FretBoard.fret-diagram-details =
    #'((barre-type . straight)
       (dot-color . black)
       (finger-code . below-string))
I mean, I am as proud as anybody that separate subproperty overrides
don't cause LilyPond to go down in flames any more, but this is an
alist, after all.

In my testing, that overwrites any existing overrides on the
fret-diagram-details property, so it is not quite the same thing.

The only preexisting fret-diagram-details entry according to the
internals guide is finger-code , and that one's in there.

Apologies for not being clearer. I was not talking about that specific bit of code, rather using that construct in the larger example that Werner posted. In the snippet, some elements of the fret-diagram-details property were \overridden earlier and those would not be persisted if you swap out the entire alist.


-- Aaron Hill



reply via email to

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