]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/engravers-one-by-one.ly
resolve merge
[lilypond.git] / Documentation / snippets / engravers-one-by-one.ly
diff --git a/Documentation/snippets/engravers-one-by-one.ly b/Documentation/snippets/engravers-one-by-one.ly
new file mode 100644 (file)
index 0000000..06d81b5
--- /dev/null
@@ -0,0 +1,310 @@
+% DO NOT EDIT this file manually; it is automatically
+% generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
+% This file is in the public domain.
+%% Note: this file works from version 2.14.0
+\version "2.14.0"
+
+\header {
+%% Translation of GIT committish: 70f5f30161f7b804a681cd080274bfcdc9f4fe8c
+  texidoces = "
+Del problema central de la notación, esto es, crear un determinado
+símbolo, se encargan los «plugins» o complementos añadidos.  Cada
+uno de los complementos se conoce como un grabador. En este
+ejemplo, los grabadores se van activando uno por uno, en el orden
+siguiente:
+
+- cabeza de las notas,
+
+- el símbolo del pentagrama,
+
+- clave,
+
+- plicas,
+
+- barras, ligaduras de expresión, acentos,
+
+- alteraciones, líneas divisorias, indicación del compás, y armadura.
+
+Los grabadores se encuentran agrupados. Por ejemplo, las cabezas de
+nota, ligaduras de expresión, barras de corchea, etc. forman un
+contexto de voz, @code{Voice}. Los grabadores de la armadura,
+alteraciones, líneas de compás, etc. forman un contexto de pentagrama,
+@code{Staff}.
+
+"
+  doctitlees = "Los grabadores uno por uno"
+
+  lsrtags = "contexts-and-engravers"
+
+  texidoc = "
+The notation problem, creating a certain symbol, is handled by plugins.
+ Each plugin is called an Engraver. In this example, engravers are
+switched on one by one, in the following order:
+
+- note heads,
+
+
+- staff symbol,
+
+
+- clef,
+
+
+- stem,
+
+
+- beams, slurs, accents,
+
+
+- accidentals, bar lines, time signature and key signature.
+
+
+
+Engravers are grouped. For example, note heads, slurs, beams etc. form
+a @code{Voice} context. Engravers for key signature, accidentals, bar
+line, etc. form a @code{Staff} context.
+
+"
+  doctitle = "Engravers one-by-one"
+} % begin verbatim
+
+
+%% sample music
+topVoice = \relative c' {
+  \key d \major
+  es8([ g] a[ fis])
+  b4
+  b16[-. b-. b-. cis-.]
+  d4->
+} % begin verbatim
+
+
+botVoice = \relative c' {
+  \key d \major
+  c8[( f] b[ a)]
+  es4
+  es16[-. es-. es-. fis-.]
+  b4->
+}
+
+hoom = \relative c {
+  \key d \major
+  \clef bass
+  g8-. r
+  r4
+  fis8-.
+  r8
+  r4
+  b'4->
+}
+
+pah = \relative c' {
+  r8 b-.
+  r4
+  r8 g8-.
+  r16 g-. r8
+  \clef treble
+  fis'4->
+}
+
+%
+% setup for Request->Element conversion. Guru-only
+%
+
+MyStaff = \context {
+  \type "Engraver_group"
+  \name Staff
+
+  \description "Handles clefs, bar lines, keys, accidentals.  It can contain
+@code{Voice} contexts."
+
+  \consists "Output_property_engraver"
+
+  \consists "Font_size_engraver"
+
+  \consists "Volta_engraver"
+  \consists "Separating_line_group_engraver"
+  \consists "Dot_column_engraver"
+
+  \consists "Ottava_spanner_engraver"
+  \consists "Rest_collision_engraver"
+  \consists "Piano_pedal_engraver"
+  \consists "Piano_pedal_align_engraver"
+  \consists "Instrument_name_engraver"
+  \consists "Grob_pq_engraver"
+  \consists "Forbid_line_break_engraver"
+  \consists "Axis_group_engraver"
+
+  \consists "Pitch_squash_engraver"
+
+  localKeySignature = #'()
+
+  % explicitly set instrumentName, so we don't get
+  % weird effects when doing instrument names for
+  % piano staves
+
+  instrumentName = #'()
+  shortInstrumentName = #'()
+
+  \accepts "Voice"
+}
+
+
+MyVoice = \context {
+  \type "Engraver_group"
+  \name Voice
+
+  \description "
+    Corresponds to a voice on a staff.  This context handles the
+    conversion of dynamic signs, stems, beams, super- and subscripts,
+    slurs, ties, and rests.
+
+    You have to instantiate this explicitly if you want to have
+    multiple voices on the same staff."
+
+  localKeySignature = #'()
+  \consists "Font_size_engraver"
+
+  % must come before all
+  \consists "Output_property_engraver"
+  \consists "Arpeggio_engraver"
+  \consists "Multi_measure_rest_engraver"
+  \consists "Text_spanner_engraver"
+  \consists "Grob_pq_engraver"
+  \consists "Note_head_line_engraver"
+  \consists "Glissando_engraver"
+  \consists "Ligature_bracket_engraver"
+  \consists "Breathing_sign_engraver"
+  % \consists "Rest_engraver"
+  \consists "Grace_beam_engraver"
+  \consists "New_fingering_engraver"
+  \consists "Chord_tremolo_engraver"
+  \consists "Percent_repeat_engraver"
+  \consists "Slash_repeat_engraver"
+
+  %{
+    Must come before text_engraver, but after note_column engraver.
+  %}
+  \consists "Text_engraver"
+  \consists "Dynamic_engraver"
+  \consists "Fingering_engraver"
+
+  \consists "Script_column_engraver"
+  \consists "Rhythmic_column_engraver"
+  \consists "Cluster_spanner_engraver"
+  \consists "Tie_engraver"
+  \consists "Tie_engraver"
+  \consists "Tuplet_engraver"
+  \consists "Note_heads_engraver"
+  \consists "Rest_engraver"
+}
+
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+
+MyStaff = \context {
+  \MyStaff
+  \consists "Staff_symbol_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyStaff = \context {
+  \MyStaff
+  \consists "Clef_engraver"
+  \remove "Pitch_squash_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyVoice = \context {
+  \MyVoice
+  \consists "Stem_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyVoice = \context {
+  \MyVoice
+  \consists "Beam_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyVoice = \context {
+  \MyVoice
+  \consists "Phrasing_slur_engraver"
+  \consists "Slur_engraver"
+  \consists "Script_engraver"
+}
+
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyStaff = \context {
+  \MyStaff
+  \consists "Bar_engraver"
+  \consists "Time_signature_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyStaff = \context {
+  \MyStaff
+  \consists "Accidental_engraver"
+  \consists "Key_engraver"
+}
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+