X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=223cdafcf62f88a1a840401916883936b81bc793;hb=768fea9a27b9ff848f24267af8cd5ab4f3b73ae2;hp=8be7c3e0983d0e0de742e37b8a3bb75062013b41;hpb=9d9e2e5637e06d98245c3395b58207ec173e7e7d;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index 8be7c3e098..223cdafcf6 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,11 +1,27 @@ -;;;; interface-description.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--2007 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2011 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? @@ -15,6 +31,11 @@ note)." '()) +(ly:add-interface + 'ambitus-interface + "The line between note heads for a pitch range." + '(gap note-heads thickness)) + (ly:add-interface 'bass-figure-interface "A bass figure text." @@ -40,29 +61,57 @@ 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." + '(footnote-text)) + +(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 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)) + "A fret diagram" + '(align-dir fret-diagram-details size dot-placement-list + thickness)) + +(ly:add-interface + 'glissando-interface + "A glissando." + '()) (ly:add-interface 'grace-spacing-interface "Keep track of durations in a run of grace notes." '(columns common-shortest-duration)) +(ly:add-interface + 'instrument-specific-markup-interface + "Instrument-specific markup (like fret boards or harp pedal diagrams)." + '(fret-diagram-details graphical harp-pedal-details size thickness)) + (ly:add-interface 'key-cancellation-interface "A key cancellation." @@ -106,7 +155,7 @@ thickness)) (ly:add-interface 'note-name-interface "Note names." - '(style)) + '()) (ly:add-interface 'only-prebreak-interface @@ -118,6 +167,11 @@ thickness)) "Parentheses for other objects." '(padding stencils)) +(ly:add-interface + 'percent-repeat-interface + "Beat, Double and single measure repeats." + '(dot-negative-kern slash-negative-kern slope thickness)) + (ly:add-interface 'piano-pedal-interface "A piano pedal sign." @@ -159,11 +213,15 @@ interesting enough to maintain a hara-kiri staff." "A right hand finger instruction." '(digit-names)) -;;; todo: this is not typesetting info. Move to interpretation. (ly:add-interface - 'tablature-interface - "An interface for any notes set in a tablature staff." - '()) + 'system-start-text-interface + "Text in front of the system." + '(long-text self-alignment-X self-alignment-Y text)) + +(ly:add-interface + 'tab-note-head-interface + "A note head in tablature." + '(details display-cautionary span-start)) (ly:add-interface 'trill-spanner-interface @@ -182,7 +240,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." '())