X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=a6dfb3a63d6725a8df66b1a18ba582e039481cfa;hb=0fb89dc025cb8008876ce41cd5ff2c571cf6a242;hp=9012a85e4534bca78d8fa6537500c511d7d5b6aa;hpb=970e4236feae452eb817c8f85564be35a8bd650e;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index 9012a85e45..a6dfb3a63d 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,129 +1,193 @@ ;;;; interface-description.scm -- part of generated backend documentation ;;;; ;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 1998--2003 Han-Wen Nienhuys +;;;; +;;;; (c) 1998--2007 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen -; should include default value? +;; should include default value? + +(ly:add-interface + 'accidental-suggestion-interface + "An accidental, printed as a suggestion (typically: vertically over a +note)." + '()) (ly:add-interface - 'cluster-beacon-interface + 'bass-figure-interface + "A bass figure text." + '(implicit)) - "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-alignment-interface + "Align a bass figure." + '()) - " - '(positions) - ) +(ly:add-interface + 'bend-after-interface + "A doit or drop." + '(thickness delta-position)) (ly:add-interface 'dynamic-interface - "Any kind of loudness sign" - '() - ) + "Any kind of loudness sign." + '()) + +(ly:add-interface + 'dynamic-line-spanner-interface + "Dynamic line spanner." + '(avoid-slur)) + +(ly:add-interface + 'dynamic-text-spanner-interface + "Dynamic text spanner." + '(text)) (ly:add-interface 'finger-interface - "A fingering instruction" - '() - ) + "A fingering instruction." + '()) (ly:add-interface - 'ligature-interface - "A ligature" - '() - ) + '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 xo-font-magnification +mute-string open-string orientation string-fret-finger-combinations +thickness)) + +(ly:add-interface + 'grace-spacing-interface + "Keep track of durations in a run of grace notes." + '(columns common-shortest-duration)) + +(ly:add-interface + 'key-cancellation-interface + "A key cancellation." + '()) (ly:add-interface 'ligature-bracket-interface - "A bracket indicating a ligature in the original edition" - '(width thickness height ligature-primitive-callback)) + "A bracket indicating a ligature in the original edition." + '(width thickness height)) + +(ly:add-interface + 'ligature-interface + "A ligature." + '()) + +(ly:add-interface + 'lyric-interface + "Any object that is related to lyrics." + '()) (ly:add-interface 'lyric-syllable-interface - "a single piece of lyrics" + "A single piece of lyrics." '()) (ly:add-interface 'mark-interface - "a rehearsal mark" + "A rehearsal mark." '()) (ly:add-interface 'metronome-mark-interface - "a rehearsal mark" - '( - )) + "A metronome mark." + '()) (ly:add-interface -'note-name-interface - "Note name" + 'multi-measure-interface + "Multi measure rest, and the text or number that is printed over it." + '(bound-padding)) + +(ly:add-interface + 'note-name-interface + "Note names." '(style)) (ly:add-interface 'only-prebreak-interface "Kill this grob after the line breaking process." - '() ) + '()) + +(ly:add-interface + 'parentheses-interface + "Parentheses for other objects." + '(padding stencils)) (ly:add-interface 'piano-pedal-interface - "A piano pedal sign" + "A piano pedal sign." + '()) + +(ly:add-interface + 'piano-pedal-script-interface + "A piano pedal sign, fixed size." '()) +(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 -are interesting enough to maintain a hara-kiri staff." - '() - ) + "Any object with a duration. 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 + 'stroke-finger-interface + "A right hand finger instruction." + '(digit-names)) + +(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" - '()) - - -;; 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 -" + "An interface for any notes set in a tablature staff." + '()) + +(ly:add-interface + 'trill-spanner-interface + "A trill spanner." + '()) + +(ly:add-interface + 'trill-pitch-accidental-interface + "An accidental for trill pitch." + '()) + +(ly:add-interface + 'unbreakable-spanner-interface + "A spanner that should not be broken across line breaks. Override +with @code{breakable=##t}." + '(breakable)) + +(ly:add-interface + 'vertically-spaceable-interface + "Objects that should be kept at constant vertical distances. Typically: +@internalsref{VerticalAxisGroup} objects of @internalsref{Staff} contexts." + '())