Da Capo en Lilypond

Estoy escribiendo partituras usando Lilypond y me gustaría imprimir un Da Capo , pero no he encontrado un comando estándar para hacerlo. Actualmente estoy trabajando en este problema usando \mark "D.C.".

Sin embargo, la marca a veces se coloca en la siguiente línea. Además, preferiría usar un solo comando y asegurarme de obtener siempre el mismo resultado, en lugar de tener que escribir el texto cada vez.

Respuestas (3)

Para futuros lectores:
Las versiones más nuevas de LilyPond (v2.23 y superiores) tienen una forma incorporada de codificar Da Capo y repeticiones relacionadas.

Hay una nueva estructura de repetición \repeat segno, esto funciona de manera similar a \repeat volta. También hay nuevos comandos como \volta, \finey \sectionque funcionan con esta nueva estructura. Con estos, no tendrá que escribir el texto en absoluto.

Aquí hay un ejemplo simple de una repetición de Da Capo :

\version "2.23.6"

contents = {
    \new Staff {
        \repeat segno 2 {
            a'1 |
            b'1 |
            \volta 2 \fine
        }
    }
}   
    
%% PDF
\score {
    \contents
    \layout { }
}

%% MIDI
\score {
    \unfoldRepeats
    \contents
    \midi { }
}

ejemplo simple de repetición Da Capo

Consulte esta página de la documentación para obtener más detalles:
1.4.1 Repeticiones largas: estructura de repetición de Segno

Como señaló alephzero, debe establecer la visibilidad de la marca. Debido a que este tipo de marcas con frecuencia necesitan el mismo tratamiento, puede configurar sus propios comandos para no tener que recordar los detalles de los controles de visibilidad y desordenar su código.

Por ejemplo, mantengo un archivo de biblioteca común con un montón de comandos que uso mucho. Entre ellos hay algunos comandos para obtener puntos de la manera que me gustan. Estos se pueden usar en mi música con solo llamar \DSo cualquier variante que desee:

DSfine = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small "D.S. al fine" }
}

DS = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small "D.S." }
}

DCfine = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small "D.C. al fine" }
}

DCcoda = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small "D.C. al coda" }
}

DScoda = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small "D.S. al coda" }
}

Fine = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small \italic "fine" }
}

GotoCoda = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
  \mark \markup { \small \musicglyph #"scripts.coda" }
}

Coda = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#f #t #t)
  \mark \markup { \small \musicglyph #"scripts.coda" }
}

Segno = {
  \once \override Score.RehearsalMark #'break-visibility = #'#(#f #t #t)
  \mark \markup { \small \musicglyph #"scripts.segno" }
}

Cuando se adjunta alguna notación musical a una línea de compás que coincide con el final de un sistema en la partitura, es posible que desee imprimir la notación al final de ese sistema, al comienzo del siguiente sistema o incluso en ambos lugares ( por ejemplo, un cambio de firma de clave).

Lilypond "conoce" las reglas estándar para varios tipos de notación. Los valores predeterminados se enumeran en http://lilypond.org/doc/v2.18/Documentation/notation/visibility-of-objects#using-break_002dvisibility , pero puede anularlos como se muestra en esa página.

Para forzar que su "marca de ensayo falsa" aparezca en medio de un sistema o al final, pero no al principio, use

\once \override Score.RehearsalMark.break-visibility = #begin-of-line-invisible