LilyPond Beginnershandleiding
LilyPond Beginnershandleiding
LilyPond Beginnershandleiding
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Hoofdstuk 4: Tweaking output 108<br />
}<br />
}<br />
>><br />
r4 |<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Since the length of stems and many other length-related properties are always calculated relative<br />
to the value of the staff-space property these are automatically scaled down in length too.<br />
Note that this affects only the vertical scale of the ossia – the horizontal scale is determined by<br />
the layout of the main music in order to remain synchronized with it, so it is not affected by<br />
any of these changes in size. Of course, if the scale of all the main music were changed in this<br />
way then the horizontal spacing would be affected. This is discussed later in the layout section.<br />
This, then, completes the creation of an ossia. The sizes and lengths of all other objects may<br />
be modified in analogous ways.<br />
For small changes in scale, as in the example above, the thickness of the various drawn lines<br />
such as bar lines, beams, hairpins, slurs, etc does not usually require global adjustment. If the<br />
thickness of any particular layout object needs to be adjusted this can be best achieved by<br />
overriding its thickness property. An example of changing the thickness of slurs was shown<br />
above in Sectie 4.2.1 [Properties of layout objects], pagina 93. The thickness of all drawn objects<br />
(i.e., those not produced from a font) may be changed in the same way.<br />
4.4 Placement of objects<br />
4.4.1 Automatic behavior<br />
There are some objects in musical notation that belong to the staff and there are other objects<br />
that should be placed outside the staff. These are called within-staff objects and outside-staff<br />
objects respectively.<br />
Within-staff objects are those that are located on the staff – note heads, stems, accidentals,<br />
etc. The positions of these are usually fixed by the music itself – they are vertically positioned<br />
on specific lines of the staff or are tied to other objects that are so positioned. Collisions of note<br />
heads, stems and accidentals in closely set chords are normally avoided automatically. There are<br />
commands and overrides which can modify this automatic behavior, as we shall shortly see.<br />
Objects belonging outside the staff include things such as rehearsal marks, text and dynamic<br />
markings. <strong>LilyPond</strong>’s rule for the vertical placement of outside-staff objects is to place them as<br />
close to the staff as possible but not so close that they collide with any other object. <strong>LilyPond</strong><br />
uses the outside-staff-priority property to determine the order in which the objects should<br />
be placed, as follows.<br />
First, <strong>LilyPond</strong> places all the within-staff objects. Then it sorts the outside-staff objects<br />
according to their outside-staff-priority. The outside-staff objects are taken one by one,<br />
beginning with the object with the lowest outside-staff-priority, and placed so that they do<br />
not collide with any objects that have already been placed. That is, if two outside-staff grobs are<br />
competing for the same space, the one with the lower outside-staff-priority will be placed<br />
closer to the staff. If two objects have the same outside-staff-priority the one encountered<br />
first will be placed closer to the staff.