<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>old Contexts explained - GNU LilyPond Notation Reference</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Notation Reference"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.es.html#Top"> <link rel="up" href="Discussion-of-specific-tweaks.es.html#Discussion-of-specific-tweaks" title="Discussion of specific tweaks"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 by the authors Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled ``GNU Free Documentation License''. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="old-Contexts-explained"></a> Up: <a rel="up" accesskey="u" href="Discussion-of-specific-tweaks.es.html#Discussion-of-specific-tweaks">Discussion of specific tweaks</a> <hr> </div> <h4 class="subsection">5.7.1 old Contexts explained</h4> <!-- FIXME Delete this section? It is in LM --> <!-- Or leave heading and go on from LM? --> <p>When music is printed, a lot of notational elements must be added to the output. For example, compare the input and output of the following example: <blockquote> <pre class="verbatim"> cis4 cis2. g4 </pre> <p> <a href="../b7/lily-2876d60a.ly"> <img align="middle" border="0" src="../b7/lily-2876d60a.png" alt="[image of music]"> </a> </p> </blockquote> <p>The input is rather sparse, but in the output, bar lines, accidentals, clef, and time signature are added. LilyPond <em>interprets</em> the input. During this step, the musical information is inspected in time order, similar to reading a score from left to right. While reading the input, the program remembers where measure boundaries are, and which pitches require explicit accidentals. This information can be presented on several levels. For example, the effect of an accidental is limited to a single staff, while a bar line must be synchronized across the entire score. <p>Within LilyPond, these rules and bits of information are grouped in <em>Contexts</em>. Some examples of contexts are <code>Voice</code>, <code>Staff</code>, and <code>Score</code>. They are hierarchical, for example: a <code>Staff</code> can contain many <code>Voice</code>s, and a <code>Score</code> can contain many <code>Staff</code> contexts. <blockquote> <img src="../context-example.png" alt="context-example.png"> </blockquote> <p>Each context has the responsibility for enforcing some notation rules, creating some notation objects and maintaining the associated properties. For example, the <code>Voice</code> context may introduce an accidental and then the <code>Staff</code> context maintains the rule to show or suppress the accidental for the remainder of the measure. The synchronization of bar lines is handled at <code>Score</code> context. <p>However, in some music we may not want the bar lines to be synchronized – consider a polymetric score in 4/4 and 3/4 time. In such cases, we must modify the default settings of the <code>Score</code> and <code>Staff</code> contexts. <p>For very simple scores, contexts are created implicitly, and you need not be aware of them. For larger pieces, such as anything with more than one staff, they must be created explicitly to make sure that you get as many staves as you need, and that they are in the correct order. For typesetting pieces with specialized notation, it can be useful to modify existing or to define new contexts. <p>A complete description of all available contexts is in the program reference, see <a name="index-Contexts-2744"></a><a href="../lilypond-internals/Contexts.es.html#Contexts">Contexts</a>. <!-- [TODO: describe propagation] --> <!-- *- coding: utf-8; mode: texinfo; -*- --> <!-- This file is part of lilypond.tely --> <!-- \version "2.11.57" --> <!-- footer_tag --><br><hr> <div class="node"> <p> Up: <a rel="up" accesskey="u" href="Discussion-of-specific-tweaks.es.html#Discussion-of-specific-tweaks">Discussion of specific tweaks</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Esta página corresponde a LilyPond-2.11.57 (rama de desarrollo). <br> <address> Informe de los fallos a través de la lista en español <a href="http://es.groups.yahoo.com/group/lilypond-es/">lilypond-es</a>, o en inglés a través de <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a>. </address> <br> Se agradecen las <a href="http://lilypond.org/web/devel/participating/documentation-adding">sugerencias para la documentación</a>. </font> </p> </div> </BODY></html>