|
|
Node:Internals,
Next:Literature,
Previous:lilypond-book,
Up:Top
Internals
When translating the input to notation, there are number of distinct
phases. We list them here:
- Parsing:
-
The LY file is read, and converted to a list of
Scores, which
each contain Music and paper/midi-definitions. Here Music,
Pitch and Duration objects are created.
- Interpreting music
-
All music events are "read" in the same order as they would be played
(or read from paper). At every step of the interpretation, musical
events are delivered to
interpretation contexts,
which use them to build Grobs (or MIDI objects, for MIDI output).
In this stage Music_iterators do a traversal of the Music
structure. The music events thus encountered are reported to
Translators, a set of objects that collectively form interpretation
contexts.
- Prebreaking
-
At places where line breaks may occur, clefs and bars are prepared for
a possible line break.
- Preprocessing
-
In this stage, all information that is needed to determine line breaking
is computed.
- Break calculation:
-
The lines and horizontal positions of the columns are determined.
- Breaking
-
Relations between all grobs are modified to reflect line breaks: When a
spanner, e.g. a slur, crosses a line-break, then the spanner is "broken
into pieces", for every line that the spanner is in, a copy of the grob
is made. A substitution process redirects all grob-reference so that
each spanner grob will only reference other grobs in the same line.
- Outputting:
-
All vertical dimensions and spanning objects are computed, and all grobs
are output, line by line. The output is encoded in the form of
Molecules
The data types that are mentioned here are all discussed in this
section.
|
|
Go back to index of LilyPond.
Please send GNU LilyPond questions and comments to
lilypond-user@gnu.org.
Please send comments on these web pages to
lilypond@packages.debian.org
Copyright (c) 1997--2001 Han-Wen Nienhuys and Jan Nieuwenhuizen.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
|