En Lilypond, estoy grabando un trozo de música de piano que usa el Ped. símbolo, pero no utiliza el correspondiente * para finalizar el pedaleo.
Aquí hay un fragmento de código que obtiene el resultado visual correcto:
\version "2.18.2"
upper = \relative c'' {
\clef treble
a4 b c d
}
lower = \relative c {
\clef bass
a2 c
}
pedal = {
s4\sustainOn s s s\sustainOff
}
\score {
\new PianoStaff <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
\new Dynamics = "pedal" \with {
pedalSustainStrings = #'("Ped." "*Ped." "")
} \pedal
>>
\layout { }
}
Tenga en cuenta el #'("Ped." "*Ped." "")
bit.
Pero eso también produce una advertencia:
warning: SustainPedal has empty extent and non-empty stencil.
Tengo 7 páginas de música con pedaleo cada 2-3 compases. No voy a llegar al final con tantas advertencias apareciendo cada vez. ¿Hay alguna forma mejor/más correcta de suprimir ese símbolo?
Si desea que se suelte el pedal de sostenido, pero que no se muestre un símbolo:
en lugar de escribir \sustainOff
, use \hide\sustainOff
.
NB: no necesitará esa \with ...
declaración
EDITAR
Usar \omit
es probablemente mejor que \hide
.
Esto se debe a que \omit
no imprime nada en absoluto, mientras que \hide
efectivamente imprime un símbolo invisible y, en consecuencia, realiza alteraciones de espaciado que serían necesarias como si el símbolo fuera visible.
Lo toqué un poco más e hice algunas suposiciones descabelladas junto con mi conocimiento del Esquema, e intenté:
pedalSustainStrings = #'("Ped." "*Ped." #f)
Es decir, a #f
para "falso" en lugar de la cadena de longitud cero ""
. Parece que todavía produce el resultado visual que quiero, sin que se emitan advertencias. Sin embargo, no tengo idea de si este es el comportamiento esperado de Lilypond.
Esta no es una respuesta al OP, sino una respuesta a un comentario que es demasiado grande para publicar allí.
Si se encuentra en una situación en la que necesita suprimir varias advertencias que sabe que no son importantes pero que ofuscan otras advertencias y errores, puede utilizar esta función.
% ly:expect-warning only works to suppress once. This function allows
% you to specify the number of times a warning appears.
#(define ly:expect-warning-times (lambda args
(for-each (lambda _ (apply ly:expect-warning (cdr args)))
(iota (car args)))))
#(ly:expect-warning-times 33 "omitting tuplet bracket")
ramilletes
-l ERROR
.jay kominek