Next: Outside staff objects, Previous: Automatic behavior, Up: Placement of objects
We have already seen how the commands \voiceXXX
affect
the direction of slurs, ties, fingering and
everything else which depends on the direction of the stems.
These commands are essential when writing polyphonic music to
permit interweaving melodic lines to be distinguished.
But occasionally it may be necessary to override this automatic
behavior. This can be done for whole sections of music or even
for an individual note. The property which controls this
behavior is the direction
property of each layout object.
We first explain what this does, and then introduce a number of
ready-made commands which avoid your having to code explicit
overrides for the more common modifications.
Some layout objects like slurs and ties curve, bend or point
either up or down; others like stems and flags also move to
right or left when they point up or down. This is controlled
automatically when direction
is set.
The following example shows in bar 1 the default behavior of stems, with those on high notes pointing down and those on low notes pointing up, followed by four notes with all stems forced down, four notes with all stems forced up, and finally four notes reverted back to the default behavior.
a4 g c a \override Stem #'direction = #DOWN a g c a \override Stem #'direction = #UP a g c a \revert Stem #'direction a g c a
Here we use the constants DOWN
and UP
.
These have the values -1
and +1
respectively, and
these numerical values may be used instead. The value 0
may also be used in some cases. It is simply treated as meaning
UP
for stems, but for some objects it means ‘center’.
There is a constant, CENTER
which has the value 0
.
However, these explicit overrides are not usually used, as there are simpler equivalent predefined commands available. Here is a table of the commonest. The meaning of each is stated where it is not obvious.
Down/Left | Up/Right | Revert | Effect
|
---|---|---|---|
\arpeggioArrowDown
| \arpeggioArrowUp
| \arpeggioNormal
| Arrow is at bottom, at top, or no arrow
|
\dotsDown
| \dotsUp
| \dotsNeutral
| Direction of movement to avoid staff lines
|
\dynamicDown
| \dynamicUp
| \dynamicNeutral
|
|
\phrasingSlurDown
| \phrasingSlurUp
| \phrasingSlurNeutral
| Note: distinct from slur commands
|
\slurDown
| \slurUp
| \slurNeutral
|
|
\stemDown
| \stemUp
| \stemNeutral
|
|
\textSpannerDown
| \textSpannerUp
| \textSpannerNeutral
| Text entered as spanner is below/above staff
|
\tieDown
| \tieUp
| \tieNeutral
|
|
\tupletDown
| \tupletUp
| \tupletNeutral
| Tuplets are below/above notes
|
Note that these predefined commands may not be
preceded by \once
. If you wish to limit the
effect to a single note you must either use the equivalent
\once \override
command or use the predefined command
followed after the affected note by the corresponding
\xxxNeutral
command.
The placement of fingering is also affected by the value
of its direction
property, but there are special
commands which allow the fingering of individual notes
of chords to be controlled, with the fingering being placed
above, below, to the left or to the right of each note.
First, here's the effect of direction
on fingering,
the first bar shows the default, then the effect of specifying
DOWN
and UP
:
c-5 a-3 f-1 c'-5 \override Fingering #'direction = #DOWN c-5 a-3 f-1 c'-5 \override Fingering #'direction = #UP c-5 a-3 f-1 c'-5
This is how to control fingering on single notes, but the
direction
property is ignored for chords. Instead, by default, the
fingering is automatically placed both above and below the
notes of a chord, as shown:
<c-5 g-3> <c-5 g-3 e-2> <c-5 g-3 e-2 c-1>
Greater control over the placement of fingering of the
individual notes in a chord is possible by using
the \set fingeringOrientations
command. The format of
this command is
\set fingeringOrientations = #'([up] [left/right] [down])
\set
is used because fingeringOrientations
is a
property of the Voice
context, created and used by the
New_fingering_engraver
.
The property may be set to a list of one to three values.
It controls whether fingerings may be placed above (if
up
appears in the list), below (if down
appears),
to the left (if left
appears, or to the right
(if right
appears). Conversely, if a location is not
listed, no fingering is placed there. LilyPond takes these
constraints and works out the best placement for the fingering
of the notes of the following chords. Note that left
and
right
are mutually exclusive – fingering may be placed
only on one side or the other, not both.
To control the placement of the fingering of a single note using this command it is necessary to write it as a single note chord by placing angle brackets round it.
Here are a few examples:
\set fingeringOrientations = #'(left) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(left) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(up left down) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(up left) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(right) <f-2> < c-1 e-2 g-3 b-5 > 4
If the fingering seems a little crowded the font-size
could be reduced. The default value can be seen from the
Fingering
object in the IR to be -5
, so let's
try -7
:
\override Fingering #'font-size = #-7 \set fingeringOrientations = #'(left) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(left) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(up left down) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(up left) <f-2> < c-1 e-2 g-3 b-5 > 4 \set fingeringOrientations = #'(right) <f-2> < c-1 e-2 g-3 b-5 > 4
This page is for LilyPond-2.11.58 (development-branch).
Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.
Other languages: espaƱol.