¿Cómo puedo obligar a LilyPond a repetir un símbolo de acorde (se relaciona con finales alternativos)?

En el modo de acordes, LilyPond elige no mostrar los símbolos de acordes cuando son los mismos que el símbolo anterior, lo que suele ser el comportamiento correcto. Sin embargo, este comportamiento se vuelve extraño en el contexto de finales alternativos de repeticiones. Aquí hay un ejemplo simple:

\puntaje {
  <<
    \nuevos nombres de acordes {
    \establecer cambios de acorde = ##t
    \chordmode { \repeat volta 2 {g1} \alternative { {c} {c4 gcc} } } }
    \new Voice = "uno" { \relative c'' { \repeat volta 2 { g4 feed }
    \alternativa { {crrr} {cgcr} } } }
  >>
}

Salida (LilyBin: http://www.lilybin.com/77tv75/1 ):

Salida de Lilypond

LilyPond omite el acorde de C que debería estar al comienzo del segundo final, porque es el mismo acorde que en el compás anterior (visualmente), que es el primer final. Sin embargo, debe mostrarse, ya que desde el punto de vista del lector no es lo mismo que el compás anterior (musicalmente) (compás 1). ¿Hay alguna manera de anular este comportamiento?

Respuestas (3)

Utilícelo \once \set chordChanges = ##fen la ubicación en la que desee forzar el símbolo de acorde.

\puntaje {
   <<
     \nuevos nombres de acordes {
       \establecer cambios de acorde = ##t
       \modo de acorde {
         \repetir volta 2 {g1}
         \alternativa { {c} {\una vez \establecer cambios de acordes = ##f c4 gcc} }
       }
     }
     \nueva Voz = "uno" {  
       \relativa c'' {
         \ repetir volta 2 { g4 alimentado }
         \alternativa { {crrr} {cgcr} }
       }
     }
 >>
}

Aplique el parche en http://code.google.com/p/lilypond/issues/detail?id=3835 o espere a que aparezca en upstream.

Por cierto, si problemas como estos no se informan a las listas de correo y errores del proyecto real, es pura suerte si se detectan y solucionan en algún momento o no.

Remover\set chordChanges = ##t

Funciona si es aceptable anotar todos los acordes.