lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Best practices for Da Capo/Dal Segno/al Fine/etc.


From: Neo Anderson
Subject: Re: Best practices for Da Capo/Dal Segno/al Fine/etc.
Date: Mon, 5 Mar 2018 01:10:41 +0000 (UTC)

Repeat marks used to give me a headache, but I've found some solutions which I'm quite happy with.

Firstly, I have the defined in a separate file, specifically, to be able to use multiple text spanners, but also to tweak them (some things still need tweaking). Secondly, I reference the file with "include" command and call in a score them as needed.

Attached please find the said file (some of the code isn't mine - I just forgot where I got it) and a small example.


On Thursday, February 22, 2018 8:42 AM, Joel C. Salomon <address@hidden> wrote:


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

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


Attachment: repeat-marks.ly
Description: Text Data

Attachment: repeats-section.ly
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]