Deutsches Lilypond Forum (Archiv)

Notationsspezifisch => Noten für Gitarre => Thema gestartet von: Hilflos-im-Code am Freitag, 6. Januar 2017, 11:32

Titel: Fretboard unterschiedliche Farben für die Punkte
Beitrag von: Hilflos-im-Code am Freitag, 6. Januar 2017, 11:32
Mit diesem Code sind alle Punkte, welche gegriffen werden, grün.

\version "2.19.41"
                   

\new FretBoards
 
  \with {
 
 
 \override FretBoard.fret-diagram-details.dot-color = #'green }
  {
 
    <f, c  f a c' f'>
  }

Aber wie bekomme ich es hin, jedem Punkt eine eigene Farbe zu geben?
Titel: Re: Fretboard unterschiedliche Farben für die Punkte
Beitrag von: harm6 am Freitag, 6. Januar 2017, 12:37
Hallo,

Du mußt halt auf jeden Punkt einzeln zugreifen und die Farbe setzen.

(1)
Du könntest wie hier (https://archiv.lilypondforum.de/index.php?topic=2446.msg13800#msg13800) beschrieben vorgehen und die Farben setzen
oder
(2)
mittels eines overrides die dot-placement-list auslesen und die Farben einfügen:

\version "2.19.52"

setFretDotsColor =
#(define-music-function (color-symbol-list)(list?)
#{
  \once \override FretBoard.before-line-breaking =
    #(lambda (grob)
      (let ((dots-list (ly:grob-property grob 'dot-placement-list)))
        (ly:grob-set-property! grob 'dot-placement-list
          (map
            (lambda (d c) (append d (list c)))
            (reverse dots-list)
            color-symbol-list))))
#})

\new FretBoards
  {
    \setFretDotsColor #'(red green blue cyan yellow grey)
    <f, c  f a c' f'>
  }

HTH,
  Harm