+%% incipit
+
+incipit =
+#(define-music-function (incipit-music) (ly:music?)
+ (_i "Output @var{incipit-music} before the main staff as an indication of
+ its appearance in the original music.")
+ #{
+ \once \override Staff.InstrumentName.stencil =
+ #(lambda (grob)
+ (let* ((instrument-name (ly:grob-property grob 'long-text))
+ (align-x (ly:grob-property grob 'self-alignment-X 0))
+ (align-y (ly:grob-property grob 'self-alignment-Y 0)))
+ (set! (ly:grob-property grob 'long-text)
+ #{ \markup {
+ \score
+ {
+ \new MensuralStaff \with {
+ \override InstrumentName.self-alignment-X = #align-x
+ \override InstrumentName.self-alignment-Y = #align-y
+ instrumentName = #instrument-name
+ }
+ {
+ $incipit-music
+ }
+ \layout {
+ $(ly:grob-layout grob)
+ indent-incipit-default = 15\mm
+ line-width = #(primitive-eval
+ '(or (false-if-exception indent)
+ indent-incipit-default))
+ indent = #(primitive-eval
+ '(or (false-if-exception (- line-width incipit-width))
+ (* 0.5 line-width)))
+ ragged-right = ##f
+ ragged-last = ##f
+ system-count = 1
+ \context {
+ \Score
+ \remove "Default_bar_line_engraver"
+ }
+ }
+ }
+ }
+ #})
+ (set! (ly:grob-property grob 'self-alignment-Y) #f)
+ (set! (ly:grob-property grob 'self-alignment-X) RIGHT)
+ (system-start-text::print grob)))
+ #}
+)
+