]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/interface.scm
release: 1.3.116
[lilypond.git] / scm / interface.scm
index b1728e747919d091cf720f7e84ea518a937608d0..565ef7d9594f4958aea80c2c38d21bf97a71c534 100644 (file)
@@ -17,8 +17,8 @@
   )
 
 
-(define (element-description name . interfaces)
-  (let* ((ifs (cons general-element-interface interfaces))
+(define (grob-description name . interfaces)
+  (let* ((ifs (cons general-grob-interface interfaces))
         (props (map caddr ifs))
 ;       (prop-typep-pairs (map (lambda (x) (cons (car x) (cadr x)))
 ;                                      (apply append props)))
          (cons 'interfaces syms)
          (cons 'interface-descriptions ifs)
          ; (cons 'interface-descriptions (cadr merged))
-         ;; description of the element itself?
+         ;; description of the grob itself?
 ;        (cons 'properties prop-typep-pairs)
   )))
 
-(define general-element-interface
+(define general-grob-interface
   (lily-interface
-   'general-element-interface
-   "All elements support this"
+   'general-grob-interface
+   "All grobs support this"
    '(
     X-offset-callbacks 
     Y-offset-callbacks 
@@ -94,7 +94,7 @@
 (define axis-group-interface
   (lily-interface
    'axis-group-interface
-   "a group of coupled elements"
+   "a group of coupled grobs"
    '(
     axes 
    )))
 (define line-of-score-interface
   (lily-interface
    'line-of-score-interface
-   "Super element, parent of all:
+   "Super grob, parent of all:
 
-The columns of a score that form one line.  The toplevel element.  Any
-element has a Line_of_score as both X and Y reference point. The
-Paper_score contains one element of this type. Control enters the
+The columns of a score that form one line.  The toplevel grob.  Any
+grob has a Line_of_score as both X and Y reference point. The
+Paper_score contains one grob of this type. Control enters the
 Grob dependency calculation from this single Line_of_score
 object."
    '(
@@ -260,7 +260,7 @@ object."
 (define align-interface
   (lily-interface
    'align-interface
-   " Order elements top to bottom/left to right/right to left etc."
+   " Order grobs top to bottom/left to right/right to left etc."
    '(
     stacking-dir  
     align-dir  
@@ -305,13 +305,46 @@ object."
 (define bar-line-interface
   (lily-interface
    'bar-line-interface
-   "Bar line"
+   "Bar line.
+
+This is a request to 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 to print.  Options are @code{\":|\"}
+@cindex \"|A@@@code{:|}
+,
+@code{\"|:\"}
+@cindex \"|B@@@code{|:}
+, @code{\":|:\"}
+@cindex \"|C@@@code{:|:}
+,
+@code{\"||\"}
+@cindex \"|D@@@code{||}
+, @code{\"|.\"}
+@cindex \"|E@@@code{|.}
+,
+@code{\".|\"}
+@cindex \"|F@@@code{.|}
+, and @code{\".|.\"}
+@cindex \"|G@@@code{.|.}
+. 
+
+These produce, respectively, a right repeat, a left repeat, a double
+repeat, a double bar, a start bar, an end bar, and a thick double bar.
+If @var{bartype} is set to @code{\"empty\"} then nothing is printed,
+but a line break is allowed at that spot.
+
+"
    '( barsize-procedure kern thin-kern hair-thickness thick-thickness glyph bar-size break-glyph-function )))
 
 (define hairpin-interface
   (lily-interface
    'hairpin-interface
-   "hairpin crescendo"
+   "hairpin crescendo.
+
+padding -- horizontal padding. This is useful if a crescendo is set next to a text like `mf'
+
+"
    '( grow-direction thickness height padding )
    ))
 
@@ -407,7 +440,7 @@ font-point-size font-relative-size)
 (define separation-spanner-interface
   (lily-interface
    'separation-spanner-interface
-   "Spanner that containing @code{separation-item-interface} elements to calculate rods"
+   "Spanner that containing @code{separation-item-interface} grobs to calculate rods"
    '()
   ))
 (define text-script-interface
@@ -433,11 +466,17 @@ font-point-size font-relative-size)
   we don't contain any interesting items after linebreaking, then
   gracefully commit suicide.  Objective: don't disgrace Lily by
   typesetting empty lines in orchestral scores."
-   '(
-    items-worth-living 
+   '( items-worth-living )
+))
 
+(define line-spanner-interface
+  (lily-interface
+   'line-spanner-interface
+   "Generic line drawn between two objects, eg. for use with glissandi.
+gap is measured in staff-spaces.   "
 
-    )))
+   '(gap dash-period dash-length line-thickness type )
+   ))
 
 (define lyric-hyphen-interface
   (lily-interface
@@ -445,14 +484,9 @@ font-point-size font-relative-size)
    "A centred hyphen is a simple line between lyrics used to divide
 syllables.   The length of the hyphen line should stretch based on the
   size of the gap between syllables."
-   '(
-    
-    thickness 
-    height 
 
-    minimum-length 
-    word-space 
-    )))
+   '( thickness height minimum-length word-space )
+   ))
 
 (define key-signature-interface
   (lily-interface
@@ -496,39 +530,31 @@ syllables.   The length of the hyphen line should stretch based on the
   (lily-interface
    'multi-measure-rest-interface
    "A rest that spans a whole number of measures.  For typesetting the
-numbers, fields from font-interface may be used. 
+numbers, fields from font-interface may be used.
+
+padding is the space between number and rest. Measured in staffspace.
 "
-   '(
-    
-    columns  
-    expand-limit  
-    minimum-width 
-    padding  
-    )))
+   '(    columns expand-limit minimum-width padding )
+
+   ))
 
 (define paper-column-interface
   (lily-interface
    'paper-column-interface
    ""
-   '(
-    column-space-strength 
-    before-musical-spacing-factor 
-    stem-spacing-correction 
-    before-grace-spacing-factor 
-    when 
-    bounded-by-me 
-    dir-list  
-    shortest-playing-duration  
-    shortest-starter-duration  
-    contains-grace  
-    extra-space  
-    stretch-distance 
-    )))
+
+   '(column-space-strength before-musical-spacing-factor
+stem-spacing-correction before-grace-spacing-factor when bounded-by-me
+dir-list shortest-playing-duration shortest-starter-duration
+contains-grace extra-space stretch-distance ))
+
+  )
 
 (define spaceable-element-interface
   (lily-interface
    'spaceable-element-interface
-   "An element (generally a Paper_column) that takes part in the
+   "An grob (generally a Paper_column) that takes part in the
 spacing problem. "
    '(
      minimum-distances 
@@ -641,7 +667,7 @@ position 0."
    "Item that computes widths to generate spacing rods.
 
 Calc dimensions for the Separating_group_spanner; this has to be
-   an item to get dependencies correct.  It can't be an element_group
+   an item to get dependencies correct.  It can't be an grob_group
    since these usually are in a different X_group
 "
    '(