[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