gpt4 book ai didi

lilypond - 改变 Lilypond 中的所有颜色

转载 作者:行者123 更新时间:2023-12-02 19:20:43 24 4
gpt4 key购买 nike

在 Lilypond 中,我可以使用类似

的线条更改一种对象的颜色

\覆盖 Staff.Clef#'color = #(rgb-color 0.4 0.5 0.6)

我希望所有内容都采用相同(非默认)颜色,但我既没有找到可以着色的所有对象的列表,也没有找到立即更改所有颜色的命令。有人可以指点我吗?

最佳答案

LilyPond Snippet Repository有一个solution that iterates through the list of objects contained in all-grob-descriptions :

#(define (override-color-for-all-grobs color)
(lambda (context)
(let loop ((x all-grob-descriptions))
(if (not (null? x))
(let ((grob-name (caar x)))
(ly:context-pushpop-property context grob-name 'color color)
(loop (cdr x)))))))

% Example of usage:
\relative c' {
\applyContext #(override-color-for-all-grobs (x11-color 'blue))
c4\pp\< d e f
\grace { g16[( a g fis]) } g1\ff\!
}

请注意,仅当您在适当的上下文中运行它时,这才会改变每个图形对象的颜色(我认为,Score通常就足够了),因此您可能需要执行以下操作:比如说,您正处于 Voice 上下文中:

\stopStaff
\context Score
\applyContext #(override-color-for-all-grobs (x11-color 'blue))
\startStaff

关于lilypond - 改变 Lilypond 中的所有颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5370326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com