]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/interface-description.scm
release: 1.5.43
[lilypond.git] / scm / interface-description.scm
index 3dd45314c4dfaeda191ab9fa38c49de180800e5e..3e765fa1ea61793470765da10a508191ccd593ac 100644 (file)
@@ -6,7 +6,7 @@
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 
-                                       ; should include default value?
+; should include default value?
 
 
 ;;; FIXME: naming.
@@ -15,6 +15,9 @@
 ;;; and `objects'.
 
 
+;;; TODO: this should be done through C++ macros, in order to have
+;;; tighter coupling between the C++ and its doco.
+
 (define all-interfaces '())
 
 (define (lily-interface symbol description props)
        )
   )
 
-(define (grob-description name . interfaces)
-  (let* ((ifs (cons general-grob-interface interfaces))
+(define (grob-description . interfaces)
+  (let* ((ifs (cons grob-interface interfaces))
         (props (map caddr ifs))
                                        ;        (prop-typep-pairs (map (lambda (x) (cons (car x) (cadr x)))
                                        ;                                       (apply append props)))
         (syms (map car ifs))
         )
     (list (cons 'separator "\n\n\n")   ;easy printing.
-         (cons 'name name)
          (cons 'interfaces syms)
          (cons 'interface-descriptions ifs)
                                        ; (cons 'interface-descriptions (cadr merged))
@@ -42,7 +44,7 @@
 
 
 (lily-interface
- 'general-grob-interface
+ 'grob-interface
  "All grobs support this"
  '(
    X-offset-callbacks 
 #'thickness= weight of beams, in staffspace
   "
  '(auto-knee-gap
-   staff-position
-   height
-   flag-width-function 
-   damping 
-   neutral-direction 
-   thickness 
-   space-function 
    beamed-stem-shorten 
-   height-quants 
-   vertical-position-quant-function 
    damping 
+   flag-width-function 
+   neutral-direction 
    outer-stem-length-limit 
+   positions
    slope-limit 
-   auto-knee-gap
+   thickness 
    )
  )
 
+(lily-interface
+ 'staff-spacing-interface
+ ""
+ '(
+   ))
+
+(lily-interface
+ 'note-spacing-interface
+ ""
+ '(
+   ))
 
 (lily-interface
  'clef-interface
  'note-column-interface
  "Stem and noteheads combined"
  '(
+   note-heads
    horizontal-shift 
    force-hshift 
    ))
 #'direction = where to put the victim object (left or right?)
 "
  '(
-   side-support 
+   side-support-elements 
    direction-source 
    direction 
    side-relative-direction 
 (lily-interface
  'accidentals-interface
  "Accidentals"
- '(
+ '(accidentals
    left-padding 
-   right-padding 
+   right-padding
+   paren-cautionaries
+   cautionary-size
    ))
 
 
@@ -215,7 +225,7 @@ object."
 (lily-interface
  'note-head-interface
  "Note head"
- '( style stem-attachment-function note-character ))
+ '( style stem-attachment-function ))
 
 
 (lily-interface
@@ -251,6 +261,7 @@ object."
    tuplet-bracket-visibility 
    tuplet-number-visibility 
    thick 
+   direction
    ))
 
 
@@ -281,7 +292,8 @@ object."
  'break-aligned-interface
  "Items that are aligned in prefatory matter"
  '(
-   break-align-symbol 
+   break-align-symbol
+   space-alist
    visibility-lambda 
    breakable 
    ))
@@ -374,7 +386,7 @@ padding -- horizontal padding. This is useful if a crescendo is set next to a te
 (lily-interface
  'arpeggio-interface
  "Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads."
- '(stems))
+ '(stems arpeggio-direction))
 
 
 
@@ -532,7 +544,11 @@ that helps show the length of a melissima (tied/slurred note)."
    'lyric-syllable-interface
    "a single piece of lyrics"
    '(
-    word-space  
+    word-space
+    alignment
+    ignore-length-mismatch
+    begin-alignment
+    end-alignment
     ))
 
 
@@ -565,12 +581,30 @@ dir-list shortest-playing-duration shortest-starter-duration
 contains-grace extra-space stretch-distance ))
 
 
+  (lily-interface
+   'piano-pedal-interface
+   ""
+   '(pedal-type
+     edge-width
+     edge-height
+     shorten-pair
+     left-widen
+     right-widen
+    ))
+
+
+  (lily-interface
+   'porrectus-interface
+   "A porrectus ligature, joining two note heads into a single grob."
+   '(
+    ))
+
 
   (lily-interface
    'spaceable-element-interface
    "An grob (generally a Paper_column) that takes part in the
 spacing problem. "
-   '(
+   '(penalty 
      minimum-distances 
      ideal-distances  
      dir-list 
@@ -648,9 +682,8 @@ arithmetic_basicspace = 4.;
 
 @end example"
    '(
-  maximum-duration-for-spacing 
-    arithmetic-basicspace 
-    arithmetic-multiplier 
+spacing-increment
+shortest-duration-space
     
     ))
 
@@ -682,7 +715,7 @@ position 0."
   (lily-interface
    'stem-tremolo-interface
    ""
-   '( stem beam-width beam-thickness beam-space-function 
+   '( stem beam-width beam-thickness
     ))
 
 
@@ -699,12 +732,6 @@ since these usually are in a different X_group
      ))
 
 
-  (lily-interface
-   'sustain-pedal-interface
-   ""
-   '(
-    ))
-
   (lily-interface
    'system-start-delimiter-interface
    "#'style can be bar-line, bracket or brace"
@@ -721,7 +748,9 @@ since these usually are in a different X_group
     dash-length 
     line-thickness 
     edge-height 
+    edge-width
     edge-text 
+    shorten-pair
     type 
 ))