Index: scm/define-grob-interfaces.scm |
diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm |
index 5ce96901678af7dd69a26ecbc990aeb8daa09d58..8d9c457037538c4bddd95e8d44ecaad4ee1c6105 100644 |
--- a/scm/define-grob-interfaces.scm |
+++ b/scm/define-grob-interfaces.scm |
@@ -37,6 +37,50 @@ note)." |
'(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." |
'(implicit)) |
@@ -213,6 +257,14 @@ interesting enough to maintain a hara-kiri staff." |
'(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." |
'()) |