lilypond-es
[Top][All Lists]
Advanced

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

Re: [lilypond-es] Modificar cabeza de nota en un acorde


From: Pablo Herrera
Subject: Re: [lilypond-es] Modificar cabeza de nota en un acorde
Date: Fri, 29 Jul 2016 11:35:39 -0300

Completísima respuesta. Muchas gracias!


El jul 29, 2016 11:28 AM, "Francisco Vila" <address@hidden> escribió:
El día 28 de julio de 2016, 22:33, Pablo Herrera
<address@hidden> escribió:
> He encontrado una manera muy improlija de escribir un acorde de dos notas
> redondas donde una de ellas posee una cabeza de negra. Seguramente existe
> una forma más elegante, mas no la he hallado (¿quizás con NoteHead.style?).
> Acepto sugerencias que mejoren o superen este pobre código:
>
> \version "2.19.33"
> \layout {
>   \context {
>     \Staff
>     \override Stem.transparent = ##t
>   }
> }
> \score {
>   \new Staff {
>    << {g'1} \\ {c'4}>>
>   }
> }
>

Para cambiar la cabeza de nota, el objeto del truco es Notehead.stencil

negra = {
  \once \override NoteHead.stencil = #ly:text-interface::print
  \once \override NoteHead.text = #(markup #:musicglyph "noteheads.s2")
}

\relative c'' {
  a1 a \negra a a
}

[Véase la imagen 1]

No tiene plica porque la redonda no tiene, y solo hemos cambiado la
cabeza, por ello no es necesario ocultar la plica.

Sin embargo, en el caso de un acorde no puede usarse override porque
todas las cabezas están en el mismo instante temporal, por tanto hay
que usar tweak, que afecta al código de entrada preciso que aparece
justo después, incluso dentro de un acorde. No se especifica el objeto
NoteHead, solo la propiedad, directamente.

{
  < g'

\tweak stencil #ly:text-interface::print
\tweak text #(markup #:musicglyph "noteheads.s2")

   c'>1
}

[Véase la imagen 2]

La ventaja de estos enfoques es que afectan solamente al elemento
deseado, sin quitar otras plicas posiblemente existentes.

Los glifos predeterminados están listados en
http://lilypond.org/doc/v2.19/Documentation/notation/the-feta-font.es.html#default-notehead-glyphs

Si se quiere hacer una función que agrupe los dos tweak, hay que
incluir el código de la siguiente nota, para que pueda resultar
afectada por el tweak. Ya que es lo único que le falta a la función,
se puede obtener con \etc

negra =
  \tweak NoteHead.stencil #ly:text-interface::print
  \tweak NoteHead.text #(markup #:musicglyph "noteheads.s2")
  \etc

{  <g' \negra c'>1 }


--
Francisco Vila. Badajoz (Spain)
www.paconet.org , www.csmbadajoz.com

reply via email to

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