5.1.4 Modificació dels connectors (plug-ins) de context

Els contextos de notació (como Score i Staff) no sols emmagatzemen propietats, també contenen «plug-ins» o connectors anomenats ‘gravadors’ que creen elements de notació. Per exemple, el context Voice conté un gravador Note_heads_engraver que crea els caps de nota i el context Staff conté un gravador Key_engraver que crea la armadura.

Per veure una descripció completa de tots i cadascú dels connectors, consulteu Engravers and Performers. Cada context que es descriu a Contexts fa una relació dels gravadors que s’usen per a aquest context.

Pot ser d’utilitat jugar una mica amb aquests connectors. Es fa iniciant un context nou amb \new o \context i modificant-lo:

\new contexto \with {
  \consists …
  \consists …
  \remove …
  \remove …
  etc.
}
{
  …música…
}

on els … han de ser el nom d’un gravador. Aquí tenim un exemple senzill que suprimeix els gravadors Time_signature_engraver i Clef_engraver d’un context Staff:

<<
  \new Staff \relative {
    f'2 g
  }
  \new Staff \with {
     \remove "Time_signature_engraver"
     \remove "Clef_engraver"
  } \relative {
    f'2 g2
  }
>>

[image of music]

En el segon pentagrama no hi ha indicació de compàs ni clau. Aquest és un mètode força rudimentari de fer que desapareguin els objectes perquè afecta a tot el pentagrama. Aquest mètode també afecta l’espaiat, cosa que pot ser desitjable o no ser-ho. Es mostren mètodes més sofisticats per treure objectes a Visibilitat i color dels objectes.

L’exemple següent mostra una aplicació pràctica. Normalment les línies divisòries i les indicacions de compàs estan sincronitzades al llarg de tota la partitura. Ho fan els gravadors Timing_translator i Default_bar_line_engraver. Aquests complements mantenen al dia l’administració de les indicacions de compàs, posició dins del compàs, etc. Movent aquests gravadors des del context de Score al de Staff, podem aconseguir una partitura en la qual cada pentagrama té el seu propi compàs independent.

\score {
  <<
    \new Staff \with {
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    }
    \relative {
        \time 3/4
        c''4 c c c c c
    }
  \new Staff \with {
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
  \relative {
      \time 2/4
      c''4 c c c c c
  }
>>
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
    }
  }
}

[image of music]

Advertiments i problemes coneguts

L’ordre en el qual els gravadors s’especifiquen és l’ordre en el qual es criden per realitzar la seva tasca de processament. Normalment, l’ordre en el qual s’especifiquen els gravadors no té importància, però en alguns casos especials sí la té, per exemple on un gravador escriu una propietat i un altre la llegeix, o on un gravador crea un grob i un altre l’ha de processar.

Les ordenacions següents són importants:

Vegeu també

Fitxers instal·lats: ‘ly/engraver-init.ly’.


LilyPond — Referència de la notació v2.23.4 (branca de desenvolupament).