[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PNG generation ignoring color
From: |
Valentin Villenave |
Subject: |
Re: PNG generation ignoring color |
Date: |
Sun, 17 May 2020 01:00:17 +0200 |
On 5/16/20, David Kastrup <address@hidden> wrote:
> Like the warning LilyPond prints out indicates, the X11 #rrggbb
> convention is not supported for specifying colors. x11-color instead
> supports _named_ colors like "green".
Chris, you *could* simply change the definition or your function as follows:
%%%%
color =
#(define-music-function (parser location color) (string?)
(define (hexa->decimal x)
(let ((num (string->number x 16)))
(if (= 0 num)
num
(exact->inexact
(/ 255 num)))))
(let* ((str (string-take
(if (string-prefix? "#" color)
(string-drop color 1)
color)
6))
(r (string-take str 2))
(g (string-drop (string-drop-right str 2) 2))
(b (string-take-right str 2))
(translated-color
(map hexa->decimal
(list r g b)))
(lily-color (primitive-eval
(cons rgb-color translated-color))))
#{
%\override Staff.StaffSymbol.color = #lily-color
\override Staff.LedgerLineSpanner.color = #lily-color
\override Staff.Clef.color = #lily-color
\override Staff.KeySignature.color = #lily-color
\override Staff.TimeSignature.color = #lily-color
%% Remove Staff. below to only affect individual voices:
\override Staff.NoteHead.color = #lily-color
\override Staff.Stem.color = #lily-color
\override Staff.Flag.color = #lily-color
\override Staff.Beam.color = #lily-color
\override Staff.Accidental.color = #lily-color
\override Staff.AccidentalCautionary.color = #lily-color
\override Staff.Rest.color = #lily-color
\override Staff.MultiMeasureRest.color = #lily-color
\override Staff.MultiMeasureRestText.color = #lily-color
\override Staff.MultiMeasureRestNumber.color = #lily-color
\override Staff.Dots.color = #lily-color
\override Staff.Slur.color = #lily-color
\override Staff.PhrasingSlur.color = #lily-color
\override Staff.Tie.color = #lily-color
\override Staff.Script.color = #lily-color
\override Staff.TextScript.color = #lily-color
\override Staff.TupletBracket.color = #lily-color
\override Staff.TupletNumber.color = #lily-color
\override Staff.DynamicText.color = #lily-color
\override Staff.DynamicTextSpanner.color = #lily-color
\override Staff.DynamicLineSpanner.color = #lily-color
\override Staff.Hairpin.color = #lily-color
#}))
%%%%
Cheers,
-- V.