]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-interfaces.scm
Merge branch 'translation' into staging
[lilypond.git] / scm / define-grob-interfaces.scm
index d5f5d36fcd822eb24591f0d19b8b9e109380e09b..bb6197463b492192cffce1dea25a14702bd62c50 100644 (file)
@@ -1,10 +1,26 @@
-;;;; interface-description.scm -- part of generated backend documentation
+;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;;  source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 1998--2007  Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; 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?
 
 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.
+
+The list of allowed glyphs and predefined bar lines can be
+found in @file{scm/bar-line.scm}.
+
+@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 rounded thin-kern thick-thickness))
+
 (ly:add-interface
  'bass-figure-interface
  "A bass figure text."
@@ -40,32 +74,76 @@ note)."
  "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 string-fret-finger-combinations
+ '(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."
@@ -104,7 +182,15 @@ note)."
 (ly:add-interface
  'note-name-interface
  "Note names."
- '(style))
+ '())
+
+(ly:add-interface
+ 'octavate-eight-interface
+  "Interface that permits the nominal identification of the octavian
+annotation that multiplies by two the freqency of the pitches present
+in a given staff were they played on a clef that lacked said octavian
+annotation."
+  '())
 
 (ly:add-interface
  'only-prebreak-interface
@@ -119,7 +205,7 @@ note)."
 (ly:add-interface
  'percent-repeat-interface
  "Beat, Double and single measure repeats."
- '(slope thickness))
+ '(dot-negative-kern slash-negative-kern slope thickness))
 
 (ly:add-interface
  'piano-pedal-interface
@@ -147,6 +233,14 @@ interesting enough to maintain a hara-kiri staff."
  "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."
@@ -162,11 +256,15 @@ interesting enough to maintain a hara-kiri staff."
  "A right hand finger instruction."
  '(digit-names))
 
-;;; todo: this is not typesetting info. Move to interpretation.
 (ly:add-interface
- 'tablature-interface
- "An interface for any notes set in a tablature staff."
- '())
+ '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
@@ -185,7 +283,6 @@ with @code{breakable=##t}."
  '(breakable))
 
 (ly:add-interface
- 'vertically-spaceable-interface
- "Objects that should be kept at constant vertical distances.  Typically:
-@rinternals{VerticalAxisGroup} objects of @rinternals{Staff} contexts."
+ 'volta-interface
+ "A volta repeat."
  '())