Hi all,
about two years ago (I don't remember exactly), there was a discussion
where I was involved and the outcome of which was a new approach for
incipits in ancient music. To be clear, I paste the snippet I'm
referring to at the bottom of this message.
At this time, nobody was able to bring a solution for a little flaw in
this snippet, which was that the timing automatism between the staffs
cannot be turned off and the notes/rests are placed at a position that
is based on their duration.
This is kind of unfavourable, because it leads to a different picture
than you would expect in mensural notation where voices are completely
independent.
Thus, I would like to ask again if there is anybody has ideas, maybe
based on newer lilypond version?
Thanks in advance!
Stefan
incipit =
#(define-music-function (parser location incipit-music) (ly:music?)
#{
\once \override Staff.InstrumentName #'self-alignment-X = #RIGHT
\once \override Staff.InstrumentName #'self-alignment-Y = #UP
\once \override Staff.InstrumentName #'Y-offset = #4
\once \override Staff.InstrumentName #'padding = #0.3
\once \override Staff.InstrumentName #'stencil =
#(lambda (grob)
(let* ((instrument-name (ly:grob-property grob 'long-text))
(layout (ly:output-def-clone (ly:grob-layout grob)))
(music (make-music 'SequentialMusic
'elements (list (make-music 'ContextSpeccedMusic
'context-type 'MensuralStaff
'element (make-music 'PropertySet
'symbol 'instrumentName
'value instrument-name))
$incipit-music)))
(score (ly:make-score music))
(mm (ly:output-def-lookup layout 'mm))
(indent (ly:output-def-lookup layout 'indent))
(width (ly:output-def-lookup layout 'incipit-width))
(incipit-width (if (number? width)
(* width mm)
(* indent 0.5))))
(ly:output-def-set-variable! layout 'indent (- indent
incipit-width))
(ly:output-def-set-variable! layout 'line-width indent)
(ly:output-def-set-variable! layout 'ragged-right #f)
(ly:output-def-set-variable! layout 'ragged-last #f)
(ly:output-def-set-variable! layout 'system-count 1)
(ly:score-add-output-def! score layout)
(set! (ly:grob-property grob 'long-text)
(markup #:score score))
(ly:system-start-text::print grob)))
#})
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user