X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=8d9c457037538c4bddd95e8d44ecaad4ee1c6105;hb=5b1f3adfe5e3561eaa0f9440e0697054084b7107;hp=87aa26a212fa289c13f36551de32fbe9beeaa7f7;hpb=388b4b395956457f6a89232622e1250f4cd7836a;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index 87aa26a212..8d9c457037 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -36,6 +36,50 @@ 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. +Options are @code{|}, @code{:|}, @code{|:}, @code{:|:}, @code{:|.|:}, +@code{:|.:}, @code{.}, @code{||}, @code{|.}, @code{.|}, @code{.|.}, +@code{|.|}, @code{:}, @code{dashed}, @code{'} and @code{S}. + +These produce, respectively, a normal bar line, a right repeat, a left repeat, +a thick double repeat, a thin-thick-thin double repeat, +a thin-thick double repeat, a thick bar, a double bar, a start bar, +an end bar, a thick double bar, a thin-thick-thin bar, +a dotted bar, a dashed bar, a tick as bar line and a segno bar. + +In addition, there is an option +@code{||:} which is equivalent to @code{|:} except at line +breaks, where it produces a double bar (@code{||}) at the +end of the line and a repeat sign (@code{|:}) at the +beginning of the new line. + +For segno, @code{S} produces a segno sign except at line breaks, +where it produces a double bar (@code{||}) at the +end of the line and a segno sign at the beginning of the new line. +@code{|S} is equivalent to @code{S} but produces a simple bar line +(@code{|}) instead of a double bar line (@code{||}) at line breaks. +@code{S|} produces the segno sign at line breaks and starts the following +line without special bar lines. + +@code{S|:} and @code{:|S} are used for repeat/segno combinations that are +separated at line breaks. Alternatively, @code{.S|:} and @code{:|S.} +may be used which combine repeat signs and segno at the same line in +case of a line break. @code{:|S|:} is a combination of a left repeat +(@code{:|}), a segno (@code{S}) and a right repeat @code{|:} which +splits before the segno at line breaks; @code{:|S.|:} splits after +the segno sign. + +If @var{bartype} is set to @code{empty} then nothing is +printed, but a line break is allowed at that spot. + +@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 thin-kern thick-thickness)) + (ly:add-interface 'bass-figure-interface "A bass figure text." @@ -81,6 +125,19 @@ note)." "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" @@ -90,13 +147,19 @@ note)." (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)." @@ -107,6 +170,11 @@ note)." "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." @@ -188,6 +256,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."