[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Best practices for Da Capo/Dal Segno/al Fine/etc.
From: |
Joel C. Salomon |
Subject: |
Re: Best practices for Da Capo/Dal Segno/al Fine/etc. |
Date: |
Thu, 22 Feb 2018 02:42:19 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 2018-02-20 5:21 PM, I asked:
> … what is the current (2.19) best practice for typesetting the Da
> Capo/Dal Segno/al Fine/etc. repeat marks?
I’m having some trouble extracting a readable-but-useful minimal example
from my code, but this excerpt might help the next fellow:
\include "poly-mark-engraver.ly" % from
<http://lsr.di.unimi.it/LSR/Item?id=976>
\tagGroup #'(midi-only score-only)
…
lowerVI = {
\clef bass
\globalVI
% \repeat coda 2 {
\lowerVIabac
% } % \repeat coda
% \alternative {
% { % \repeat coda
\lowerVId
% }
% {} % } % \repeat coda
% Manual repeat unfold for MIDI
\tag #'midi-only \lowerVIabac
}
dynamicsVI = {
<>\p
% \repeat coda 2 {
#(skip-of-length upperVIabac)
% } % \repeat coda
\polyMark #'DCFine \markup \italic "Fine"
\polyMark #'Fermata \markup \fermata
\bar "|."
% \alternative {
% { % \repeat coda
#(skip-of-length upperVId)
% }
% {}
% } % \repeat coda
% Manual repeat unfold for MIDI
\tag #'midi-only #(skip-of-length upperVIabac)
% Manual mark for \repeat coda
\polyMark #'DCFine \markup \italic "D.C. al Fine"
\bar "||"
}
…
scoreVI = \score {
\keepWithTag #'score-only
<<
\new Staff = "upper" \upperVI
\new Dynamics = "dynamics" \dynamicsVI
\new Staff = "lower" \lowerVI
>>
\layout {
\context { \Score
polyMarkOptions = #`((DCFine
(direction . ,DOWN)
(self-alignment-X . 1.0)
(break-visibility . ,begin-of-line-invisible))
(Fermata
(direction . ,UP)
(self-alignment-X . 0.0)
(break-visibility . ,begin-of-line-invisible)))
}
}
}
midiVI = \score {
\new PianoStaff
\keepWithTag #'midi-only
<<
\new Staff = "upper" <<
\unfoldRepeats \upperVI
\dynamicsVI
>>
\new Staff = "lower" <<
\unfoldRepeats \lowerVI
\dynamicsVI
>>
>>
\midi {}
}
There’s nothing here that isn’t already in
<http://lsr.di.unimi.it/LSR/Item?id=976>, and a good deal is missing
here which that snippet includes, but I think it does illustrate this
particular usage without invoking the full power of \polyMark.
––Joel C. Salomon