Me falta algo básico, pasé horas buscando documentos en vano. A veces, LilyPond puede ser realmente frustrante.
Mira esta imagen:
Obviamente, ppp se superpone con la barra de compás. De acuerdo con la documentación, intenté usar DynamicText.extra-spacing-width
, pero no tiene ningún efecto. Aquí está el código:
\version "2.22.1"
\language "italiano"
common = {
\key sol \minor
\time 4/4
\tempo "Largo [Широко]"
}
right = \relative do'' {
\key sol \major
sol8 (fad re mi sol fad re4) |
sol8 (fad re mib sol fad re4)
}
left = \relative do' {
\key sol \major
sol,8 (re' si' re,) sol, (re' do' re,) |
sol, (re' sib' re,) sol, (re' do' re,) |
}
dynamics = {
s1 |
\override DynamicText.extra-spacing-width = #'(-1 . 1)
s8 \ppp s8 s8 s8 s8 s8 s4
}
\score {
\new PianoStaff <<
\new Staff = "right" \right
\new Dynamics \dynamics
\new Staff = "left" { \clef bass \left }
>>
}
Si me muevo \override ...
justo al frente de \ppp
, no se superpone, pero LilyPond se queja entonces con "AbsoluteDynamicEvent no adjunto".
Me encuentro mucho con esto. Encuentro que usar un X-offset funciona:
dynamics = {
s1 |
\override DynamicText.X-offset = 0
s8 \ppp s8 s8 s8 s8 s8 s4
}
Esto me parece un error. Para extra-spacing-width
que funcionen, los dos objetos que deben evitarse deben tener algo de ancho y algo de alto. Puede visualizar los "horizontes" que usa LilyPond para distanciarse usando
#(ly:set-option 'debug-skylines)
\layout {
\context {
\Score
\override PaperColumn.stencil = #ly:separation-item::print
\override NonMusicalPaperColumn.stencil = #ly:separation-item::print
}
}
(se espera que los del pentagrama inferior estén ligeramente desviados verticalmente; los horizontes horizontales se construyen antes de romper la línea, cuando solo tenemos una estimación de la distancia entre los dos pentagramas).
Esto da:
Puede ver que el problema es que SpanBar no recibe horizontes; esto se debe a que no tiene altura, por lo que se desconoce el intervalo en el que se considera que choca.
Por ahora una solución parece ser
\layout {
\context {
\Score
\override SpanBar.Y-extent = #axis-group-interface::height
\override SpanBar.meta.object-callbacks.pure-Y-common =
#ly:axis-group-interface::calc-pure-y-common
\override SpanBar.meta.object-callbacks.pure-relevant-grobs =
#ly:axis-group-interface::calc-pure-relevant-grobs
}
}
(debe haber una razón por la que no está en el código actual, así que tenga en cuenta que podría tener efectos negativos en casos que no he considerado).
\version "2.23.4" \layout { \context { \Score \override BarLine.bar-extent = #'(-10 . 10) \override Parentheses.font-size = 10 } } \new StaffGroup << { c1\parenthesize\< 1\! } { c1 1 }
>>
faceto