]> git.donarmstrong.com Git - lilypond.git/blob - scm/context-description.scm
649a600e04e93c4db19f6d402f797938d7530cc4
[lilypond.git] / scm / context-description.scm
1
2 ;; todo: move this to engraver-init.ly 
3
4 (define-public context-description-alist
5   '(
6     (Grace . "
7    DEPRECATED; this is a 1.4 construct.
8 ")
9     (LyricsVoice . "
10     Corresponds to a voice with lyrics.  Handles the printing of a
11     single line of lyrics.
12 ")
13     (Thread . "
14     Handles note heads, and is contained in the Voice context.  You
15     have to instantiate this explicitly if you want to adjust the
16     style of individual note heads.
17 ")
18     (Voice . "
19     Corresponds to a voice on a staff.  This context handles the
20     conversion of dynamic signs, stems, beams, super- and subscripts,
21     slurs, ties, and rests.
22
23     You have to instantiate this explicitly if you want to have
24     multiple voices on the same staff.")
25
26     (ChordNamesVoice . "
27     A voice with chord names.  Handles printing of a line of chord
28     names.")
29
30     (ChordNames . "
31     Typesets chord names.  Can contain @code{ChordNamesVoice}
32     contexts.")
33
34     (Lyrics . "
35     Typesets lyrics.  It can contain @code{LyricsVoice} contexts.
36 ")
37     (Staff . "
38     Handles clefs, bar lines, keys, accidentals.  It can contain
39     @code{Voice} contexts.
40 ")
41     (RhythmicStaff . "
42     A context like @code{Staff} but for printing rhythms.  Pitches are
43     ignored; the notes are printed on one line.  It can contain
44     @code{Voice} contexts.
45 ")
46     (GrandStaff . "
47     Contains @code{Staff} or @code{RhythmicStaff} contexts.  It adds a
48     brace on the left side, grouping the staves together.  The bar
49     lines of the contained staves are connected vertically.  It can
50     contain @code{Staff} contexts.")
51
52     (PianoStaff . "
53     Just like @code{GrandStaff} but with @code{minVerticalAlign} set
54     equal to @code{maxVerticalAlign} so that interstaff beaming and
55     slurring can be used.")
56
57     (StaffGroup . "
58     Contains @code{Staff} or @code{RhythmicStaff} contexts.  Adds a
59     bracket on the left side, grouping the staves together.  The bar
60     lines of the contained staves are connected vertically.  It can
61     contain @code{Staff}, @code{RhythmicStaff}, @code{GrandStaff}, or
62     @code{Lyrics} contexts.
63 ")
64     (ChoirStaff . "
65     Identical to @code{StaffGroup} except that the contained staves
66     are not connected vertically.
67 ")
68     (Score . "
69     This is the top level notation context.  No other context can
70     contain a @code{Score} context.  This context handles the
71     administration of time signatures.  It also makes sure that items
72     such as clefs, time signatures, and key-signatures are aligned
73     across staves.  It can contain @code{Lyrics}, @code{Staff},
74     @code{RhythmicStaff}, @code{GrandStaff}, @code{StaffGroup}, and
75     @code{ChoirStaff} contexts.
76
77     You cannot explicitly instantiate a Score context (since it is
78     not contained in any other context).  It is instantiated
79     automatically when an output definition (a @code{\score} or
80     @code{\paper} block) is processed.
81 ")
82
83     (TabStaff . "Context for generating tablature. [DOCME]")
84     )
85   )
86
87 (set! context-description-alist
88       (sort context-description-alist alist<?))