1 ;;;; This file is part of LilyPond, the GNU music typesetter.
3 ;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
4 ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
6 ;;;; LilyPond is free software: you can redistribute it and/or modify
7 ;;;; it under the terms of the GNU General Public License as published by
8 ;;;; the Free Software Foundation, either version 3 of the License, or
9 ;;;; (at your option) any later version.
11 ;;;; LilyPond is distributed in the hope that it will be useful,
12 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ;;;; GNU General Public License for more details.
16 ;;;; You should have received a copy of the GNU General Public License
17 ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
20 ;; The interfaces defined here generally have no code (e.g.,
21 ;; dynamic-interface), or have callbacks defined entirely in
22 ;; scheme. Others interfaces are defined in lily/*.cc with the
23 ;; ADD_INTERFACE function.
25 ;; should include default value?
29 'accidental-suggestion-interface
30 "An accidental, printed as a suggestion (typically: vertically over a
36 "The line between note heads for a pitch range."
37 '(gap note-heads thickness))
41 "Print a special bar symbol. It replaces the regular bar
42 symbol with a special symbol. The argument @var{bartype}
43 is a string which specifies the kind of bar line to print.
45 The list of allowed glyphs and predefined bar lines can be
46 found in @file{scm/bar-line.scm}.
48 @code{gap} is used for the gaps in dashed bar lines."
49 '(allow-span-bar bar-extent gap glyph glyph-name has-span-bar
50 hair-thickness kern rounded thin-kern thick-thickness))
53 'bass-figure-interface
58 'bass-figure-alignment-interface
59 "Align a bass figure."
65 '(thickness delta-position))
68 'clef-modifier-interface
69 "The number describing transposition of the clef, placed below
70 or above clef sign. Usually this is 8 (octave transposition)
71 or 15 (two octaves), but LilyPond allows any integer here."
76 "Any kind of loudness sign."
80 'dynamic-line-spanner-interface
81 "Dynamic line spanner."
85 'dynamic-text-interface
86 "An absolute text dynamic."
90 'dynamic-text-spanner-interface
91 "Dynamic text spanner."
101 "A fingering instruction."
107 '(automatically-numbered
110 numbering-assertion-function))
113 'footnote-spanner-interface
114 "Make a footnote spanner."
115 '(footnote-text spanner-placement))
118 'fret-diagram-interface
120 '(align-dir fret-diagram-details size dot-placement-list
129 'grace-spacing-interface
130 "Keep track of durations in a run of grace notes."
131 '(columns common-shortest-duration))
134 'inline-accidental-interface
135 "An inlined accidental (i.e. normal accidentals, cautionary
140 'instrument-specific-markup-interface
141 "Instrument-specific markup (like fret boards or harp pedal diagrams)."
142 '(fret-diagram-details graphical harp-pedal-details size thickness))
145 'key-cancellation-interface
146 "A key cancellation."
150 'ligature-head-interface
151 "A note head that can become part of a ligature."
155 'ligature-bracket-interface
156 "A bracket indicating a ligature in the original edition."
157 '(width thickness height))
166 "Any object that is related to lyrics."
170 'lyric-syllable-interface
171 "A single piece of lyrics."
180 'measure-counter-interface
181 "A counter for numbering measures."
182 '(columns count-from))
185 'metronome-mark-interface
190 'multi-measure-interface
191 "Multi measure rest, and the text or number that is printed over it."
200 'only-prebreak-interface
201 "Kill this grob after the line breaking process."
205 'parentheses-interface
206 "Parentheses for other objects."
210 'percent-repeat-interface
211 "Beat, Double and single measure repeats."
212 '(dot-negative-kern slash-negative-kern slope thickness))
215 'piano-pedal-interface
216 "A piano pedal sign."
220 'piano-pedal-script-interface
221 "A piano pedal sign, fixed size."
225 'pitched-trill-interface
226 "A note head to indicate trill pitches."
230 'rhythmic-grob-interface
231 "Any object with a duration. Used to determine which grobs are
232 interesting enough to maintain a hara-kiri staff."
236 'spacing-options-interface
237 "Supports setting of spacing variables."
238 '(spacing-increment shortest-duration-space))
242 "A bar line that is spanned between other barlines.
243 This interface is used for bar lines that connect different
245 '(glyph-name elements pure-Y-common pure-relevant-grobs
246 pure-relevant-items pure-relevant-spanners))
249 'stanza-number-interface
250 "A stanza number, to be put in from of a lyrics line."
254 'string-number-interface
255 "A string number instruction."
259 'stroke-finger-interface
260 "A right hand finger instruction."
264 'system-start-text-interface
265 "Text in front of the system."
266 '(long-text self-alignment-X self-alignment-Y text))
269 'tab-note-head-interface
270 "A note head in tablature."
271 '(details display-cautionary span-start))
274 'trill-spanner-interface
279 'trill-pitch-accidental-interface
280 "An accidental for trill pitch."
284 'unbreakable-spanner-interface
285 "A spanner that should not be broken across line breaks. Override
286 with @code{breakable=##t}."