X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=d34f026497a01119ebc17b0a08dfc04f3048086d;hb=2b87d4d5f8976b4b06f5d475067c2c2fe538f858;hp=ed67734afc397256174a71b1c76fc5a85c2ea1d5;hpb=951df2e08029fda8c3636d786a7f46587d4603f4;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index ed67734afc..d34f026497 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,11 +1,27 @@ -;;;; define-grob-interfaces.scm -- part of generated backend documentation +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 1998--2009 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . +;; The interfaces defined here generally have no code (e.g., +;; dynamic-interface), or have callbacks defined entirely in +;; scheme. Others interfaces are defined in lily/*.cc with the +;; ADD_INTERFACE function. + ;; should include default value? @@ -20,6 +36,19 @@ note)." "The line between note heads for a pitch range." '(gap note-heads thickness)) +(ly:add-interface + 'bar-line-interface + "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 line to print. + +The list of allowed glyphs and predefined bar lines can be +found in @file{scm/bar-line.scm}. + +@code{gap} is used for the gaps in dashed bar lines." + '(allow-span-bar bar-extent gap glyph glyph-name has-span-bar + hair-thickness kern rounded thin-kern thick-thickness)) + (ly:add-interface 'bass-figure-interface "A bass figure text." @@ -35,6 +64,13 @@ note)." "A doit or drop." '(thickness delta-position)) +(ly:add-interface + 'clef-modifier-interface + "The number describing transposition of the clef, placed below +or above clef sign. Usually this is 8 (octave transposition) +or 15 (two octaves), but LilyPond allows any integer here." + '()) + (ly:add-interface 'dynamic-interface "Any kind of loudness sign." @@ -45,37 +81,76 @@ note)." "Dynamic line spanner." '(avoid-slur)) +(ly:add-interface + 'dynamic-text-interface + "An absolute text dynamic." + '(right-padding)) + (ly:add-interface 'dynamic-text-spanner-interface "Dynamic text spanner." '(text)) +(ly:add-interface + 'episema-interface + "An episema line." + '()) + (ly:add-interface 'finger-interface "A fingering instruction." '()) +(ly:add-interface + 'footnote-interface + "Make a footnote." + '(automatically-numbered + footnote + footnote-text + numbering-assertion-function)) + +(ly:add-interface + 'footnote-spanner-interface + "Make a footnote spanner." + '(footnote-text spanner-placement)) + (ly:add-interface 'fret-diagram-interface "A fret diagram" '(align-dir fret-diagram-details size dot-placement-list thickness)) +(ly:add-interface + 'glissando-interface + "A glissando." + '(glissando-index)) + (ly:add-interface 'grace-spacing-interface "Keep track of durations in a run of grace notes." '(columns common-shortest-duration)) +(ly:add-interface + 'inline-accidental-interface + "An inlined accidental (i.e. normal accidentals, cautionary +accidentals)." + '()) + (ly:add-interface 'instrument-specific-markup-interface "Instrument-specific markup (like fret boards or harp pedal diagrams)." - '(fret-diagram-details harp-pedal-details size thickness)) + '(fret-diagram-details graphical harp-pedal-details size thickness)) (ly:add-interface 'key-cancellation-interface "A key cancellation." '()) +(ly:add-interface + 'ligature-head-interface + "A note head that can become part of a ligature." + '()) + (ly:add-interface 'ligature-bracket-interface "A bracket indicating a ligature in the original edition." @@ -101,6 +176,11 @@ note)." "A rehearsal mark." '()) +(ly:add-interface + 'measure-counter-interface + "A counter for numbering measures." + '(columns count-from)) + (ly:add-interface 'metronome-mark-interface "A metronome mark." @@ -157,6 +237,14 @@ interesting enough to maintain a hara-kiri staff." "Supports setting of spacing variables." '(spacing-increment shortest-duration-space)) +(ly:add-interface + 'span-bar-interface + "A bar line that is spanned between other barlines. + This interface is used for bar lines that connect different + staves." + '(glyph-name elements pure-Y-common pure-relevant-grobs + pure-relevant-items pure-relevant-spanners)) + (ly:add-interface 'stanza-number-interface "A stanza number, to be put in from of a lyrics line." @@ -180,7 +268,7 @@ interesting enough to maintain a hara-kiri staff." (ly:add-interface 'tab-note-head-interface "A note head in tablature." - '(details)) + '(details display-cautionary span-start)) (ly:add-interface 'trill-spanner-interface @@ -199,7 +287,6 @@ with @code{breakable=##t}." '(breakable)) (ly:add-interface - 'vertically-spaceable-interface - "Objects that should be kept at constant vertical distances. Typically: -@rinternals{VerticalAxisGroup} objects of @rinternals{Staff} contexts." + 'volta-interface + "A volta repeat." '())