Next: Difficult tweaks, Previous: Objects connected to the input, Up: The \override command
We have seen two methods of changing properties: \set and
\override. There are actually two different kinds of
properties.
Contexts can have properties, which are usually named in
studlyCaps. They mostly control the translation from
music to notatino, eg. localKeySignature (for determining
whether to print accidentals), measurePosition (for
determining when to print a barline). Context properties can
change value over time while interpreting a piece of music;
measurePosition is an obvious example of
this. Context properties are modified with \set.
There is a special type of context property: the element
description. These properties are named in StudlyCaps
(starting with capital letters). They contain the
“default settings” for said graphical object as an
association list. See scm/define-grobs.scm
to see what kind of settings there are. Element descriptions
may be modified with \override.
\override is actually a shorthand;
\override context.name #'property = #value
is more or less equivalent to
\set context.name #'property = #(cons (cons 'property value) <previous value of context)
The value of context (the alist) is used to initalize
the properties of individual grobs. Grobs also have
properties, named in Scheme style, with
dashed-words. The values of grob properties change
during the formatting process: formatting basically amounts
to computing properties using callback functions.
fontSize is a special property: it is equivalent to
entering \override ... #'font-size for all pertinent
objects. Since this is a common change, the special
property (modified with \set) was created.
Next: Difficult tweaks, Previous: Objects connected to the input, Up: The \override command
This page is for LilyPond-2.10.33 (stable-branch).