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

On 2020-08-29 5:23 am, David Kastrup wrote:
Wols Lists <antli...@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