4.3.5 Añadir y eliminar grabadores

Hemos visto que cada uno de los contextos contiene varios grabadores, cada uno de los cuales a su vez es responsable de la producción de una fracción particular del resultado impreso, como líneas divisorias, pentagramas, cabezas, plicas, etc. Si un grabador es eliminado de un contexto, ya no podrá producir su salida impresa. Es una forma algo radical de modificar la salida, pero a veces puede ser útil.

Cambiar un solo contexto

Para eliminar un grabador de un contexto único, usamos la instrucción \with situada inmediatamente después de la instrucción que crea el contexto, como en la sección anterior.

Como ilustración, repitamos un ejemplo extraído de la sección anterior con las líneas del pentagrama eliminadas. Recuerde que las líneas del pentagrama están dibujadas por el grabador Staff_symbol_engraver.

\new Staff \with {
  \remove Staff_symbol_engraver
}
\relative {
  c'4 d
  \set fontSize = #-4  % make note heads smaller
  e4 f |
  \set fontSize = #2.5  % make note heads larger
  g4 a
  \unset fontSize  % return to default size
  b4 c |
}

[image of music]

Los grabadores también se pueden añadir a los contextos individuales La instrucción que lo hace es

\consists Nombre_del_grabador,

situada dentro de un bloque \with. Ciertas partituras vocales tienen una indicación de ámbito o tesitura situada al principio del pentagrama para indicar el ámbito de notas en dicho pentagrama, véase ambitus. El ambitus se produce por parte del grabador Ambitus_engraver, que normalmente no está incluido en ningún contexto. Si lo añadimos al contexto Voice, calcula el rango a partir de esa única voz:

\new Staff <<
  \new Voice \with {
    \consists Ambitus_engraver
  } {
    \relative {
      \voiceOne
      c''4 a b g
    }
  }
  \new Voice {
    \relative {
      \voiceTwo
      c'4 e d f
    }
  }
>>

[image of music]

pero si añadimos el grabador de ámbito al contexto de Staff, calcula el rango de todas las notas en todas las voces de ese pentagrama:

\new Staff \with {
  \consists Ambitus_engraver
}
<<
  \new Voice {
    \relative {
      \voiceOne
      c''4 a b g
    }
  }
  \new Voice {
    \relative {
      \voiceTwo
      c'4 e d f
    }
  }
>>

[image of music]

Cambiar todos los contextos del mismo tipo

Los ejemplos anteriores muestran la manera de eliminar o añadir grabadores a los contextos individuales. También es posible eliminar o añadir grabadores a todos los contextos de un tipo específico, situando las instrucciones en el contexto correspondiente dentro de un bloque \layout. Por ejemplo, si queremos mostrar los rangos de tesitura para todos los pentagramas de una partitura de cuatro pautas, podemos escribir

\score {
  <<
    \new Staff {
      \relative {
        c''4 a b g
      }
    }
    \new Staff {
      \relative {
        c'4 a b g
      }
    }
    \new Staff {
      \clef "G_8"
      \relative {
        c'4 a b g
      }
    }
    \new Staff {
      \clef "bass"
      \relative {
        c4 a b g
      }
    }
  >>
  \layout {
    \context {
      \Staff
      \consists Ambitus_engraver
    }
  }
}

[image of music]

Los valores predeterminados de las propiedades de los contextos también se pueden establecer para todos los contextos de un tipo en particular incluyendo la instrucción \set dentro de un bloque \context de la misma forma.

Véase también

Referencia de la notación: Modificar los complementos (plug-ins) de contexto, Cambiar los valores por omisión de los contextos.

Advertencias y problemas conocidos

Los grabadores Stem_engraver y Beam_engraver (de plica y de barra) adjuntan a la cabeza de las notas los objetos que crean. Si se suprime el grabador de cabezas de nota Note_heads_engraver, no se produce ninguna cabeza y por tanto no se crean tampoco plicas ni barras.


Manual de aprendizaje de GNU LilyPond v2.25.22 (development-branch).