]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-interfaces.scm
latest update for translations.
[lilypond.git] / scm / define-grob-interfaces.scm
index 0f116b84f1074bc1c59f5d2bf5a6a0d89b1dcd26..21dddeb6bc1161f219f5a8eb95e6e638ac7653ae 100644 (file)
@@ -2,27 +2,13 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2005  Han-Wen Nienhuys <hanwen@cs.uu.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 
 ; should include default value?
 
-(ly:add-interface
-'note-name-interface
- "Note name"
- '(style))
-
-
-(ly:add-interface
- 'cluster-beacon-interface
 
- "A place holder for the cluster spanner to determine the vertical
-extents of a cluster spanner at this X position.
-
- "
- '(positions)
- )
 
 (ly:add-interface
  'dynamic-interface
@@ -36,6 +22,19 @@ extents of a cluster spanner at this X position.
  '()
  )
 
+(ly:add-interface
+ 'string-number-interface
+ "A string number instruction"
+ '()
+ )
+
+(ly:add-interface
+ 'fret-diagram-interface
+ "A fret diagram"
+ '(align-dir barre-type dot-color dot-radius finger-code fret-count 
+  label-dir number-type size string-count thickness)
+)
+
 (ly:add-interface
  'ligature-interface
  "A ligature"
@@ -47,11 +46,20 @@ extents of a cluster spanner at this X position.
  "A bracket indicating a ligature in the original edition"
  '(width thickness height ligature-primitive-callback))
 
+(ly:add-interface
+ 'lyric-syllable-interface
+ "a single piece of lyrics"
+ '())
+
+(ly:add-interface
+ 'lyric-interface
+ "Any object that is related to lyrics."
+ '())
+
 (ly:add-interface
  'mark-interface
  "a rehearsal mark"
- '(
-   ))
+ '())
 
 (ly:add-interface
  'metronome-mark-interface
@@ -59,54 +67,51 @@ extents of a cluster spanner at this X position.
  '(
    ))
 
+
+(ly:add-interface
+ 'multi-measure-interface
+ "Multi measure rest, and the text or number that is printed over it."
+ '())
+
+
+(ly:add-interface
+'note-name-interface
+ "Note name"
+ '(style))
+
+(ly:add-interface
+ 'only-prebreak-interface
+ "Kill this grob after the line breaking process."
+ '())
+
+(ly:add-interface
+ 'piano-pedal-interface
+ "A piano pedal sign"
+ '())
+
+
 (ly:add-interface
  'rhythmic-grob-interface
  "Any object with a rhythmic basis. Used to determine which grobs 
 are interesting enough to maintain a hara-kiri staff."
  '()
  )
+
+(ly:add-interface
+ 'stanza-number-interface
+ "A stanza number, to be put in from of a lyrics line"
+ '()
+ )
+
 ;;; todo: this is not typesetting info. Move to interpretation.
 (ly:add-interface
  'tablature-interface
- "tablature notes"
+ "An interface for any notes set in a tablature staff"
  '())
 
+
 (ly:add-interface
- 'piano-pedal-interface
- "A piano pedal sign"
+ 'vertically-spaceable-interface 
+ "Objects that should be kept at constant vertical distances. Typically:
+@internalsref{VerticalAxisGroup} objects of @internalsref{Staff} contexts."
  '())
-
-
-;; todo: figure out where  to put this doco:
-
-"
-Grob properties form a name space where you can set variables per
-object.  Each object however, may have multiple functions. For
-example, consider a dynamic symbol, such @code{\ff} (fortissimo). It
-is printed above or below the staff, it is a dynamic sign, and it is a
-kind of text.
-
-To reflect this different functions of a grob, procedures and variables
-are grouped into so-called interfaces.  The dynamic text for example
-supports the  following interfaces:
-@table @code 
-@item font-interface
-  The glyph is built from characters from a font, hence the
-@code{font-interface}. For objects supporting @code{font-interface}, you
-can select alternate fonts by setting @code{font-style},
-@code{font-point-size}, etc.
-
-@item dynamic-interface
-  Dynamic interface is not associated with any variable or function in
-particular, but this makes it possible to distinguish this grob from
-other similar grobs (like @code{TextScript}), that have no meaning of
-dynamics.
-
-@item text-interface
-  This interface is for texts that are to be set using special routines
-to stack text into lines, using kerning, etc.
-
-@item general-grob-interface
-  This interface is supported by all grob types.
-@end table
-"