From f68e2f10ae550de746855411c9c160ddacb548fd Mon Sep 17 00:00:00 2001 From: "zuk (Jakob Krueger)" Date: Mon, 29 Dec 2025 18:06:00 +0100 Subject: [PATCH] implement default bridge style --- .../base/basic_format_and_style_settings.ily | 22 +++++++++++++++++++ private_includes/base/default_style.ily | 2 ++ 2 files changed, 24 insertions(+) diff --git a/private_includes/base/basic_format_and_style_settings.ily b/private_includes/base/basic_format_and_style_settings.ily index 37c64d4..957ac9e 100644 --- a/private_includes/base/basic_format_and_style_settings.ily +++ b/private_includes/base/basic_format_and_style_settings.ily @@ -29,6 +29,11 @@ (if (null? stanzanumbers) refString (ly:format refStringWithNumbers (string-join (map (lambda (stanzanumber) (ly:format "~a" stanzanumber)) stanzanumbers) ", "))))) + bridgeMarkupFormatter = #(lambda (layout props stanzanumbers) + (interpret-markup layout props + (if (null? stanzanumbers) + bridgeString + (ly:format bridgeStringWithNumbers (string-join (map (lambda (stanzanumber) (ly:format "~a" stanzanumber)) stanzanumbers) ", "))))) } generalLayout = \layout { @@ -176,6 +181,23 @@ ref = #} ) +bridge = +#(define-music-function (stanzanumbers lyrics) ((number-list? (list)) ly:music?) +#{ \lyricmode { + \once \override StanzaNumber.details.custom-realstanza = ##t % set this to signal that there is a real stanza and no repeat signs + \applyContext + #(lambda (context) + (handle-stanza-numbers context stanzanumbers + (lambda (numbers) + (make-on-the-fly-markup + (lambda (layout props m) + ((ly:output-def-lookup layout 'bridgeMarkupFormatter) layout props numbers)) + (make-null-markup))))) + #lyrics + } +#} +) + % prints a repStart Sign as stanza if the tag 'repeats is kept. % if there was a stanza already set by the stanza function with StanzaNumber.details.custom-realstanza = ##t we set that also as stanza. repStartWithTag = \lyricmode { diff --git a/private_includes/base/default_style.ily b/private_includes/base/default_style.ily index 7ed5ec9..417b0e0 100644 --- a/private_includes/base/default_style.ily +++ b/private_includes/base/default_style.ily @@ -18,6 +18,8 @@ lyricSize = 1.6 stanzaFormat = "~a." refString = "Ref.:" refStringWithNumbers = "Ref. ~a:" +bridgeString = "Bridge:" +bridgeStringWithNumbers = "Bridge ~a:" % hübsche Wiederholungszeichen für den Liedtext repStart = "𝄆" repStop = "𝄇"