summaryrefslogtreecommitdiff
path: root/Documentation/automated-engraving/formatting-architecture.itexi
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2009-08-12 23:38:28 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2009-08-13 01:30:27 +0200
commit480e203052571809f1a11ee7c7728f08aa042fe9 (patch)
treec56af9445286eb71c8b92b63cc052f3fc8c472a4 /Documentation/automated-engraving/formatting-architecture.itexi
parent6881f8675f87ab0830dbccfaeeab30207552317d (diff)
Doc: Add converted essay.
Diffstat (limited to 'Documentation/automated-engraving/formatting-architecture.itexi')
-rw-r--r--Documentation/automated-engraving/formatting-architecture.itexi65
1 files changed, 65 insertions, 0 deletions
diff --git a/Documentation/automated-engraving/formatting-architecture.itexi b/Documentation/automated-engraving/formatting-architecture.itexi
new file mode 100644
index 0000000000..4e551e9d15
--- /dev/null
+++ b/Documentation/automated-engraving/formatting-architecture.itexi
@@ -0,0 +1,65 @@
+\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@ignore
+ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. See TRANSLATION for details.
+@end ignore
+
+
+
+@node formatting-architecture
+
+@unnumberedsec A flexible formatting architecture
+
+Remember the music notation problem? Its solution left us with a
+bunch of objects. The formatting architecture is built on these
+objects. Each object carries variables:
+
+@itemize
+@item
+ Variables control layout decisions. For example, many objects
+have a @code{direction} variable that encodes the choice between up
+and down (or left and right). Here you see two chords, with accents
+and arpeggio. In the first chord, the objects have all directions down
+(or left). The second chord has all directions up (right).
+
+@divClass{float-center}
+@divEnd
+@image{pictures/directions-updown,,,.png}
+
+The process of formatting a score consists of reading and writing
+object variables.
+
+
+
+@item
+Some variables have a preset value. For example, the thickness of
+ many lines &ndash; a characteristic of typographical style &ndash; are preset
+ variables. Changing them gives a different typographical impression:
+
+@divClass{float-center}
+@divEnd
+@image{pictures/thickness-tweaks,,,.png}
+
+@item
+Formatting rules are also preset variables: each object has
+variables containing procedures. These procedure perform the actual
+formatting, and by substituting different ones, we can change
+behavior. In the following example, the rule that note head objects
+use to draw their symbol is changed during the music fragment:
+
+@divClass{float-center}
+@divEnd
+@image{pictures/mc-squared,,,.png}
+
+@end itemize
+
+@divClass{float-right}
+@divEnd
+Next:
+ @ref{scoring-esthetics.html,Beautiful numbers}: how
+LilyPond participates in the Miss World contests.
+
+@bye
+