lilypond-user
[Top][All Lists]
Advanced

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

Re: how to override dot-placement-list (fret diagrams)


From: Thomas Morley
Subject: Re: how to override dot-placement-list (fret diagrams)
Date: Thu, 29 Oct 2015 22:51:43 +0100

2015-10-29 19:24 GMT+01:00 pls <address@hidden>:
> Hey all,
>
> I would like to override some fingering information of predefined fret
> diagrams.  The relevant information should be in the
> /dot-placement-list/ of the fret-diagram-interface (see
> http://lilypond.org/doc/v2.19/Documentation/internals-big-page#fret_002ddiagram_002dinterface).
>
> But I couldn't find any example of an override of this information
> neither in the Notation Reference nor in the Snippet Repository.
>
> As a first step I tried to override the fingering of the fret diagram
> for /c/ (predefined-guitar-fretboards.ly).  My goal was to change the
> finger on the third fret of the fifth string from 3 to 4.  The following
> override does not work.  Am I missing something?
>
> \version "2.19.31"
> \include "predefined-guitar-fretboards.ly"
> <<
>   \new ChordNames \chordmode { c1 | } %1
>   \new FretBoards \chordmode {
>     % overrides
>     %\override FretBoard.size = #'2.2
>     %\override FretBoard.fret-diagram-details.finger-code = #'in-dot
>     \once \override FretBoards.FretBoard.dot-placement-list = #'(
>       (place-fret 5 3 4)
>     )
>
>     % fretboards
>     c1 |%1
>   }
>   \new Voice {
>     c'1 |%1
>   }
>>>
>
> Thanks for any hint!
> Patrick



Hi Patrick,

if you use "predefined-guitar-fretboards.ly" the documented method is
to insert a new entry in it via `storePredefinedDiagram'
http://www.lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-fretted-strings#predefined-fret-diagrams

Also possible is to use the `dot-placement-list'-property, with the
need to set it before-line-breaking.

Below examples for both:

\version "2.19.29"

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table
                        \chordmode { c'' }
                        #guitar-tuning
                        #'((place-fret 5 3 4))

<<
  \new ChordNames \chordmode { c1 c c'' }
  \new FretBoards \chordmode {
    \once \override FretBoards.FretBoard.before-line-breaking =
      #(lambda (grob)
         ;(newline)
         ;(display-scheme-music (ly:grob-property grob 'dot-placement-list))
         (ly:grob-set-property! grob 'dot-placement-list
                                     '((place-fret 5 3 4)))
         )
    c1 c c''
  }
  \new Voice {
    \textLengthOn
    c'1_"override"
    c'_"predefined default"
    c'_"predefined extended"
  }
>>

HTH,
  Harm



reply via email to

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