Autor Thema: Fretboard unterschiedliche Farben für die Punkte  (Gelesen 736 mal)

Hilflos-im-Code

  • Gast
Fretboard unterschiedliche Farben für die Punkte
« 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?
« Letzte Änderung: Freitag, 6. Januar 2017, 11:45 von Hilflos-im-Code »

harm6

  • Gast
Re: Fretboard unterschiedliche Farben für die Punkte
« Antwort #1 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 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