/usr/share/lilypond/2.16.2/scm/define-grob-interfaces.scm is in lilypond-data 2.16.2-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | ;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
;;;; the Free Software Foundation, either version 3 of the License, or
;;;; (at your option) any later version.
;;;;
;;;; LilyPond is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;;; GNU General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
;; The interfaces defined here generally have no code (e.g.,
;; dynamic-interface), or have callbacks defined entirely in
;; scheme. Others interfaces are defined in lily/*.cc with the
;; ADD_INTERFACE function.
;; should include default value?
(ly:add-interface
'accidental-suggestion-interface
"An accidental, printed as a suggestion (typically: vertically over a
note)."
'())
(ly:add-interface
'ambitus-interface
"The line between note heads for a pitch range."
'(gap note-heads thickness))
(ly:add-interface
'bar-line-interface
"Print a special bar symbol. It replaces the regular bar
symbol with a special symbol. The argument @var{bartype}
is a string which specifies the kind of bar line to print.
Options are @code{|}, @code{:|}, @code{|:}, @code{:|:}, @code{:|.|:},
@code{:|.:}, @code{.}, @code{||}, @code{|.}, @code{.|}, @code{.|.},
@code{|.|}, @code{:}, @code{dashed}, @code{'} and @code{S}.
These produce, respectively, a normal bar line, a right repeat, a left repeat,
a thick double repeat, a thin-thick-thin double repeat,
a thin-thick double repeat, a thick bar, a double bar, a start bar,
an end bar, a thick double bar, a thin-thick-thin bar,
a dotted bar, a dashed bar, a tick as bar line and a segno bar.
In addition, there is an option
@code{||:} which is equivalent to @code{|:} except at line
breaks, where it produces a double bar (@code{||}) at the
end of the line and a repeat sign (@code{|:}) at the
beginning of the new line.
For segno, @code{S} produces a segno sign except at line breaks,
where it produces a double bar (@code{||}) at the
end of the line and a segno sign at the beginning of the new line.
@code{|S} is equivalent to @code{S} but produces a simple bar line
(@code{|}) instead of a double bar line (@code{||}) at line breaks.
@code{S|} produces the segno sign at line breaks and starts the following
line without special bar lines.
@code{S|:} and @code{:|S} are used for repeat/segno combinations that are
separated at line breaks. Alternatively, @code{.S|:} and @code{:|S.}
may be used which combine repeat signs and segno at the same line in
case of a line break. @code{:|S|:} is a combination of a left repeat
(@code{:|}), a segno (@code{S}) and a right repeat @code{|:} which
splits before the segno at line breaks; @code{:|S.|:} splits after
the segno sign.
If @var{bartype} is set to @code{empty} then nothing is
printed, but a line break is allowed at that spot.
@code{gap} is used for the gaps in dashed bar lines."
'(allow-span-bar bar-extent gap glyph glyph-name has-span-bar
hair-thickness kern thin-kern thick-thickness))
(ly:add-interface
'bass-figure-interface
"A bass figure text."
'(implicit))
(ly:add-interface
'bass-figure-alignment-interface
"Align a bass figure."
'())
(ly:add-interface
'bend-after-interface
"A doit or drop."
'(thickness delta-position))
(ly:add-interface
'dynamic-interface
"Any kind of loudness sign."
'())
(ly:add-interface
'dynamic-line-spanner-interface
"Dynamic line spanner."
'(avoid-slur))
(ly:add-interface
'dynamic-text-interface
"An absolute text dynamic."
'(right-padding))
(ly:add-interface
'dynamic-text-spanner-interface
"Dynamic text spanner."
'(text))
(ly:add-interface
'episema-interface
"An episema line."
'())
(ly:add-interface
'finger-interface
"A fingering instruction."
'())
(ly:add-interface
'footnote-interface
"Make a footnote."
'(automatically-numbered
footnote
footnote-text
numbering-assertion-function))
(ly:add-interface
'footnote-spanner-interface
"Make a footnote spanner."
'(footnote-text spanner-placement))
(ly:add-interface
'fret-diagram-interface
"A fret diagram"
'(align-dir fret-diagram-details size dot-placement-list
thickness))
(ly:add-interface
'glissando-interface
"A glissando."
'(glissando-index))
(ly:add-interface
'grace-spacing-interface
"Keep track of durations in a run of grace notes."
'(columns common-shortest-duration))
(ly:add-interface
'inline-accidental-interface
"An inlined accidental (i.e. normal accidentals, cautionary
accidentals)."
'())
(ly:add-interface
'instrument-specific-markup-interface
"Instrument-specific markup (like fret boards or harp pedal diagrams)."
'(fret-diagram-details graphical harp-pedal-details size thickness))
(ly:add-interface
'key-cancellation-interface
"A key cancellation."
'())
(ly:add-interface
'ligature-head-interface
"A note head that can become part of a ligature."
'())
(ly:add-interface
'ligature-bracket-interface
"A bracket indicating a ligature in the original edition."
'(width thickness height))
(ly:add-interface
'ligature-interface
"A ligature."
'())
(ly:add-interface
'lyric-interface
"Any object that is related to lyrics."
'())
(ly:add-interface
'lyric-syllable-interface
"A single piece of lyrics."
'())
(ly:add-interface
'mark-interface
"A rehearsal mark."
'())
(ly:add-interface
'metronome-mark-interface
"A metronome mark."
'())
(ly:add-interface
'multi-measure-interface
"Multi measure rest, and the text or number that is printed over it."
'(bound-padding))
(ly:add-interface
'note-name-interface
"Note names."
'())
(ly:add-interface
'only-prebreak-interface
"Kill this grob after the line breaking process."
'())
(ly:add-interface
'parentheses-interface
"Parentheses for other objects."
'(padding stencils))
(ly:add-interface
'percent-repeat-interface
"Beat, Double and single measure repeats."
'(dot-negative-kern slash-negative-kern slope thickness))
(ly:add-interface
'piano-pedal-interface
"A piano pedal sign."
'())
(ly:add-interface
'piano-pedal-script-interface
"A piano pedal sign, fixed size."
'())
(ly:add-interface
'pitched-trill-interface
"A note head to indicate trill pitches."
'(accidental-grob))
(ly:add-interface
'rhythmic-grob-interface
"Any object with a duration. Used to determine which grobs are
interesting enough to maintain a hara-kiri staff."
'())
(ly:add-interface
'spacing-options-interface
"Supports setting of spacing variables."
'(spacing-increment shortest-duration-space))
(ly:add-interface
'span-bar-interface
"A bar line that is spanned between other barlines.
This interface is used for bar lines that connect different
staves."
'(glyph-name elements pure-Y-common pure-relevant-grobs
pure-relevant-items pure-relevant-spanners))
(ly:add-interface
'stanza-number-interface
"A stanza number, to be put in from of a lyrics line."
'())
(ly:add-interface
'string-number-interface
"A string number instruction."
'())
(ly:add-interface
'stroke-finger-interface
"A right hand finger instruction."
'(digit-names))
(ly:add-interface
'system-start-text-interface
"Text in front of the system."
'(long-text self-alignment-X self-alignment-Y text))
(ly:add-interface
'tab-note-head-interface
"A note head in tablature."
'(details display-cautionary span-start))
(ly:add-interface
'trill-spanner-interface
"A trill spanner."
'())
(ly:add-interface
'trill-pitch-accidental-interface
"An accidental for trill pitch."
'())
(ly:add-interface
'unbreakable-spanner-interface
"A spanner that should not be broken across line breaks. Override
with @code{breakable=##t}."
'(breakable))
(ly:add-interface
'volta-interface
"A volta repeat."
'())
|