<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="es"> <head> <title>Propiedades de los objetos de presentación - GNU LilyPond Learning Manual</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Learning Manual"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.es.html#Top"> <link rel="up" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual" title="Manual de referencia de funcionamiento interno"> <link rel="next" href="Properties-found-in-interfaces.es.html#Properties-found-in-interfaces" title="Propiedades de los interfaces"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 por los autores _The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts._ _La traducción de la siguiente nota de copyright se ofrece como cortesía para las personas de habla no inglesa, pero únicamente la nota en inglés tiene validez legal._ Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre de GNU, versión 1.1 o cualquier versión posterior publicada por la Free Software Foundation; sin ninguna de las secciones invariantes. Se incluye una copia de esta licencia dentro de la sección titulada ``Licencia de Documentación Libre de GNU''. 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="Properties-of-layout-objects"></a> Siguiente: <a rel="next" accesskey="n" href="Properties-found-in-interfaces.es.html#Properties-found-in-interfaces">Propiedades de los interfaces</a>, Arriba: <a rel="up" accesskey="u" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual">Manual de referencia de funcionamiento interno</a> <hr> </div> <h4 class="subsection">4.2.1 Propiedades de los objetos de presentación</h4> <p><a name="index-propiedades-de-los-objetos-de-presentaci_00c3_00b3n-333"></a><a name="index-propiedades-de-los-grobs-334"></a><a name="index-grobs_002c-propiedades-de-335"></a><a name="index-presentaci_00c3_00b3n_002c-propiedades-de-los-objetos-de-336"></a> Suponga que tiene una partitura con una ligadura de expresión que para su gusto es demasiado fina y quiere trazarla un poco más gruesa. ¿Cómo debe proceder? Ya sabe, por las afirmaciones anteriores acerca de la flexibilidad de LilyPond, que tal posibilidad existe, y seguramente piensa que una cierta instrucción de sobreescritura <code>\override</code> será necesaria. Pero ¿existe una propiedad de grosor para las ligaduras? y, si la hay, ¿cómo se puede modificar? Aquí es donde interviene el Manual de Funcionamiento Interno. Contiene toda la información que puede necesitar para construir ésta y todas las demás instrucciones <code>\override</code>, de sobreescritura. <p>Una advertencia antes de dirigir nuestra mirada a la referencia de funcionamiento interno. Éste es un documento de <strong>referencia</strong>, lo que significa que hay pocas o ninguna explicación en él: su propósito es presentar la información de forma precisa y concisa. Por tanto, podrá parecerle desalentador a primera vista. ¡No se preocupe! La guía y las explicaciones que presentamos aquí le permitirán extraer la información de la referencia de funcionamiento interno por sí mismo con tan sólo algo de práctica. <p><a name="index-sobreescritura_002c-ejemplo-de-337"></a><a name="index-Referencia-de-Funcionamiento-Interno_002c-ejemplo-de-utilizaci_00c3_00b3n-338"></a> Utilicemos un ejemplo concreto con un sencillo fragmento de música real: <blockquote> <pre class="verbatim"> { \time 6/8 { r4 b8 b[( g]) g | g[( e]) e d[( f]) a | a g } \addlyrics { The man who feels love's sweet e -- mo -- tion } } </pre> <p> <a href="../67/lily-9ef082e1.ly"> <img align="middle" border="0" src="../67/lily-9ef082e1.png" alt="[image of music]"> </a> </p> </blockquote> <p>Suponga ahora que decidimos que nos gustan las ligaduras algo más gruesas. ¿Es posible? La ligadura es, ciertamente, un objeto de presentación, así que la cuestión es ‘¿Hay una propiedad perteneciente a las ligaduras de expresión que controle su grosor?’ Para responder a esta pregunta debemos mirar el manual de Referencia de Funcionamiento Interno, abreviadamente RFI<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a>. <p>El RFI de la versión de LilyPond que está usando se puede encontrar en la página web de LilyPond en <a href="http://lilypond.org">http://lilypond.org</a>. Vaya a la página de la documentación y siga el enlace Manual de Referencia de Funcionamiento Interno (RFI). Para nuestros propósitos pedagógicos sería mejor que utilizase la versión html, no la ‘en una sola página’ ni el PDF. Para que los siguientes párrafos tengan algún sentido deberá consultarlo realmente al tiempo que lee. <!-- Link names in English as those pages are not yet translated. FV --> <p>Bajo el encabezamiento <strong>Top</strong> podrá ver cinco enlaces. Seleccione el enlace <em>Backend</em>, que es donde se encuentra la información sobre los objetos de presentación. Una vez allí, bajo el encabezamiento <strong>Backend</strong>, siga el enlace <em>All layout objects</em>. La página que aparece relaciona todos los objetos de presentación que se usan en su versión de LilyPond, en orden alfabético. Siga el enlace Slur (ligadura de expresión), y aparecerán relacionadas las propiedades de las ligaduras de expresión o Slurs. <p>(Una forma alternativa de encontrar esta página es a partir de la Referencia de la Notación. En una de las páginas que tratan de las ligaduras de expresión podrá encontrar un enlace al manual de referencia del funcionamiento interno. Este enlace le llevará directamente a esta página, aunque con frecuencia es más fácil ir directamente al RFI y buscar allí.) <p>Esta página sobre las ligaduras de expresión dentro del manual RFI nos dice en primer lugar que los objetos Slur se crean por el grabador Slur_engraver. A continuación relaciona los ajustes estándar. Observe que <strong>no</strong> están en orden alfabético. Navegue hacia abajo buscando una propiedad que pudiera controlar el grosor de las ligaduras, y encontrará <pre class="example"><code>thickness</code> (number) <code>1.2</code> Line thickness, generally measured in <code>line-thickness</code> </pre> <p>Esto promete ser una buena opción para cambiar el grosor. Nos dice que el valor de <code>thickness</code> es un simple <em>número</em>, que el valor predeterminado es 1.2, y que las unidades están dentro de otra propiedad llamada <code>line-thickness</code>. <p>Como dijimos con anterioridad, existen entre pocas y ninguna explicación en el RFI, pero ya tenemos información suficiente para probar a cambiar el grosor de la ligadura. Vemos que el nombre del objeto de presentación es <code>Slur</code>, que el nombre de la propiedad que debemos cambiar es <code>thickness</code> y que el nuevo valor debe ser un número algo más grande que 1.2 si queremos hacer las ligaduras más gruesas. <p>Ahora podemos construir la instrucción de sobreescritura <code>\override</code> simplemente mediante la sustitución de los valores que hemos encontrado para los nombres, omitiendo el contexto. Usaremos un valor muy grande para el grosor al principio, para estar seguros de que la instrucción está funcionando. Obtenemos lo siguiente: <pre class="example">\override Slur #'thickness = #5.0 </pre> <p>¡No olvide el <code>#'</code> antes del nombre de la propiedad y <code>#</code> antes del valor nuevo! <p>La pregunta final es ‘¿Dónde se debe colocar esta instrucción?’ Aunque nos falta seguridad y estamos todavía aprendiendo, la mejor respuesta es: ‘Dentro de la música, antes de la primera ligadura y cerca de ella.’ Hagámoslo así: <blockquote> <pre class="verbatim"> { \time 6/8 { % Aumentar el grosor de todas las ligaduras siguientes de 1.2 a 5.0 \override Slur #'thickness = #5.0 r4 b8 b[( g]) g | g[( e]) e d[( f]) a | a g } \addlyrics { The man who feels love's sweet e -- mo -- tion } } </pre> <p> <a href="../0d/lily-65bfbd2e.ly"> <img align="middle" border="0" src="../0d/lily-65bfbd2e.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">y podemos ver que la ligadura, es sin duda, más pesada. <p>Así pues, ésta es la forma básica de construir instrucciones <code>\override</code> o de sobreescritura. Existen unas cuantas complicaciones más con las que nos encontraremos en secciones posteriores, pero ahora conoce todos los principios esenciales que necesita para hacerlo por sí mismo (aunque aún necesita algo de práctica). La cual vendrá proporcionada por los ejemplos que vienen a continuación. <h4 class="subheading">Búsqueda del contexto</h4> <p><a name="index-contexto_002c-encontrar-339"></a> Pero en primer lugar ¿qué habría pasado si hubiésemos tenido que especificar el contexto? ¿Cuál sería? Podemos suponer que las ligaduras están en el contexto de Voz, por estar claramente asociados de manera estrecha con las líneas individuales de música, pero ¿podemos estar seguros? Para averiguarlo, vayamos de nuevo al inicio de la página del RFI que describe las ligaduras (Slur), donde dice ‘Slur objects are created by: Slur engraver’ («Los objetos de ligadura de expresión se crean por: el grabador Slur»). Así pues, las ligaduras de expresión se crean en cualquier contexto en el que se encuentre el grabador <code>Slur_engraver</code>. Siga el enlace a la página del grabador <code>Slur_engraver</code>. Al final del todo, dice que el grabador <code>Slur_engraver</code> es parte de cinco contextos de voz, incluido el contexto de voz estándar, <code>Voice</code>, por lo que nuestra suposición era acertada. Y a causa de que <code>Voice</code> es uno de los contextos de más bajo nivel que se encuentra implícito sin ambigüedad por el hecho de que estamos escribiendo notas, podemos omitirlo en este lugar concreto. <h4 class="subheading">Sobreescritura por una sola vez</h4> <p><a name="index-sobreescritura-por-una-sola-vez-340"></a><a name="index-once-override-341"></a><a name="index-g_t_005conce-342"></a><a name="index-g_t_005conce-343"></a> <p>Como puede ver, <em>todas</em> las ligaduras son más gruesas en el último ejemplo. Pero ¿y si quisiéramos que solamente la primera ligadura fuese más gruesa? Esto se consigue con la instrucción o prefijo <code>\once</code>. Colocado inmediatamente antes de la instrucción <code>\override</code> ocasiona que solamente cambie la ligadura que comienza en la nota <strong>inmediata siguiente</strong>. Si la nota inmediata siguiente no da inicio a una ligadura, la instrucción no tiene ningún efecto en absoluto: no se recuerda hasta que se encuentre alguna ligadura, sino que simplemente se ignora. Así pues, la instrucción que lleva <code>\once</code> se debe reposicionar de la forma siguiente: <blockquote> <pre class="verbatim"> { \time 6/8 { r4 b8 % Aumentar solamente el grosor de la ligadura siguiente \once \override Slur #'thickness = #5.0 b[( g]) g | g[( e]) e d[( f]) a | a g } \addlyrics { The man who feels love's sweet e -- mo -- tion } } </pre> <p> <a href="../79/lily-e3e2db37.ly"> <img align="middle" border="0" src="../79/lily-e3e2db37.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">Hemos hecho que ahora solamente la primera ligadura sea más gruesa. <p>La instrucción o prefijo <code>\once</code> también se puede usar antes de la instrucción <code>\set</code>. <h4 class="subheading">Recuperación del ajuste</h4> <p><a name="index-revert-344"></a><a name="index-predeterminadas_002c-devolver-a-las-propiedades-345"></a><a name="index-g_t_005crevert-346"></a><a name="index-g_t_005crevert-347"></a> <p>Finalmente ¿y si quisiéramos que solamente las dos primeras ligaduras fuesen más gruesas? En fin; podríamos usar dos instrucciones, cada una de ellas precedida por el prefijo <code>\once</code>, situadas inmediatamente antes de cada una de las notas en que comienzan las ligaduras: <blockquote> <pre class="verbatim"> { \time 6/8 { r4 b8 % Aumentar solamente el grosor de la ligadura siguiente \once \override Slur #'thickness = #5.0 b[( g]) g | % Aumentar solamente el grosor de la ligadura siguiente \once \override Slur #'thickness = #5.0 g[( e]) e d[( f]) a | a g } \addlyrics { The man who feels love's sweet e -- mo -- tion } } </pre> <p> <a href="../6d/lily-6e0309f7.ly"> <img align="middle" border="0" src="../6d/lily-6e0309f7.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">o podríamos omitir la instrucción prefija <code>\once</code> y utilizar la instrucción <code>\revert</code> (restablecer) para devolver la propiedad del grosor, <code>thickness</code>, a su valor predeterminado después de la segunda ligadura: <blockquote> <pre class="verbatim"> { \time 6/8 { r4 b8 % Aumentar el grosor de todas las ligaduras siguientes de 1.2 a 5.0 \override Slur #'thickness = #5.0 b[( g]) g | g[( e]) % Devolver el grosor de las ligaduras siguientes al valor predeterminado 1.2 \revert Slur #'thickness e d[( f]) a | a g } \addlyrics { The man who feels love's sweet e -- mo -- tion } } </pre> <p> <a href="../dc/lily-4f0d3500.ly"> <img align="middle" border="0" src="../dc/lily-4f0d3500.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent">la instrucción <code>\revert</code> se puede utilizar para devolver cualquier propiedad que se haya cambiado con <code>\override</code> a su valor predeterminado. Puede utilizar el método que mejor se adapte a aquello que quiere hacer. <p>Así finaliza nuestra introducción al manual de RFI, y el método básico de trucaje. A continuación, en las últimas secciones de este capítulo encontrará varios ejemplos, en parte para introducirle en algunas de las posibilidades adicionales del manual RFI, y en parte para proporcionarle más práctica en cómo extraer información de él. Estos ejemplos irán conteniendo cada vez menos palabras de guía y explicación. <div class="footnote"> <hr> <h4>Notas al pie</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> <strong>IR</strong> (Internals Reference) en inglés</p> <hr></div> <!-- footer_tag --><div class="node"> <p> Siguiente: <a rel="next" accesskey="n" href="Properties-found-in-interfaces.es.html#Properties-found-in-interfaces">Propiedades de los interfaces</a>, Arriba: <a rel="up" accesskey="u" href="The-Internals-Reference-manual.es.html#The-Internals-Reference-manual">Manual de referencia de funcionamiento interno</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> <P> Otros idiomas: <a href="Properties-of-layout-objects.html">English</a>. <BR> </P> </BODY></html>