]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/automated-engraving/divide-and-conquer.itexi
Merge branch 'master' into lilypond/translation
[lilypond.git] / Documentation / automated-engraving / divide-and-conquer.itexi
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  For details, see the Contributors'
7     Guide, node Updating translation committishes..
8 @end ignore
9
10
11 @node divide-and-conquer
12 @unnumberedsec Plan de campagne
13
14 Since content and form of a score are separate, we have to match that
15 in the design of software. Hence, the basic blueprint  of our program
16 should follow this scheme
17
18 @multitable @columnfractions .3 .3 .3
19 @item
20
21 @sourceimage{simple-notation,,,.png}
22
23
24 @tab
25
26 @result{}
27
28
29 @tab
30
31 @code{@{ c'4 d'8 @}}
32
33
34
35
36 @item
37
38 1. form
39
40
41 @tab
42
43 2. translation
44
45
46 @tab
47
48 3. content
49
50
51
52
53 @end multitable
54
55 In effect, we are conquering the problem by dividing it into
56 subproblems
57
58 @enumerate 1
59 @item
60 Typography:  @strong{where} to put symbols
61
62 @item
63 Notation:  @strong{what} symbols to produce
64 @item
65 Representation: how to @strong{encode}  music
66 @end enumerate
67
68 Finally, whenever you subdivide a problem, a new problem is created,
69 @enumerate 4
70
71
72 @item
73  Architecture: glue everything @strong{together}
74
75 @end enumerate
76
77 @divClass{float-right}
78 Next: @ref{implementing-notation,Impressive, but does it also
79 work in theory}? A practical approach to capturing notation.
80 @divEnd