lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: magic coloring of contexts


From: David Kastrup
Subject: Re: magic coloring of contexts
Date: Mon, 11 Jun 2012 18:32:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

eluze <address@hidden> writes:

> I was quite amazed seeing the result of coloring a few parts of code.
>
> in the first 2 files I just changed the location of the \colorContext
> command. the 1st gives the expected result,


colorContext = #(define-music-function (parser location color) (string?)
#{ \applyContext #(override-color-for-all-grobs (x11-color color))
#})
mus = { a b c d e f g a }

\markup first
\relative {
  \mus
}

\markup second
\relative {
  \colorContext LimeGreen
  \mus
}

> while I don't understand why in the 2nd both get colored.

(basically swap both \relative sections).

\relative does not get the opportunity to start an implied context
before \colorContext runs.  As a result, \colorContext modifies the
Global context, and all grobs of the compilation are interpreted in the
same Global context sequentially.

> far more amazing is the result of the 3rd file where I added one more
> score - namely that also the first score gets colored!

Well, \autochange works by running through the music on its own first.
You use a command override-color-for-all-grobs that I don't actually
know.  I have no idea what it will do, and LilyPond does not appear to
know it.

\autochange uses its own global context for doing this, but depending on
what override-color-for-all-grobs does, this might or might not be good
enough.

> now - is this all expected behavior?

It would be good if you mentioned what override-color-for-all-grobs
actually is.

-- 
David Kastrup




reply via email to

[Prev in Thread] Current Thread [Next in Thread]