\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore Translation of GIT committish: dbc2dd143e50e000a39883fc8217b4ec60e08657 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore @setfilename lilypond-changes.info @settitle Registro de cambios de LilyPond @documentencoding UTF-8 @include macros.itexi @ifhtml @macro inputfileref{DIR,NAME} @uref{../../\DIR\/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c @end macro @macro usermanref{NAME} @inforef{\NAME\,,../user/lilypond/lilypond}@c @end macro @end ifhtml @ifnothtml @macro inputfileref{DIR,NAME} @file{\DIR\/\NAME\}@c @end macro @macro usermanref{NAME} Véase el manual del usuario, \NAME\ @end macro @end ifnothtml @macro textanchor{NAME} @html @end html @end macro @documentencoding UTF-8 @documentlanguage es @afourpaper @c Translators: Francisco Vila @finalout @node Top @top Funcionalidades nuevas de la versión 2.20 desde la 2.18 @allowcodebreaks false @itemize @ignore HINTS * add new items at the top * only show verbatim input for syntax/input changes * try to be as brief possible in those cases * don't try to provide real-world examples, they often get too big, which scares away people. * Write complete sentences. * only show user-visible changes. @end ignore @item Ahora se puede añadir texto sobre los corchetes de análisis mediante el objeto @code{HorizontalBracketText}. @lilypond[quote,verbatim] \layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } { \once \override HorizontalBracketText.text = "a" c''\startGroup d''\stopGroup e''-\tweak text "a'" \startGroup d''\stopGroup } @end lilypond @item Se puede hacer ahora un ajuste fino de los extremos de los reguladores usando la propiedad de grob @code{shorten-pair}, que anteriormente afectaba solo a los objetos extensos de texto como @code{TupletBracket} y @code{OttavaBracket}. Los valores positivos producen un desplazamiento a la derecha, los negativos a la izquierda. @lilypond[quote,verbatim] { \once \override Hairpin.shorten-pair = #'(2 . 2) c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(-2 . -2) c'1~\< c'2~ c'\! } @end lilypond @item En los diagramas de posiciones de acorde, la distancia entre los trastes y entre las cuerdas se puede ajustar de forma independiente. Eestán disponibles @code{fret-distance} y @code{string-distance} como subpropiedades de @code{fret-diagram-details}. @lilypond[verbatim,quote] fretMrkp = \markup { \fret-diagram-terse #"x;x;o;2;3;2;" } \markuplist \override #'(padding . 2) \table #'(0 -1) { "default" \fretMrkp "fret-distance" \override #'(fret-diagram-details . ((fret-distance . 2))) \fretMrkp "string-distance" \override #'(fret-diagram-details . ((string-distance . 2))) \fretMrkp } @end lilypond @item Las reglas de alteraciones accidentales se pueden definir ahora para todo un contexto de @code{ChoirStaff}. Se encuentran disponibles dos nuevas reglas, @code{choral} y @code{choral-cautionary}, que combinan las características de @code{modern-voice} y de @code{piano} o sus equivalentes con alteraciones de precaución. @item La función musical @code{\unfoldRepeats} ahora puede tomar unla lista de argumentos opcional que especifica qué tipo de música (o músicas) repetida(s) se debe(n) desplegar. Los valores posibles son @code{percent} (para repeticiones de compás o parte de ellos), @code{tremolo} y @code{volta} (para casillas de primera y segunda vez). Si no se especifica la lista opcional de argumentos, se usa @code{repeated-music}, que lo despliega todo. @item Ahora se usa una nueva propiedad de grob, @code{output-attributes}, para la salida de SVG en lugar de la propiedad de grob @code{id}. Permite que más de un atributo se pueda definir como una lista de asociación. Por ejemplo, @code{#'((id . 123) (class . fulano) (data-loquesea . @qq{mengano}))} produce la siguiente etiqueta de grupo en el archivo SVG de salida: @code{ @dots{} }. @item Las ligaduras de expresión y de fraseo pueden comenzar ahora a partir de las notas individuales de un acorde. Las diferentes ligaduras simultáneas por cada contexto @code{Voice} se deben distinguir especificando su @code{spanner-id}. @item La propiedad musical y de grob @code{spanner-id} para distinguir ligaduras simultáneas de expresión y de fraseo ha cambiado de ser una cadena a ser una @q{key}, un entero no negativo o un símbolo. @item Existe una instrucción nueva @code{\=} para especificar el identificador de objeto extenso @code{spanner-id} para ligaduras simultáneas de expresión o de fraseo. @lilypond[verbatim,quote] \fixed c' { 2 } @end lilypond @item Los bloques @code{\header} se pueden almacenar dentro de variables y usados como argumentos para las funciones musicales y de Scheme, y como cuerpo de construcciones del tipo @code{#@{@dots{}#@}}. Se representan como un módulo de Guile. Si bien los bloques @code{\book}, @code{\bookpart}, @code{\score}, @code{\with}, @code{\layout}, @code{\midi} y @code{\paper} se pueden pasar de manera similar, están representados por distintos tipos de datos. @item Las listas de elementos separados por puntos como @code{FretBoard.stencil} ya estaban contempladas a partir de la versión@tie{}2.18. Ahora también pueden contener enteros sin signo, y se pueden hacer separar opcionalmente mediante comas. Ello permite un uso semejante a @lilypond[quote,verbatim] { \time 2,2,1 5/8 g'8 8 8 8 8 } @end lilypond y @example \tagGroup violin,oboe,bassoon @end example @item Tales listas se pueden usar también dentro de expresiones para asignaciones, conjuntos y sobreescrituras. Así, ahora puede usarse de la forma siguiente: @lilypond[quote,verbatim] { \unset Timing.beamExceptions \set Timing.beatStructure = 1,2,1 g'8 8 8 8 8 8 8 8 } @end lilypond @item Anteriormente se podían asignar valores a los elementos de las listas de asociación individualmente (por ejemplo, variables de papel como @code{system-system-spacing.basic-distance}). Ahora también pueden ser referenciadas de esta manera, como en @example \paper @{ \void \displayScheme \system-system-spacing.basic-distance @} @end example En combinación con los cambios mencionados anteriormente, esto permite el establecimiento de valores y la referenciación de pseudovariables como @code{violin.1}. @item Ahora se pueden incrustar los archivos de código fuente de LilyPond dentro de los archivos PDF generados. Esta funcionalidad experimental está inhabilitada de forma predeterminada y se puede calificar como de no segura, pues los documentos PDF con contenido oculto tienden a presentar un riesgo para la seguridad. Observe que no todos los visores de PDF son capaces de manejar documentos incrustados (en caso de que no sea así, la salida de PDF se verá normalmente y los archivos fuente serán invisibles). Esta funcionalidad solamente funciona con el backend PDF. @item Ahora se puden definir específicamente los nombres de las notas en idioma francés en lugar de constituir un alias de los nombres italianos: además de la sintaxis genérica derivada del italiano, la altura de la nota @var{d} (@var{re}) se puede escribir ahora como @code{ré}. Los dobles sostenidos se pueden escribir también usando el sufijo @code{-x}. @item Están contempladas cuerdas bajas adicionales (para la tablatura de laúd). @lilypond[quote,verbatim] m = { f'4 d' a f d a, g, fis, e, d, c, \bar "|." } \score { \new TabStaff \m \layout { \context { \Score tablatureFormat = #fret-letter-tablature-format } \context { \TabStaff stringTunings = \stringTuning additionalBassStrings = \stringTuning fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k") } } } @end lilypond @item Ahora está disponible la instrucción de lista de marcados @code{\table}. Cada columna se puede alinear de distinta forma. @lilypond[quote,verbatim] \markuplist { \override #'(padding . 2) \table #'(0 1 0 -1) { \underline { center-aligned right-aligned center-aligned left-aligned } one "1" thousandth "0.001" eleven "11" hundredth "0.01" twenty "20" tenth "0.1" thousand "1000" one "1.0" } } @end lilypond @item Una instrucción de marcado nueva, @code{\with-dimensions-from}, hace que sea más fácil de usar @code{\with-dimensions} obteniendo las dimentiones nuevas a partir de un objeto de marcado, dado como primer argumento. @lilypond[quote,verbatim] \markup { \pattern #5 #Y #0 "x" \pattern #5 #Y #0 \with-dimensions-from "x" "f" \pattern #5 #Y #0 \with-dimensions-from "x" "g" \override #'(baseline-skip . 2) \column { \pattern #5 #X #0 "n" \pattern #5 #X #0 \with-dimensions-from "n" "m" \pattern #5 #X #0 \with-dimensions-from "n" "!" } } @end lilypond @item La nueva función de salto de página @code{ly:one-line-auto-height-breaking} sitúa una partitura completa en una sola línea y cambia la anchura del papel de forma correspondiente, de igual manera que @code{ly:one-line-breaking}. La diferencia es que también modifica automáticamente la altura de la página para que se ajuste a la altura de la música. @item Está disponible la instrucción de marcado @code{\draw-squiggle-line}. Es posible la personalización a través de la sobreescritura de @code{thickness}, @code{angularity}, @code{height} and @code{orientation}. @lilypond[quote,verbatim] \markup \overlay { \draw-squiggle-line #0.5 #'(3 . 3) ##t \translate #'(3 . 3) \override #'(thickness . 4) \draw-squiggle-line #0.5 #'(3 . -3) ##t \translate #'(6 . 0) \override #'(angularity . -5) \draw-squiggle-line #0.5 #'(-3 . -3) ##t \translate #'(3 . -3) \override #'(angularity . 2) \override #'(height . 0.3) \override #'(orientation . -1) \draw-squiggle-line #0.2 #'(-3 . 3) ##t } @end lilypond @item Existe una instrucción nueva para eliminar los pentagramas vacíos, @code{\RemoveAllEmptyStaves}, que actúa de la misma forma que @code{\RemoveEmptyStaves}, excepto porque también elimina los pentagramas vacíos del primer sistema de una partitura. @item Las instrucciones de marcado @code{\undertie} y @code{\overtie} están disponibles, así como la instrucción de marcado genérica @code{\tie}. @lilypond[quote,verbatim] \markup { \undertie "undertied" \overtie "overtied" } m = { c''1 \prall -\tweak text \markup \tie "131" -1 } { \voiceOne \m \voiceTwo \m } @end lilypond @item @code{TabStaff} puede ahora imprimir microtonos para las curvaturas de tono y otros efectos. @lilypond[quote,verbatim] \layout { \context { \Score supportNonIntegerFret = ##t } } mus = \relative { c'4 cih d dih } << \new Staff << \clef "G_8" \mus >> \new TabStaff \mus >> @end lilypond @item Ahora están disponibles dos estilos nuevos de enmarcado en blanco para enmascarar el material de fondo. El estilo @code{outline} aproxima los contornos de la forma de un glifo, y la forma se produce a partir de un conjunto de copias desplazadas del glifo. El estilo @code{rounded-box} produce una forma de rectángulo redondeado. Para los tres estilos, incluido el estilo @code{box} predeterminado, se puede personalizar el @code{thickness} o grosor de la forma del enmarcado en blanco, como un múltiplo del grosor de una línea del pentagrama. @lilypond[verbatim,quote] \markup { \combine \filled-box #'(-1 . 15) #'(-3 . 4) #1 \override #'(thickness . 3) \whiteout whiteout-box } \markup { \combine \filled-box #'(-1 . 24) #'(-3 . 4) #1 \override #'(style . rounded-box) \override #'(thickness . 3) \whiteout whiteout-rounded-box } \markup { \combine \filled-box #'(-1 . 18) #'(-3 . 4) #1 \override #'(style . outline) \override #'(thickness . 3) \whiteout whiteout-outline } \relative { \override Staff.Clef.whiteout-style = #'outline \override Staff.Clef.whiteout = 3 g'1 } @end lilypond @item Todas las instrucciones @code{\override}, @code{\revert}, @code{\set} y @code{\unset} ahora funcionan con el prefijo @code{\once} para hacer ajustes de una sola vez. @lilypond[quote,verbatim] \relative { c'4 d \override NoteHead.color = #red e4 f | \once \override NoteHead.color = #green g4 a \once \revert NoteHead.color b c | \revert NoteHead.color f2 c | } @end lilypond @item Al crear una salida MIDI, LilyPond ahora almacena el @code{title} que se ha definido en el bloque @code{\header} de la partitura (o, si no existe tal definición en el nivel de @code{\score}, la primera definición de ese tipo que aparezca en un bloque @code{\header} del @code{\bookpart}, @code{\book}, o ámbito de nivel superior que encierra a la partitura) como el nombre de la secuencia dentro del archivo MIDI. De forma opcional, el nombre de la secuencia MIDI se puede sobreescribir usando el nuevo campo @code{midititle} del bloque @code{\header} independientemente del @code{title} (por ejemplo, en caso de que @code{title} contenga código de elementos de marcado que no se convierta automáticamente a texto sencillo de manera satisfactoria). @item Las funciones musicales (además de las funciones vacías y de Scheme) e instrucciones de marcado que se limitan a aplicar los parámetros finales a una cadena de sobreescrituras, se pueden definir ahora de forma que solamente escriben la expresión interrumpida con @code{\etc}. @lilypond[verbatim,quote] bold-red-markup = \markup \bold \with-color #red \etc highlight = \tweak font-size 3 \tweak color #red \etc \markup \bold-red "text" \markuplist \column-lines \bold-red { One Two } { c' \highlight d' e'2-\highlight -! } @end lilypond @item Las funciones de LilyPond definidas con @code{define-music-function}, @code{define-event-function}, @code{define-scheme-function} y @code{define-void-function} ahora se pueden llamar directamente desde Scheme como si fuesen procedimientos de Scheme reales. Se sigue efectuando una comprobación de los argumentos en su número y tipo de la misma forma que cuando se llama a la función a través de código de LilyPond. Esto incluye la inserción de valores predeterminados para los argumentos opcionales que no se corresponden con sus predicados. En lugar de usar @code{\default} en la propia lista de argumentos para saltar explícitamente una secuencia de argumentos opcionales, se puede emplear @code{*unspecified*}. @item La posición actual del cursor de entrada y del analizador sintáctico se almacenan ahora dentro de fluidos de GUILE y se pueden referenciar a través de las llamadas de función @code{(*location*)} y @code{(*parser*)}. Como consecuencia, un gran número de funciones que anteriormente tomaban un argumento @code{parser} explícito, ya no lo hacen. Las funciones definidas con @code{define-music-function}, @code{define-event-function}, @code{define-scheme-function} y @code{define-void-function} ya no usan los argumentos @code{parser} @code{location}. Con estas definiciones, LilyPond trata de reconocer el uso obsoleto de los argumentos @code{parser} y @code{location}, ofreciendo durante algún tiempo una semántica compatible hacia atrás. @item En el idioma de nombre de nota "english", los nombres largos de las alturas con alteración ahora contienen un guión para una mejor legibilidad. Ahora se debe escribir @example \key a-flat \major @end example en lugar de @example \key aflat \major @end example como se hacía antes. Las alteraciones dobles no llevan otro guión, de forma que el holandés @code{cisis} lleva el nombre largo @code{c-sharpsharp} en inglés. @item El estilo visual de las barras de trémolo (forma, estilo e inclinación) se controla ahora con más precisión. @lilypond[quote,relative=2] a8:32 b: c: d: \override StemTremolo.shape = #'beam-like a: b: c: d: \override StemTremolo.style = #'constant a: b: c: d: g,2 @end lilypond @item Los silencios de varios compases tienen una longitud que depende de su duración, bajo el control de @code{MultiMeasureRest.space-increment}. @lilypond[quote] { \compressFullBarRests \override Staff.MultiMeasureRest.space-increment = 3.0 R1*2 R1*12 R1*64 } @end lilypond @item Los números de página se pueden imprimir ahora en números romanos, fijando el valor de la variable @code{page-number-type} del bloque @code{\paper}. @item Ahora se pueden usar @code{\time} y @code{\partial} combinados para cambiar la indicación de compás en la mitad de un compás. @lilypond[verbatim,quote,relative=1] \override Score.BarNumber.break-visibility = #end-of-line-invisible \partial 4 \time 3/4 f4 | 2 4 | 2 \bar "||" \time 9/8 \partial 4. f8 8 8 | 2. 8 8 8 | @end lilypond @item Ahora es posible la sobreescritura de la propiedad @code{text} de los nombres de acorde. @lilypond[verbatim,fragment,quote] << \new ChordNames \chordmode { a' b c:7 \once \override ChordName.text = #"foo" d } >> @end lilypond @item Se ha mejorado la alineación horizontal cuando se usa @code{TextScript}, con @code{DynamicText} o con @code{LyricText}. @item Se ha añadido una instrucción nueva @code{\magnifyStaff} que cambia la escala visual de los pentagramas, líneas, barras de compás, barras cortadas y el espaciado horizontal general en el nivel del contexto de @code{Staff}. Se evita que las líneas del pentagrama disminuyan a un tamaño menor que el predeterminado porque todos los grosores de las plicas, ligaduras y otros objetos gráficos están basados en el grosor de las líneas del pentagrama. @item @code{InstrumentName} contempla ahora el @code{text-interface}. @item Se contempla ahora el control del @q{nivel de expresión} de los canales MIDI usando la propiedad de contexto @code{Staff.midiExpression}. Se puede usar para alterar incluso el volumen percibido de notas mantenidas (si bien a muy @q{bajo nivel}) y acepta un valor numérico entre @code{0.0} y @code{1.0}. @example \score @{ \new Staff \with @{ midiExpression = #0.6 midiInstrument = #"clarinet" @} << @{ a'1~ a'1 @} @{ \set Staff.midiExpression = #0.7 s4\f\< \set Staff.midiExpression = #0.8 s4 \set Staff.midiExpression = #0.9 s4 \set Staff.midiExpression = #1.0 s4 \set Staff.midiExpression = #0.9 s4\> \set Staff.midiExpression = #0.8 s4 \set Staff.midiExpression = #0.7 s4 \set Staff.midiExpression = #0.6 s4\! @} >> \midi @{ @} @} @end example @item Se ha añadido la posibiliidad de hacer más fácil usar tipografías alternativas @q{de música} diferentes de la predeterminada Emmentaler de LilyPond. Véase @uref{http://fonts.openlilylib.org/} para más información. @item Los @q{grobs} u objetos gráficos y sus ancestros se pueden ahora alinear separadamente permitiendo más flexibilidad para las posiciones de los grobs. Por ejemplo, el borde izquierdo de un grob se puede alinear sobre el centro de su ancestro. @item Se han hecho mejoras en la instrucción @code{\partial} para evitar problemas cuando se usa en varios contextos en paralelo. @item @code{\chordmode} puede usar ahora las construcciones @code{< >} y @code{<< >>}. @item Se ha añadido una instrucción @code{\tagGroup} que complementa a las instrucciones existentes @code{\keepWithTag} y @code{\removeWithTag}. Por ejemplo: @example \tagGroup #'(violinI violinII viola cello) @end example declara una lista de @q{tags} o etiquetas que pertenecen a un solo @q{tag group} o grupo de etiquetas. @example \keepWithTag #'violinI @end example se ocupa solamente de las @q{tags} del grupo de etiquetas @q{violinI}. Cualquier elemento de la música incluida que lleve una o más etiquetas del grupo, pero @emph{no} la etiqueta @var{violinI}, será eliminado. @item La función @code{\addlyrics} funciona ahora con contextos arbitrarios, entre ellos @code{Staff}. @item Ahora se pueden usar también los números de cuerda para imprimir números romanos (p. ej. para instrumentos de cuerda sin trastes). @lilypond[verbatim,quote,relative=2] c2\2 \romanStringNumbers c\2 \arabicStringNumbers c1\3 @end lilypond @item El nombre de la propiedad @code{thin-kern} del objeto gráfico @code{BarLine} ha cambiado a @code{segno-kern}. @item Los objetos gráficos @code{KeyCancellation} ahora ignoran las claves de las notas guía (como hacen los objetos @code{KeySignature}). @item Se contempla ahora @code{\once@tie{}\unset} @item Ahora es posible colorear independientemente tanto los puntos como los paréntesis en los diagramas de posición de acordes, si se usa la instrucción de marcado @code{\fret-diagram-verbose}. @lilypond[verbatim,quote,relative=1] \new Voice { c1^\markup { \override #'(fret-diagram-details . ( (finger-code . in-dot))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1 red) (place-fret 4 5 2 inverted) (place-fret 3 5 3 green) (place-fret 2 5 4 blue inverted) (place-fret 1 3 1 violet) (barre 5 1 3 )) } } c1^\markup { \override #'(fret-diagram-details . ( (finger-code . below-string))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1 red parenthesized) (place-fret 4 5 2 yellow default-paren-color parenthesized) (place-fret 3 5 3 green) (place-fret 2 5 4 blue ) (place-fret 1 3 1) (barre 5 1 3)) } } } @end lilypond @item Se han añadido dos propiedades nuevas para usarlas dentro de @code{fret-diagram-details} con la instrucción de marcado @code{\fret-diagram-verbose}; @code{fret-label-horizontal-offset}, que afecta a la @code{fret-label-indication}, y @code{paren-padding}, que controla la distancia entre el puntillo y los paréntesis que lo rodean. @lilypond[verbatim,quote,relative=1] \new Voice { c1^\markup { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 1 6 4 parenthesized) (place-fret 2 3 1) (barre 5 2 3)) } c1^\markup { \override #'(fret-diagram-details . ( (fret-label-horizontal-offset . 2) (paren-padding . 0.25))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 1 6 4 parenthesized) (place-fret 2 3 1) (barre 5 2 3)) } } } @end lilypond @item Se ha añadido una instrucción de marcado nueva, @code{\justify-line}. Similar a la instrucción de marcado @code{\fill-line} excepto que en lugar de disponer @emph{palabras} en columnas, la instrucción @code{\justify-line} equilibra la distancia entre ellas, haciendo que cuando hay tres o más palabras en una instrucción de marcado, las distancias sean siempre consistentes. @lilypond[quote,verbatim,papersize=a6] \markup \fill-line {oooooo oooooo oooooo oooooo} \markup \fill-line {ooooooooo oooooooo oo ooo} @end lilypond @lilypond[quote,verbatim,papersize=a6] \markup \justify-line {oooooo oooooo oooooo oooooo} \markup \justify-line {ooooooooo oooooooo oo ooo} @end lilypond @item Se ha añadido la instrucción @code{\magnifyMusic}, que permite modificar el tamaño de la notación sin alterar el tamaño del pentagrama, mientras que se escalan automáticamente las plicas, barras y el espaciado horizontal. @lilypond[verbatim,quote] \new Staff << \new Voice \relative { \voiceOne 4 8. 16 8 4 r8 } \new Voice \relative { \voiceTwo \magnifyMusic 0.63 { \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) r32 c'' a c a c a c r c a c a c a c r c a c a c a c a c a c a c a c } } >> @end lilypond @item Se ha añadido una plantilla flexible adecuada para una amplia variedad de piezas de música coral. Se puede usar para crear música coral sencilla, con o sin acompañamiento de piano, en dos o en cuatro pentagramas. A diferencia de otras, esta plantilla está @q{incorporada}, lo que significa que no necesita ser copiada y editada: en lugar de ello sencillamente se incluye con la instrucción @code{\include} en el archivo de entrada. Para ver más detalles, consulte @rlearning{Plantillas incorporadas}. @item Se ha mejorado significativamente el posicionado de los números de grupos especiales para las barras en forma de codo. Anteriormente, los números de grupo especial se colocaban de acuerdo a la posición del corchete del grupo, incluso si éste no se imprimía. Ello podía dar lugar a números de tresillo descolocados. Ahora se sitúan más cerca de la barra cuando hay un segmento de barra adecuado para su colocación y cuando el corchete no se dibuja. Se ha añadido también detección de colisiones, desplazando horizontalmente si está demasiado cerca de una columna de notas adyacente pero preservando la distancia vertical del número a la barra acodada. Si el propio número es demasiado grande como para caber en el espacio disponible, se usa en su lugar el sistema original de posicionamiento basado en el corchete; en cambio, en caso de colisión (p. ej. con una alteración accidental) el número de tresillo se aleja moviéndolo verticalmente. @lilypond[verbatim,fragment,quote,relative=1] \time 3/4 \override Beam.auto-knee-gap = 3 \tuplet 3/2 4 { g8 c'' e, c'8 g,, e'' g,,8 e''' c,, } @end lilypond @noindent El comportamiento original del tresillo para las barras acodadas aún está disponible mediante una sobreescritura con la instrucción @code{\override} a travé de la nueva propiedad @code{knee-to-beam}. @lilypond[verbatim,fragment,quote,relative=1] \time 3/4 \override Beam.auto-knee-gap = 3 \override TupletNumber.knee-to-beam = ##f \tuplet 3/2 4 { g8 c'' e, c'8 g,, e'' g,,8 e''' c,, } @end lilypond @item Se han @q{armonizado} las instrucciones @code{\lyricsto} y @code{\addLyrics}. Ambas aceptan ahora el mismo tipo de lasta de argumentos delimitada que aceptan @code{\lyrics} y @code{\chords}. Se añade compatibilidad hacia atrás de manera que se permiten como argumentos identificadores musicales (p. ej. @code{\mus}). Se ha añadido una regla de @code{convert-ly} que elimina los usos redundantes de @code{\lyricmode} y reorganiza las combinaciones con iniciadores de contexto de forma que @code{\lyricsto} en general se aplica al final (es decir, como lo haría @code{\lyricmode}). @item Las funciones e identificadores de Scheme se pueden usar ahora como definiciones de salida. @item Las expresiones de Scheme se pueden usar ahora como constituyentes de acordes. @item Espaciado visual mejorado de las cabezas de nota con formas @q{MI} Funk y Walker pequeñas y normales, de forma que tengan la misma anchura que otras notas con forma dentro de sus respectivos conjuntos. Las cabezas del tipo @code{SOL} también han mejorado visualmente cuando se usan tanto con las cabezas normales de tipo Aiken como con las de tipo Sacred Harp, así como con las variantes de línea delgada. @item @code{LeftEdge} tiene ahora unas dimensiones verticales @code{Y-extent} definibles. Véase @rinternals{LeftEdge}. @item Se ha añadido una función nueva @code{make-path-stencil} que contempla todas las instrucciones @code{path} tanto relativas como absolutas: @code{lineto}, @code{rlineto}, @code{curveto}, @code{rcurveto}, @code{moveto}, @code{rmoveto}, @code{closepath}. La función también contempla la sintaxis de @q{letra única} utilizada en las instrucciones de ruta estándares del SVG: @code{L}, @code{l}, @code{C}, @code{c}, @code{M}, @code{m}, @code{Z} y @code{z}. Asimismo, la nueva instrucción es compatible hacia atrás con la función original @code{make-connected-path-stencil}. Véase también @file{scm/stencil.scm}. @item Las propiedades de contexto nombradas en la propiedad @samp{alternativeRestores} se restauran a su valor al comienzo de la @emph{primera} alternativa en todas las alternativas siguientes. Actualmente el conjunto predeterminado restaura el @q{compás actual}: @lilypond[verbatim,fragment,quote,relative=2] \time 3/4 \repeat volta 2 { c2 e4 | } \alternative { { \time 4/4 f2 d | } { f2 d4 | } } g2. | @end lilypond @noindent la @q{posición dentro del compás}: @lilypond[verbatim,fragment,quote,relative=2] \time 3/4 \repeat volta 2 { c2 e4 | } \alternative { { \time 4/4 \set Timing.measurePosition = #(ly:make-moment -1/2) f2 | } { f2 d4 | } } g2. | @end lilypond @noindent y los @q{cambios de acorde}; @lilypond[verbatim,fragment,quote] << \new ChordNames { \set chordChanges = ##t \chordmode { c1:m d:m c:m d:m } } \new Staff { \repeat volta 2 { \chordmode { c1:m } } \alternative { { \chordmode { d:m } } { \chordmode { c:m } } } \chordmode { d:m } } >> @end lilypond @item Salida MIDI mejorada para las marcas de respiración. Después de las notas unidas mediante una ligadura, las respiraciones toman la duración @emph{solo} de la última nota de la ligadura; p. ej. @code{@{ c4~ c8 \breathe @}} se ejecuta como @code{@{ c4~ c16 r @}} en lugar de @code{@{ c4 r8 @}}. Esto es más consistente con las articulaciones y con la forma en que los humanos interpretan las respiraciones después de las ligaduras de unión. También hace que ahora sea más fácil alinear varias marcas de respiración simultáneas sobre más de una parte, aunque las notas tengan distintas duraciones. @item Se ha añadido un nuevo estilo de cabeza de nota para la tablatura: @code{TabNoteHead.style = #'slash}. @item Se ha añadido cuatro nuevos glifos de clave @emph{Doble de Sol}, @emph{Sol de tenor}, @emph{Variante de percusión} y @emph{Variante de Do} así como sus correspondientes formas reducidas de cambio de clave. @lilypond[verbatim,quote,fragment] \override Staff.Clef.full-size-change = ##t \clef "GG" c c c c \clef "tenorG" c c c c \clef "varC" c c c c \clef "altovarC" c c c c \clef "tenorvarC" c c c c \clef "baritonevarC" c c c c \clef "varpercussion" c c c c \break \override Staff.Clef.full-size-change = ##f \clef "GG" c c c c \clef "tenorG" c c c c \clef "varC" c c c c \clef "altovarC" c c c c \clef "tenorvarC" c c c c \clef "baritonevarC" c c c c \clef "varpercussion" c c c c @end lilypond @item Las duraciones aisladas en las secuencias musicales ahora tienen el significado de notas sin altura. Esto puede ser de utilidad para especificar duraciones de música o de funciones de Scheme. Cuando se encuentran en la partitura final, las alturas vienen provistas por la nota o acorde anterior. He aquí dos ejemplos en los que se aprecia que produce una entrada más legible: @lilypond[verbatim,quote] \new DrumStaff \with { \override StaffSymbol.line-count = 1 } \drummode { \time 3/4 tambourine 8 \tuplet 3/2 { 16 16 16 } 8 \tuplet 3/2 { 16 16 16 } 8 8 | } @end lilypond @lilypond[verbatim,quote] \new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | } @end lilypond @item @code{\displayLilyMusic} y sus funciones de Scheme subyacentes ya no omiten las duraciones de nota redundantes. Ello hace que sea más fácil reconocer correctamente y formatear las duraciones aisladas en expresiones como @example @{ c4 d4 8 @} @end example @item Las excepciones en el barrado se pueden construir ahora usando la función de Scheme @code{\beamExceptions}. Ahora se puede escribir @lilypond[verbatim,quote,relative=1] \time #'(2 1) 3/16 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | @end lilypond @noindent con las diversas excepciones separadas mediante comprobaciones de compás @code{|} (la escritura del patrón de la excepción la altura de las notas es conveniente pero no obligatorio). Anteriormente habría sido necesario escribir las excepciones del barrado como @example \set Timing.beamExceptions = #'( ;start of alist (end . ;entry for end of beams ( ;start of alist of end points ((1 . 32) . (2 2 2)) ;rule for 1/32 beams -- end each 1/16 ))) @end example @item Las articulaciones más comunes se reflejan ahora en la salida MIDI. El acento y el marcato hacen a las notas sonar más fuerte; el picado, el staccato, el staccatissimo y el portato las hacen más cortas. Las marcas de respiración acortan la nota anterior. Este comportamiento se puede personalizar a través de las propiedades @code{midiLength} @code{midiExtraVelocity} sobre @code{ArticulationEvent}. Para ver ejemplos, consulre @file{script-init.ly}. @item La funcionalidad de PostScript del ajuste del trazo ya no se aplica automáticamente, sino que se deja a la discreción del dispositivo PostScript (de forma predeterminada, Ghostscript lo usa para las resoluciones de hasta 150 ppp al generar imagenes de matriz de puntos). Cuando se activa, se emplea (principalmente para las plicas y las líneas divisorias) un algoritmo de trazado más complejo diseñado para sacar provecho del ajuste del trazo. El ajuste del trazo se puede forzar especificando la opción de línea de órdenes @samp{-dstrokeadjust} al llamar a LilyPond. CUando se generan archivos @code{PDF}, ello dará lugar por lo general a vistas previas de @code{PDF} con un aspecto marcadamente mejorado pero un tamaño de archivo significativamente mayor. La calidad de impresión en resoluciones altas no resulta afectada. @end itemize @ifhtml Para ver noticias anteriores, diríjase a @uref{http://lilypond.org/doc/v2.18/Documentation/changes/}, @uref{http://lilypond.org/doc/v2.16/Documentation/changes/}, o @uref{../,vuelva} al índice de la documentación. @end ifhtml @bye