X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=6ab1b55cce9efdbaa82182e06b518ba8369a1b64;hb=cc676c5aadd45985251b5d60fa23eed1ed98f6e6;hp=9012a85e4534bca78d8fa6537500c511d7d5b6aa;hpb=970e4236feae452eb817c8f85564be35a8bd650e;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index 9012a85e45..6ab1b55cce 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,52 +1,82 @@ ;;;; interface-description.scm -- part of generated backend documentation ;;;; ;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 1998--2003 Han-Wen Nienhuys +;;;; +;;;; (c) 1998--2006 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen -; should include default value? +;; should include default value? (ly:add-interface - 'cluster-beacon-interface + 'accidental-suggestion-interface + "An accidental, printed as a suggestion (typically: vertically over a note)" + '()) + - "A place holder for the cluster spanner to determine the vertical -extents of a cluster spanner at this X position. +(ly:add-interface + 'bass-figure-interface + "A bass figure text" + '(implicit)) - " - '(positions) - ) +(ly:add-interface + 'bend-after-interface + "A doit or drop." + '(thickness delta-position)) + +(ly:add-interface + 'bass-figure-alignment-interface + "" + '()) (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 'finger-interface "A fingering 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 + 'grace-spacing-interface + "Keep track of durations in a run of grace notes." + '(columns common-shortest-duration)) (ly:add-interface 'ligature-interface "A ligature" - '() - ) + '()) (ly:add-interface 'ligature-bracket-interface "A bracket indicating a ligature in the original edition" - '(width thickness height ligature-primitive-callback)) + '(width thickness height)) + (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" @@ -55,8 +85,12 @@ extents of a cluster spanner at this X position. (ly:add-interface 'metronome-mark-interface "a rehearsal 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 @@ -66,64 +100,58 @@ extents of a cluster spanner at this X position. (ly:add-interface 'only-prebreak-interface "Kill this grob after the line breaking process." - '() ) + '()) + +(ly:add-interface + 'parentheses-interface + "Parentheses for other objects" + '(padding)) (ly:add-interface 'piano-pedal-interface "A piano pedal sign" '()) +(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 rhythmic basis. Used to determine which grobs + "Any object with a rhythmic basis. 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 '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 + 'system-start-text-interface + "A text at the beginning of a system." + '(text long-text collapse-height style)) ;;; 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" '()) - -;; 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 -" +(ly:add-interface + 'vertically-spaceable-interface + "Objects that should be kept at constant vertical distances. Typically: +@internalsref{VerticalAxisGroup} objects of @internalsref{Staff} contexts." + '())