Engravers one by one: Difference between revisions

m New category
Tags: Mobile edit Mobile web edit
m Lemzwerg moved page Engravers one-by-one to Engravers one by one without leaving a redirect
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
The notation problem, creating a certain symbol, is handled by plugins. Each plugin is called an ''engraver''. In this example, (some) engravers are switched on one by one, in the following order:
LilyPond handles the various elements necessary to typeset a score with plugins. Each plugin is called an ''engraver''. In this example, (some) engravers are switched on one by one, in the following order:


- note heads,
* note heads,
 
* staff symbol,
- staff symbol,
* clef,
 
* stem,
- clef,
* beams, slurs, accents,
 
* accidentals, bar lines, time signature, and key signature.
- 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</code> context. Engravers for key signature, accidentals, bar line, etc., form a <code>Staff</code> context.
Engravers are grouped. For example, note heads, slurs, beams, etc., form a <code>Voice</code> context. Engravers for key signature, accidentals, bar line, etc., form a <code>Staff</code> context.


<lilypond version="2.24" full>
<lilypond version="2.24">
\header { tagline = ##f }
 
topVoice = \relative c' {
topVoice = \relative c' {
   \key d \major
   \key d \major
Line 25: Line 18:
   d4->
   d4->
}
}


% empty staff and voice contexts
% empty staff and voice contexts
Line 31: Line 23:
   \type Engraver_group
   \type Engraver_group
   \name Staff
   \name Staff
   \accepts Voice
   \accepts Voice
   \defaultchild Voice
   \defaultchild Voice
Line 39: Line 30:
   \name Voice
   \name Voice
}
}


% add note heads
% add note heads
Line 126: Line 116:
</lilypond>
</lilypond>


[[Category:Contexts and engravers]]
[[Category:Contexts and engravers]]
[[Category:Contexts and engravers]]
[[Category:Specific notation]]
[[Category:Specific notation]]
[[Category:Included in the official documentation]]
[[Category:Included in the official documentation]]
[[Category:Snippet]]
[[Category:Snippet]]