]> git.donarmstrong.com Git - lilypond.git/blob - scm/define-grob-interfaces.scm
Merge branch 'master' of git://git.sv.gnu.org/lilypond
[lilypond.git] / scm / define-grob-interfaces.scm
1 ;;;; interface-description.scm -- part of generated backend documentation
2 ;;;;
3 ;;;;  source file of the GNU LilyPond music typesetter
4 ;;;;
5 ;;;; (c) 1998--2006  Han-Wen Nienhuys <hanwen@xs4all.nl>
6 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
7
8
9 ;; should include default value?
10
11
12 (ly:add-interface
13  'accidental-suggestion-interface
14    "An accidental, printed as a suggestion (typically: vertically over a note)"
15    '())
16
17 (ly:add-interface
18  'bass-figure-interface
19  "A bass figure text"
20  '(implicit))
21
22 (ly:add-interface
23  'bend-after-interface
24  "A doit or drop."
25  '(thickness delta-position))
26
27 (ly:add-interface
28  'bass-figure-alignment-interface
29  ""
30  '())
31
32 (ly:add-interface
33  'dynamic-interface
34    "Any kind of loudness sign"
35    '())
36
37 (ly:add-interface
38  'dynamic-line-spanner-interface
39    "Dynamic line spanner"
40    '(avoid-slur))
41
42 (ly:add-interface
43  'finger-interface
44  "A fingering instruction"
45  '())
46
47 (ly:add-interface
48  'fret-diagram-interface
49  "A fret diagram"
50  '(align-dir barre-type dot-color dot-radius finger-code fret-count
51   label-dir number-type size string-count
52   string-fret-finger-combinations thickness))
53
54 (ly:add-interface
55  'grace-spacing-interface
56  "Keep track of durations in a run of grace notes."
57  '(columns common-shortest-duration))
58
59 (ly:add-interface
60  'ligature-interface
61  "A ligature"
62  '())
63
64 (ly:add-interface
65  'ligature-bracket-interface
66  "A bracket indicating a ligature in the original edition"
67  '(width thickness height))
68
69
70 (ly:add-interface
71  'lyric-syllable-interface
72  "A single piece of lyrics"
73  '())
74
75 (ly:add-interface
76  'lyric-interface
77  "Any object that is related to lyrics."
78  '())
79
80 (ly:add-interface
81  'mark-interface
82  "A rehearsal mark"
83  '())
84
85 (ly:add-interface
86  'metronome-mark-interface
87  "A metronome mark"
88  '())
89
90 (ly:add-interface
91  'multi-measure-interface
92  "Multi measure rest, and the text or number that is printed over it."
93  '(bound-padding))
94
95 (ly:add-interface
96 'note-name-interface
97  "Note name"
98  '(style))
99
100 (ly:add-interface
101  'only-prebreak-interface
102  "Kill this grob after the line breaking process."
103  '())
104
105 (ly:add-interface
106  'parentheses-interface
107  "Parentheses for other objects"
108  '(padding stencils))
109
110 (ly:add-interface
111  'piano-pedal-interface
112  "A piano pedal sign"
113  '())
114
115 (ly:add-interface
116  'piano-pedal-script-interface
117  "A piano pedal sign, fixed size"
118  '())
119
120 (ly:add-interface
121  'pitched-trill-interface
122    "A note head to indicate trill pitches"
123    '(accidental-grob))
124
125 (ly:add-interface
126  'trill-pitch-accidental-interface
127  "An accidental for trill pitch"
128  '(accidentals))
129
130 (ly:add-interface
131  'rhythmic-grob-interface
132  "Any object with a rhythmic basis. Used to determine which grobs
133 are interesting enough to maintain a hara-kiri staff."
134  '())
135
136
137 (ly:add-interface
138  'spacing-options-interface
139  "Supports setting of spacing variables"
140  '(spacing-increment shortest-duration-space))
141
142 (ly:add-interface
143  'stanza-number-interface
144  "A stanza number, to be put in from of a lyrics line"
145  '())
146
147 (ly:add-interface
148  'string-number-interface
149  "A string number instruction"
150  '())
151
152 (ly:add-interface
153  'stroke-finger-interface
154  "A right hand finger instruction"
155  '(digit-names))
156
157 (ly:add-interface
158  'system-start-text-interface
159  "A text at the beginning of a system."
160  '(text long-text collapse-height style))
161
162 ;;; todo: this is not typesetting info. Move to interpretation.
163 (ly:add-interface
164  'tablature-interface
165  "An interface for any notes set in a tablature staff"
166  '())
167
168 (ly:add-interface
169  'vertically-spaceable-interface
170  "Objects that should be kept at constant vertical distances. Typically:
171 @internalsref{VerticalAxisGroup} objects of @internalsref{Staff} contexts."
172  '())