X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fes%2Fchanges.tely;h=20fc13c75034b9e27510c6344562ba5a4a4c0687;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=963f9c2b4f4cb8f307e922237e8059eecf5e1fd0;hpb=446dc1f3ac9bfff6bfee31de929698b0425da6fe;p=lilypond.git diff --git a/Documentation/es/changes.tely b/Documentation/es/changes.tely index 963f9c2b4f..20fc13c750 100644 --- a/Documentation/es/changes.tely +++ b/Documentation/es/changes.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*- @ignore - Translation of GIT committish: 1f13348d4fd4696d361c92e8575de6df74e818b1 + Translation of GIT committish: 24dd6365d3d05f13b9259f547be9b2517851a5d1 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -8,6 +8,7 @@ @end ignore @setfilename lilypond-changes.info @settitle Registro de cambios de LilyPond +@documentencoding UTF-8 @include macros.itexi @@ -44,7 +45,7 @@ Véase el manual del usuario, \NAME\ @finalout @node Top -@top Funcionalidades nuevas de la versión 2.16 desde la 2.14 +@top Funcionalidades nuevas de la versión 2.20 desde la 2.18 @allowcodebreaks false @@ -70,354 +71,1040 @@ which scares away people. @end ignore @item -Los puntillos ahora evitan a las otras voces en la polifonía a dos -partes, de manera que los usuarios pueden trasladar el grabador -@code{Dot_column_engraver} para ajustar los puntillos de forma -independiente para cada voz. +Ahora se pueden mover sistemas respecto a su posición actual +usando la subpropiedad @code{extra-offset} de +@code{NonMusicalPaperColumn.line-break-system-details}. Son +posibles tanto desplazamientos horizontales como verticales. Esta +funcionalidad es especialmente útil para hacer pequeños ajustes +sobre la posición vertical predeterminada de los sistemas +individuales. Véase @ruser{Explicit staff and system positioning} +para más información. -@lilypond[quote] +@item +Ahora se puede añadir texto sobre los corchetes de análisis +mediante el objeto @code{HorizontalBracketText}. +@lilypond[quote,verbatim] \layout { \context { - \Staff - \remove Dot_column_engraver - } \context { \Voice - \consists Dot_column_engraver + \consists "Horizontal_bracket_engraver" } } -\relative c'' << - { \time 6/8 - 4. b - } \\ { - 4. - } >> + +{ + \once \override HorizontalBracketText.text = "a" + c''\startGroup d''\stopGroup + e''-\tweak HorizontalBracketText.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 -Ahora se incluye en LilyPond una función de Scheme, desarrollada por -varios usuarios, para ajustar los puntos de control de las curvas como -ligaduras de unión y de expresión. +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. -@lilypond[quote,verbatim,relative=2] -g8->( bes,-.) d4 -\shape Slur #'((-0.5 . 1.5) (-3 . 0) (0 . 0) (0 . 0)) -g8->( bes,!-.) d4 +@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 -El uso de las especificaciones de @code{\tempo} en los bloques -@code{\midi} (eliminados en la versión 2.9.16 en favor del ajuste -explícito de @code{tempoWholesPerMinute}) ha resurgido: ahora -cualquier clase de música que efectúe ajustes de propiedades se -convierte en definiciones de contexto dentro de las especificaciones -de salida, permitiendo declaraciones como +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 -\layout @{ \accidentalStyle modern @} -\midi @{ \tempo 4. = 66 @} +\tagGroup violin,oboe,bassoon @end example @item -Se ha rediseñado la clave de Sol de LilyPond: el bucle superior está -más equilibrado, el gancho inferior sobresale menos y la línea -vertical principal ("spine") está curvada de forma más regular. -Pueden compararse las versiones vieja y nueva consultando la -documentación: -@uref{http://lilypond.org/doc/v2.14/Documentation/notation/the-feta-font.html#clef-glyphs, -versión antigua}, -@uref{http://lilypond.org/doc/v2.15/Documentation/notation/the-feta-font.html#clef-glyphs, -versión nueva}. +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 -Se han simplificado las instrucciones de los sellos de elementos -gráficos para permitir una menor duplicación de código y mejores -aproximaciones de altura de los objetos gráficos. Se han eliminado -las siguientes instrucciones de sello: -@itemize -@item @code{beam} -@item @code{bezier-sandwich} -@item @code{bracket} -@item @code{dashed-slur} -@item @code{dot} -@item @code{oval} -@item @code{repeat-slash} -@item @code{zigzag-line} -@end itemize +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 tratan los corchetes como objetos diferenciados y no como -parte de la plica. -@lilypond[fragment,quote,relative=2] -\override Flag #'color = #red -g8 -@end lilypond +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 -Se puede elegir entre dos métodos de numeración de compases, en -especial para cuando se emplean repeticiones: +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}. -@lilypond[fragment,quote,relative=1,noragged-right] -\relative c'{ - \set Score.alternativeNumberingStyle = #'numbers - \repeat volta 3 { c4 d e f | } - \alternative { - { c4 d e f | c2 d \break } - { f4 g a b | f4 g a b | f2 a | \break } - { c4 d e f | c2 d } +@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 } - c1 \break - \set Score.alternativeNumberingStyle = #'numbers-with-letters - \repeat volta 3 { c,4 d e f | } - \alternative { - { c4 d e f | c2 d \break } - { f4 g a b | f4 g a b | f2 a | \break } - { c4 d e f | c2 d } + \context { + \TabStaff + stringTunings = \stringTuning + additionalBassStrings = \stringTuning + fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k") } - c1 + } } @end lilypond @item -Lo que sigue es un cambio fundamental en la representación que -LilyPond hace de la música: los eventos de duración como -@code{LyricEvent} y @code{NoteEvent} ya no se encuentran envueltos -dentro de elementos @code{EventChord} a no ser que se hayan escrito -realmente como parte de un acorde. Si manipulamos expresiones -musicales en Scheme, el nuevo comportamiento puede necesitar cambios -en nuestro código. Las llamadas a la función musical -@code{\eventChords} o a la función de Scheme @code{event-chord-wrap!} -convierten a la representación anterior; la utilización de una -cualquiera de ellas puede ser la vía más sencilla para mantener -operativo el código tradicional. +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 -Los tres siguientes elementos de la lista son consecuencia de este -cambio. +@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 -Se ha reimplementado la abreviatura de ayuda para intruducción -repetitiva de acordes, @code{q}. Ahora los acordes repetidos se -sustituyen justo antes de la interpretación de la expresión musical. -En caso de que el usuario quiera retener ciertos eventos del acorde -original, puede ejecutar manualmente la función @code{\chordRepeats} -de sustitución de acordes de repetición. +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 -Los números de cuerdas y digitaciones de la mano derecha sobre notas -individuales aparecen ahora sin tener que escribirlas dentro de -corchetes de acorde. +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 -Ahora las funciones musicales funcionan igual cuando se usan dentro o -fuera de los acordes, incluidas todas las posibilidades de la -exploración de argumentos. Las variables musicales se pueden usar -dentro de acordes: una construcción como -@lilypond[verbatim,quote,ragged-right] -tonic=fis' -{ <\tonic \transpose c g \tonic> } +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 -@noindent -ahora funciona como se espera. Puede utilizarse @code{#@{@dots{}#@}} -para la construcción de componentes de acordes. Ahora @code{\tweak} -funciona sobre notas individuales sin necesidad de incluirlas dentro -de un acorde. Ahora es posible usarla dentro de eventos de -instrucciones y letra de canciones, pero aún no es probable que -ofrezca resultados. - -@item -@code{\tweak} now takes an optional layout object specification. It can -be used for tweaking layout objects that are only indirectly caused by -the tweaked event, like accidentals, stems, and flags: - -@lilypond[verbatim,quote,ragged-right,relative=2] -<\tweak Accidental #'color #red cis4 - \tweak Accidental #'color #green es - g> -@end lilypond - -@item -Las expresiones de Scheme dentro de fragmentos de código de LilyPond -incrustados (@code{#@{@dots{}#@}}) se ejecutan ahora dentro de la -cerradura léxica del código de Scheme circundante. El símbolo -@code{$} ya no es especial dentro del código de LilyPond incrustado. -Se puede utilizar de forma incondicional dentro de código de LilyPond -para su evaluación inmediata, de forma parecida a la forma en que se -utilizaba anteriormente @code{ly:export}. Se ha suprimido -@code{ly:export}. Como consecuencia, ahora @code{#} está libre para -diferir la evaluación de su argumento hasta que el analizador -sintáctico reduzca efectivamente la expresión contenida, reduciendo -significativamente el potencial de la evaluación prematura. - -@item -Se ha mejorado el soporte de acordes de tipo jazz: se reconocen los -acordes lidios y alterados; ahora se tratan los separadores entre -modificadores de acorde de forma independiente de los separadores -entre acordes invertidos y sus notas de bajo (y por omisión, la barra -inclinada se usa ahora solamente para el último tipo de separador); -las notas adicionales ya no van prefijadas por "add" de forma -predeterminada; y la "m" en los acordes menores se puede personalizar. -Consulte @ruser{Nombres de acorde personalizados} para más -información. - -@item -Se ha cambiado el nombre de la instrucción @code{\markuplines} por -@code{\markuplist} para conseguir una mejor correspondencia con su -semántica y con la nomenclatura general de LilyPond. - -@item -Se ha simplificado considerablemente la interfaz para especificar -afinaciones en las tablaturas y se emplea la función de Scheme -@code{\stringTuning} para la mayor parte de los propósitos. - -@item -Las barras ahora pueden preservar la inclinación por encima de los -saltos de línea. -@lilypond[fragment,quote,relative=2] -\override Beam #'breakable = ##t -a8[ b c d e f g \bar "" \break f e d c b a] -\once \override Beam #'positions = #beam::align-with-broken-parts -a8[ b c d e f g \bar "" \break f e d c b a] -\once \override Beam #'positions = #beam::slope-like-broken-parts -a8[ b c d e f g \bar "" \break f e d c b a] -@end lilypond -Para hacerlo, se han hecho obsoletas varias funciones de "callback". -@itemize -@item @code{ly:beam::calc-least-squares-positions} -@item @code{ly:beam::slope-damping} -@item @code{ly:beam::shift-region-to-valid} -@end itemize -Además, @code{ly:beam::quanting} ahora acepta un argumento adicional -para ayudar a los cálculos sobre los cambios de línea. Todas estas -funciones se llaman automáticamente cuando se ajusta el parámetro -@code{positions}. @item -En los argumentos de función, la música, los elementos de marcado y -las expresiones de Scheme (así como algunas otras entidades -sintácticas) se han hecho mayormente intercambiables y se diferencian -solamente mediante la evaluación del predicado respectivo. En ciertos -casos, el analizador sintáctico consulta este predicado, como cuando -se decide si interpretar @code{-3} como un número o como un evento de -digitación. +@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 se pueden definir las funciones musicales (y sus parientes -cercanos) con argumentos opcionales. +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 -Para definir instrucciones que se ejecutan solamente por sus efectos -secundarios, ahora está disponible @code{define-void-function}. +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 -Hay una instrucción nueva @code{define-event-function} en analogía con -@code{define-music-function} que se puede usar para definir funciones -musicales que actúan como post-eventos sin que se requiera un especificador -de dirección como (@code{-}, @code{^} o @code{_}) antes de ellos. +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 -@lilypond[quote,verbatim,ragged-right] -dyn=#(define-event-function (parser location arg) (markup?) - (make-dynamic-script arg)) -\relative c' { c\dyn pfsss } +\markup \bold-red "text" +\markuplist \column-lines \bold-red { One Two } + +{ c' \highlight d' e'2-\highlight -! } @end lilypond @item -Se puede incluir una lista de alias en ASCII para caracteres -especiales. +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*}. -@lilypond[quote,verbatim] -\paper { - #(include-special-characters) +@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 } -\markup "• † ©right; &OE; &ss; ¶" +>> @end lilypond @item -Hay una instrucción nueva @code{define-scheme-function} en analogía -con @code{define-music-function} que puede usarse para definir -funciones que se evalúan a expresiones de Scheme pero aceptan -argumentos en la sintaxis de LilyPond. +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 -Ahora se puede utilizar la construcción @code{#@{ @dots{} #@}} no solo -para crear listas secuenciales de música, sino también para alturas -(que se distinguen de los eventos de nota sencillos por la ausencia de -duración u otra información que no puede formar parte de una altura), -eventos musicales únicos, expresiones musicales vacías, post-eventos, -elementos de marcado (sobre todo para liberar a los usuarios de la -necesidad de usar la macro @code{markup}), listas de marcado, -expresiones numéricas, definiciones y modificaciones de contextos y -algunas otras cosas. Si no contiene nada o contiene un único evento -musical, ya no devuelve una lista secuencial de música, sino una -expresión musical vacía o simplemente el propio evento musical, -respectivamente. +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 pueden usar alturas en la parte derecha de las asignaciones. Las -alturas se diferencian de los eventos de una sola nota en que no -tienen duración ni otras informaciones que no pueden formar parte de -una altura. +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 -Nueva opción de la línea de órdenes @option{--loglevel=@var{level}} -para controlar el volumen de datos que LilyPond produce en la salida. -Los valores posibles son ERROR (errores), WARN (advertencias), -BASIC_PROGRESS (progreso básico), PROGRESS (progreso) y DEBUG -(depuración). +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 -@code{\once \set} ahora reinicia correctamente el valor de la -propiedad al valor previo. +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 -@lilypond[fragment,quote,relative=2] - \set fingeringOrientations = #'(left) - 4 - \once \set fingeringOrientations = #'(right) - - -"left" +@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 -La alineación de los elementos de matiz dinámico extensos -(reguladores, crescendi textuales, etc.) se divide automáticamente si -se da explícitamente una dirección distinta. +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}. -@lilypond[fragment,quote,relative=2] -c4_\< c c^\> c c1_\p +@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 -Ahora las apoyaturas y mordentes funcionan también dentro de una -ligadura de expresión, y no solo dentro de una ligadura de fraseo. -Asimismo, se ha añadido la función @code{\slashedGrace} que no imprime -ninguna ligadura partiendo de la nota del mordente. +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. -@lilypond[fragment,relative=2] -c4( \appoggiatura e8 d4 \acciaccatura e8 d4 \slashedGrace e8 c4) +@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 -Para suprimir a línea en un elemento de crescendo extenso (y otros -elementos extensos similares), LilyPond contempla ahora de forma plena -la propiedad @code{#'style = #'none}. +@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 -@lilypond[fragment,quote,relative=2] -\override DynamicTextSpanner #'style = #'none -c4\cresc c c g, c'\p +@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 -LilyPond.app está disponible ahora para MacOS X 10.7. ¡Gracias, -Christian Hitz! +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 -Los glissandos pueden abarcar varias líneas. +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.14/Documentation/changes/}, -@uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS.html}, +@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.