X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=898e220d6913a7bca16218f670c3d8269d59e570;hb=75eebcb49e52d296b1da3e1074e0825d2c780db4;hp=dbc2cf4ed88bdac0efccdd1b29bf1c2e043512c7;hpb=b9c7ee617ca458cd8494f96175acea8b1a5bbddf;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index dbc2cf4ed8..898e220d69 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,108 +1,125 @@ ;;;; 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? - -(ly:add-interface -'note-name-interface - "Note name" - '(style)) +;; should include default value? (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) - ) + 'accidental-suggestion-interface + "An accidental, printed as a suggestion (typically: vertically over a note)" + '()) (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 + '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" - '() - ) + '()) (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" - '( - )) + '()) (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." + '()) + +(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 + '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." - '() - ) -;;; todo: this is not typesetting info. Move to interpretation. + '()) + (ly:add-interface - 'tablature-interface - "tablature notes" + 'stanza-number-interface + "A stanza number, to be put in from of a lyrics line" '()) +(ly:add-interface + 'bass-figure-interface + "A bass figure text" + '(implicit)) +;;; todo: this is not typesetting info. Move to interpretation. +(ly:add-interface + 'tablature-interface + "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." + '())