@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
Translation of GIT committish: 6b8cabe379e8b4b945797a4e55759c56117223d4
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
@include included/acknowledge.itexi
@include included/authors.itexi
@include included/helpus.itexi
@node Comunidad
@unnumbered Comunidad
@translationof Community
@divClass{link-headings}
@divClass{column-center-top}
@subheading Interactuar con la comunidad
@itemize
@item
@ref{Contacto}: obtener ayuda, charlar y ¡mantenerse en contacto!
@item
@ref{Ejemplos mínimos}: son @emph{muy} recomendables cuando se
habla de LilyPond.
@item
@ref{Informes de fallos}: algo ha ido mal.
@end itemize
@divEnd
@divClass{column-left-bottom}
@subheading Mejorar LilyPond
@itemize
@item
@ref{Preste su ayuda}: se solicita su colaboración.
@item
@ref{Patrocinio}: contribuciones financieras.
@item
@ref{Desarrollo}: para colaboradores y pilotos de prueba.
@item
@ref{Google Summer of Code}: ideas para el «Google Summer of Code»
(Verano del Código de Google).
@item
@ref{Autores}: las personas que han hecho a LilyPond lo que hoy
es.
@item
@ref{Acknowledgements}: proyectos e instituciones que apoyan a
LilyPond
@end itemize
@divEnd
@divClass{column-right-bottom}
@subheading Miscelánea
@itemize
@item
@ref{Publicaciones}: qué hemos escrito, y qué han escrito sobre
nosotros.
@item
@ref{Noticias}: noticias procedentes del proyecto LilyPond.
@item
@ref{Desván}: anuncios y registros de cambios en versiones
anteriores, noticias antiguas, etc.
@end itemize
@divEnd
@divEnd
@divClass{hide}
@menu
* Contacto::
* Ejemplos mínimos::
* Informes de fallos::
* Preste su ayuda::
* Patrocinio::
* Desarrollo::
* Google Summer of Code::
* Autores::
* Reconocimientos::
* Publicaciones::
* Noticias::
* Desván::
@end menu
@divEnd
@node Contacto
@unnumberedsec Contacto
@translationof Contact
@divClass{column-left-bottom}
@subheading Discusión y ayuda entre usuarios
@subsubheading Lista de distribución de usuarios: @code{lilypond-user@@gnu.org}
Esta lista de distribución de correo (en inglés) es el lugar
principal que tienen los usuarios para discutir y prestarse mutua
ayuda.
@quotation
@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user,
Suscripción e información sobre lilypond-user}
@uref{http://lists.gnu.org/archive/html/lilypond-user/,
Archivo 1 de la lista de usuarios}
@uref{http://www.mail-archive.com/lilypond-user@@gnu.org/,
Archivo 2}
@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.general,
Archivo 3}
@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general,
Escribir a la lista lilypond-user a través de gmane}
@end quotation
@warning{Al formular preguntas, por favor, ¡utilice
@ref{Ejemplos mínimos}!}
@subsubheading El Repositorio de Fragmentos de Código de LilyPond
El Repositorio de Fragmentos de Código de LilyPond es una gran
colección de ejemplos remitidos por los usuarios, que se pueden
copiar y usar libremente en sus propias obras. ¡Vea las cosas que
otros han escrito, y añada las suyas propias!
@example
@uref{http://lsr.di.unimi.it}
@end example
Los ejemplos del LSR que son especialmente instructivos se
incluyen en nuestra documentación oficial, en @ref{Fragmentos}.
@subsubheading IRC
Existe un cierto grado de apoyo a través de nuestro canal de IRC,
@example
@uref{irc://irc.freenode.net/lilypond, #lilypond@@irc.freenode.net}
@end example
Este canal no tiene unos archivos públicos, por lo que cualquier
cuestión que pudiera ser de utilidad para los demás debiera
preferentemente enviarse a una de las listas de correo.
@html
@end html
@subsubheading Otros idiomas
@quotation
@uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
Lista de correo en español}
@uref{http://www.lilypondforum.de/,
Foro alemán}
@uref{http://groups.google.com/group/lilypond-brasil,
Grupo de portugués}
@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
Lista de correo en francés}
@end quotation
@divEnd
@divClass{column-right-top}
@subheading El blog de LilyPond
Lea el bog de nuestra comunidad, @q{Scores of Beauty}:
@example
@uref{http://lilypondblog.org}
@end example
@subsubheading Lista de correo de lanzamientos: @code{info-lilypond@@gnu.org}
Esta lista de distribución de correo es una lista de sólo lectura y
bajo tráfico, que envía notificaciones de los últimos lanzamientos.
@quotation
@uref{http://lists.gnu.org/mailman/listinfo/info-lilypond,
Suscripción e información sobre info-lilypond}
@uref{http://lists.gnu.org/archive/html/info-lilypond/,
Archivo 1 de la lista info}
@uref{http://www.mail-archive.com/info-lilypond@@gnu.org/,
Archivo 2}
@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.announce,
Archivo 3}
@c don't include gmane posting here. -gp
@end quotation
@divEnd
@divClass{column-right-bottom}
@subheading Discusiones y traducciones
@subsubheading La lista de distribución de desarrolladores: @code{lilypond-devel@@gnu.org}
La discusión entre desarrolladores tiene lugar en esta lista. Los
parches se pueden también enviar aquí.
@quotation
@uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
Suscripción e información sobre lilypond-devel}
@uref{http://lists.gnu.org/archive/html/lilypond-devel/,
Archivo 1 de la lista devel}
@uref{http://www.mail-archive.com/lilypond-devel@@gnu.org/,
Archivo 2}
@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.devel,
Archivo 3}
@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel,
Escribir a la lista lilypond-devel a través de gmane}
@end quotation
@subsubheading Lista de fallos: @code{bug-lilypond@@gnu.org}
Los informes de fallo y discusión sobre ellos se deben enviar
aquí. No envíe parches a esta lista.
@quotation
@uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
Suscripción e información sobre bug-lilypond}
@uref{http://lists.gnu.org/archive/html/bug-lilypond/,
Archivo 1 de la lista bug}
@uref{http://www.mail-archive.com/bug-lilypond@@gnu.org/,
Archivo 2}
@uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs,
Archivo 3}
@c don't include gmane posting here. -gp
@end quotation
@warning{Antes de enviar un mensaje a la lista de fallos, lea
nuestras indicaciones para elaborar @ref{Informes de fallos}.}
@subsubheading Lista de correo de traducciones: @code{translations@@lilynet.org}
Toda discusión sobre la traducción de los manuales de LilyPond se
debe dirigir aquí. No envíe parches a esta lista.
@quotation
@uref{http://lilypond-translations.3384276.n2.nabble.com/,
Archivo de la lista de correo de traducción}
@end quotation
@divEnd
@node Ejemplos mínimos
@unnumberedsec Ejemplos mínimos
@translationof Tiny examples
@divClass{column-center-top}
@subheading ¿Qué son los @qq{ejemplos mínimos}?
Un ejemplo mínimo es un ejemplo del que no se puede eliminar
@strong{nada}.
@divEnd
@divClass{column-left-bottom}
@subheading ¿Por qué crearlos?
@divClass{keep-bullets}
@itemize
@item
Cuanto más simple es el ejemplo, más rápidamente pueden los
desarrolladores entenderlo y ayudarle.
@item
Un ejemplo mínimo demuestra que se ha esforzado en resolver el
problema por sí mismo. Cuando alguien envía bloques grandes de
código de entrada, da la impresión de que no le importa que le
ayudemos o que no.
@item
La creación de un ejemplo mínimo le ayuda a entender lo que está
ocurriendo. Muchos informes falsos de problemas se podrían evitar
intentando crear un ejemplo mínimo; si no puede reproducir un
@qq{bug} en un ejemplo mínimo, probablemente el problema era una
comprensión insuficiente sobre LilyPond, ¡no un verdadero bug!
@end itemize
@divEnd
@divEnd
@divClass{column-right-bottom}
@subheading ¿Cómo se hacen?
@divClass{keep-bullets}
@itemize
@item
Incluya el número de versión en una instrucción @code{\version}.
@item
¡Hágalo muy pequeño! Los ejemplos relacionados con el espaciado o
la disposición de las páginas pueden requerir muchos compases,
pero casi todos los problemas se pueden reproducir mediante un
solo compás o menos.
@item
Cuando trate de crear un ejemplo, pruebe a convertir en
comentarios @w{(@code{%} ó @code{%@{ @dots{} %@}})} distintas
secciones del archivo. Si puede convertir un bloque en un
comentario y aún mostrar la idea principal, entonces elimine ese
bloque.
@item
Evite la utilización de notas, tonalidades o compases muy
complicados, a no ser que el bug esté relacionado con el
comportamiento de esos elementos.
@item
No utilice instrucciones @code{\override} ni @code{\set} a no ser
que el bug se refiera a esas instrucciones en concreto.
@item
Opcionalmente, adjunte una imagen que muestre el resultado gráfico
que desea.
@end itemize
@divEnd
@divEnd
@divClass{column-center-bottom}
@subheading ¿Cuán pequeño debe ser?
El código que sigue ¿es un ejemplo mínimo?
@example
\version "2.14.1"
\include "español.ly"
\score @{
\new Staff @{
\key re \major
\numericTimeSignature
\time 2/4
16 8.
%% Aquí: la ligadura de unión sobre los Re tiene un aspecto gracioso
%% ¿Demasiado alta? ¿El punto final de la mano izquierda no se alinea
%% con la ligadura del Si?
~
8 [ ]
@}
@}
@end example
Bueno, no es muy grande, pero he aquí un ejemplo verdaderamente mínimo:
@example
\version "2.14.1"
@{
% la ligadura intermedia tiene un aspecto gracioso aquí:
8. ~ 8
@}
@end example
Muy pocos ejemplos mínimos superan las 10 líneas de código; ¡lo
más corriente es que basten 4 líneas para mostrar el problema!
@divEnd
@node Informes de fallos
@unnumberedsec Informes de fallos
@translationof Bug reports
@divClass{heading-center}
Si tiene un código de entrada que produce una terminación abrupta
o una salida defectuosa, eso es un bug.
@divEnd
@divClass{column-center-top}
@subheading Paso 1: fallos conocidos
Probablemente ya estamos al tanto de este bug. Compruébelo aquí:
@example
@uref{http://sourceforge.net/p/testlilyissues/issues/}
@end example
@warning{Le rogamos que @strong{NO} añada informes de fallos
directamente al sistema de seguimiento. Una vez que un problema
se ha añadido al sistema, ya puede añadir libremente más
información a ese informe.}
@divEnd
@divClass{column-left-bottom}
@subheading Paso 2: creación de un informe de fallo
Si ha descubierto un fallo que no está en la lista, ayúdenos
elaborando un informe de fallo.
@warning{Sólo aceptamos informes en forma de @ref{Ejemplos
mínimos}. Disponemos de recursos muy limitados, por lo que
cualquier ejemplo que no sea mínimo va a ser rechazado. ¡Casi
todos los bugs se pueden demostrar con cuatro notas o menos!}
He aquí un ejemplo de un buen informe de fallo:
@example
% Accidentals should be printed for only
% the first note in a tie, but this version
% prints flats on both notes.
\version "2.10.1"
\relative c'' @{
bes1 ~
bes1
@}
@end example
@divEnd
@divClass{column-right-bottom}
@subheading Paso 3: enviar el informe de fallo
Una vez que ha verificado que el problema no es conocido ya, y ha
creado el informe, ¡puede enviárnoslo!
@divClass{keep-bullets}
@itemize
@item
Si está suscrito a la lista de correo
@uref{mailto:bug-lilypond@@gnu.org,bug-lilypond@@gnu.org}, envíe
un mensaje de la forma habitual.
@item
Si no está suscrito, aún puede enviar un informe de fallo con el
@uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs,
interfaz web de gmane para lilypond.bugs}.
Sin embargo, existe una comprobación muy estricta de que no hay
@qq{top-posting} (contestar por encima) en el interfaz de gmane,
que se dispara incorrectamente con frecuencia a causa de los
archivos de lilypond. Para evitarlo, escriba:
@example
> I'm not top posting.
@end example
@noindent
(@emph{debe} escribir el ángulo @code{>} ) al principio de su
informe.
@end itemize
@divEnd
@divEnd
@divClass{column-center-bottom}
@subheading Paso 4: Esperar respuesta
Una vez que su informe de fallo se ha enviado a la lista, nuestro
Escuadrón de Fallos lo examinará el informe. Quizá le pidan más
información. Se le avisará cuando el informe se añada al sistema
de seguimiento de fallos. Déles un tiempo de unos 4 días, pues
disponemos de un número limitado de voluntarios para esta tarea.
Cuando el fallo se ha añadido al sistema de seguimiento, puede
comentarlo para añadirle más información. In order to be
automatically notified about any activity on the tracker issue,
you may subscribe by clicking the envelope symbol next to the
issue title. Commenting and subscribing require being logged in
with a sourceforge account.
@divEnd
@divClass{column-center-bottom}
@subheading Ayuda opcional: mostrar el resultado deseado
Una vez que el problema se ha añadido al sistema de seguimiento,
puede ser de mucha ayuda que veamos la salida deseada. ¡Con toda
libertad añada código de entrada y/o imágenes (creadas
posiblemente con otras herramientas) que muestren el aspecto que
usted cree que debe tener!
@divEnd
@node Preste su ayuda
@unnumberedsec Preste su ayuda
@translationof Help us
@divClass{column-center-top}
@helpusNeed
@divEnd
@divClass{column-left-top}
@divClass{keep-bullets}
@helpusSimple
@divEnd
@divEnd
@divClass{column-right-top}
@helpusAdvanced
@divEnd
@node Patrocinio
@unnumberedsec Patrocinio
@translationof Sponsoring
@divClass{keep-bullets}
@divClass{column-left-top}
@subheading Recompensas
Anteriormente,
@itemize
@item ciertos usuarios han pagado a cambio de nuevas funcionalidades
@item algunos desarrolladores han sido contratados para añadir funcionalidades nuevas
@end itemize
El proyecto LilyPond no organiza estas tareas; ni refrendamos ni
disuadimos de tales acuerdos. Cualquier contrato privado entre
personas individuales es asunto de dichas personas, no nuestro.
@divEnd
@divClass{column-right-top}
@subheading Guidelines
Cualquier usuario que quiera ofrecer dinero a cambio de un
trabajo, debería tener en cuenta los siguientes puntos:
@itemize
@item
Los desarrolladores de LilyPond pueden anunciar sus servicios en
las listas de correo de lilypond de vez en cuando.
@item
Cualquier acuerdo entre personas individuales debiera incluir las
precauciones normales cuando se hacen negocios: quién paga, cuánto
paga, qué método se utiliza para pagar, y sobre qué paquete de
condiciones. Sugerimos que cualquier ambigüedad o incertidumbre
en tales cuestiones se resuelvan antes de que dé comienzo
cualquier trabajo.
@end itemize
@divEnd
@divClass{column-center-bottom}
@subheading Desarrolladores interesados
A continuación aparece una lista de las personas que han expresado
interés en recibir recompensas. Observe que la cantidad de
trabajo hecha por personas individuales varía bastante a lo largo
de los años. No garantizamos que esta lista esté actualizada, ni
que las personas aquí relacionadas tengan cualquier
disponibilidad. El único criterio es "Fulanito ha pedido aparecer
en esta página".
El examen de la historia del sistema de control de versiones Git
es una buena manera de determinar quiénes son los desarrolladores
más activos y experimentados. Las estadísticas están al día hasta
la versión @versionDevel{}:
@multitable @columnfractions .3 .3 .3
@item @uref{http://lilypond.org/~graham/gitstats-all/, historia general}
@tab @uref{http://lilypond.org/~graham/gitstats-1year/, último año}
@tab @uref{http://lilypond.org/~graham/gitstats-3months/, últimos tres meses}
@end multitable
Desarrolladores interesados:
@table @asis
@item @email{lilypond-devel@@gnu.org, Lista de desarrolladores de LilyPond}
Puesto que no hay ningún desarrollador en la lista de interesados para el
desarrollo comercial, lo mejor que puede hacer es preguntar en la lista
de desarrolladores.
@c Format
@c @item @email{name@@adress.domain, Name}
@c area of interest (256 chars max)
@end table
@divEnd
@divEnd
@node Desarrollo
@unnumberedsec Desarrollo
@translationof Development
@divClass{heading-center}
@ifclear web_version
@heading Materiales de desarrollo para LilyPond @version
@end ifclear
@ifset web_version
@heading Materiales de desarrollo para LilyPond @versionDevel
@end ifset
@c we normally don't allow named references, but in this case
@c it's good to emphasize the "stable" part. -gp
@warning{Éstas son las versiones @emph{inestables de desarrollo}.
Si tiene la más ligera duda acerca de cómo usar o instalar
LilyPond, le conminamos a que utilice la
@ref{Descarga, descarga estable}, y lea los
@ref{Manuales, manuales estables}.}
@divEnd
@divClass{column-center-top}
@subheading Números de versión
Existen dos conjuntos de lanzamientos para LilyPond: lanzamientos
estables, y lanzamientos inestables de desarrollo. Las versiones
estables tienen un número de versión @q{menor} par (p.ej., 2.8,
2.10, 2.12). Las versiones de desarrollo tienen un número
@q{menor} de versión impar (p.ej., 2.7, 2.9, 2.11).
@divEnd
@divClass{column-left-top}
@subheading Descarga
Las instrucciones de Git y para la compilación están en la Guía
del Colaborador.
@quotation
@uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, Repositorio Git de lilypond}
@end quotation
En general, los redactores de la documentación y los pilotos de
pruebas querrán descargar el último archivo binario:
@quotation
@downloadDevelLinuxNormal
@downloadDevelLinuxBig
@downloadDevelLinuxPPC
@downloadDevelFreeBSDNormal
@downloadDevelFreeBSDBig
@downloadDevelDarwinNormal
@downloadDevelDarwinPPC
@downloadDevelWindows
@downloadDevelSource-es
@end quotation
@divEnd
@divClass{column-right-top}
@subheading Guía del colaborador
El desarrollo de LilyPond es un asunto bastante complicado.
LilyPond es un proyecto grande y (más o menos) estable. Para
poder ayudar a los nuevos colaboradores, y para mantener todo el
sistema (más o menos) estable, hemos escrito un manual para los
colaboradores.
@docLinksBare{Guía del colaborador, contributor,
@rcontribnamed{Top,Guía del colaborador},
@manualDevelContributorSplit-es,
@manualDevelContributorBig-es, 500 kB,
@manualDevelContributorPdf-es, 2.8 MB}
@divEnd
@divClass{column-center-top}
@subheading Pruebas de regresión
@divClass{keep-bullets}
@ifclear web_version
@itemize
@item
@item @uref{../../input/regression/collated-files.html, Pruebas de regresión}:
Pruebas del lanzamiento actual.
(@uref{../../input/regression/collated-files.pdf, versión PDF})
@item
@uref{../../input/regression/musicxml/collated-files.html, Pruebas de regresión de MusicXML}:
las pruebas de MusicXML de la versión actual.
(@uref{../input/regression/musicxml/collated-files.pdf, versión PDF}).
@item
@uref{../../input/regression/abc2ly/collated-files.html, pruebas de abc2ly}:
Las pruebas de abc2ly de esta versión.
(@uref{../../input/regression/abc2ly/collated-files.pdf, versión en PDF})
@item
@uref{../../input/regression/lilypond-book/collated-files.html, pruebas de lilypond-book}:
Las pruebas de lilypond-book de esta versión.
(@uref{../../input/regression/lilypond-book/collated-files.pdf, versión en PDF})
@end itemize
@end ifclear
@ifset web_version
@subsubheading Versión de desarrollo
@itemize
@item @regtestDevel-es (@regtestDevelPdf-es{})
@item @regtestDevelXml-es (@regtestDevelXmlPdf-es{})
@item @regtestDevelAbc-es (@regtestDevelAbcPdf-es{})
@item @regtestDevelLilypondBook-es (@regtestDevelLilypondBookPdf-es{})
@end itemize
@subsubheading Versión estable
@itemize
@item @regtestStable-es (@regtestStablePdf-es{})
@item @regtestStableXml-es (@regtestStableXmlPdf-es{})
@item @regtestStableAbc-es (@regtestStableAbcPdf-es{})
@item @regtestStableLilypondBook-es (@regtestStableLilypondBookPdf-es{})
@end itemize
@end ifset
@subsubheading Todas las versiones
@itemize
@item @uref{http://lilypond.org/test, Comparaciones entre pruebas de regresión}
@item @uref{http://lilypond.org/downloads/binaries/test-output/,
Archivo de todas las pruebas de regresión}
@end itemize
@divEnd
@divEnd
@divClass{column-center-bottom}
@subheading Manuales
@ifclear web_version
@warning{Estos manuales son para LilyPond @version{}; los manuales
más recientes están en @url{http://lilypond.org}}
@end ifclear
@divClass{normal-table}
@multitable @columnfractions .3 .3 .3
@headitem Introducción
@item
@docLinkSplit{Aprendizaje,learning,@manualDevelLearningSplit-es}
@tab
@docLinkBig{Aprendizaje,learning,@manualDevelLearningBig-es}
@tab
@docLinkPdf{Aprendizaje,learning,@manualDevelLearningPdf-es}
@item
@docLinkSplit{Glosario,music-glossary,@manualDevelGlossarySplit-es}
@tab
@docLinkBig{Glosario,music-glossary,@manualDevelGlossaryBig-es}
@tab
@docLinkPdf{Glosario,music-glossary,@manualDevelGlossaryPdf-es}
@item
@docLinkSplit{Ensayo,essay,@manualDevelEssaySplit-es}
@tab
@docLinkBig{Ensayo,essay,@manualDevelEssayBig-es}
@tab
@docLinkPdf{Ensayo,essay,@manualDevelEssayPdf-es}
@end multitable
@multitable @columnfractions .3 .3 .3
@headitem Estándar
@item
@docLinkSplit{Notación,notation,@manualDevelNotationSplit-es}
@tab
@docLinkBig{Notación,notation,@manualDevelNotationBig-es}
@tab
@docLinkPdf{Notación,notation,@manualDevelNotationPdf-es}
@item
@docLinkSplit{Utilización,usage,@manualDevelUsageSplit-es}
@tab
@docLinkBig{Utilización,usage,@manualDevelUsageBig-es}
@tab
@docLinkPdf{Utilización,usage,@manualDevelUsagePdf-es}
@item
@docLinkSplit{Fragmentos,snippets,@manualDevelSnippetsSplit-es}
@tab
@docLinkBig{Fragmentos,snippets,@manualDevelSnippetsBig-es}
@tab
@docLinkPdf{Fragmentos,snippets,@manualDevelSnippetsPdf-es}
@end multitable
@multitable @columnfractions .3 .3 .3
@headitem Poco frecuentes
@item
@docLinkSplit{Web,web,@manualDevelWebSplit-es}
@tab
@docLinkBig{Web,web,@manualDevelWebBig-es}
@tab
@docLinkPdf{Web,web,@manualDevelWebPdf-es}
@item
@docLinkSplit{Cambios,changes,@manualDevelChangesSplit-es}
@tab
@docLinkBig{Cambios,changes,@manualDevelChangesBig-es}
@tab
@docLinkPdf{Cambios,changes,@manualDevelChangesPdf-es}
@item
@docLinkSplit{Extensiones,extending,@manualDevelExtendingSplit-es}
@tab
@docLinkBig{Extensiones,extending,@manualDevelExtendingBig-es}
@tab
@docLinkPdf{Extensiones,extending,@manualDevelExtendingPdf-es}
@item
@docLinkSplit{Funcionamiento interno,internals,@manualDevelInternalsSplit-es}
@tab
@docLinkBig{Funcionamiento interno,internals,@manualDevelInternalsBig-es}
@tab
@docLinkPdf{Funcionamiento interno,internals,@manualDevelInternalsPdf-es}
@end multitable
@ifset web_version
@multitable @columnfractions .3
@headitem Para descargar
@item
@doctarballDevel-es
@end multitable
@end ifset
@divEnd
@divEnd
@node Google Summer of Code
@unnumberedsec Google Summer of Code
@translationof Google Summer of Code
@divClass{column-center-top}
@subheading ¿Qué es el Google Summer of Code (Verano del Código de Google)?
@uref{https://summerofcode.withgoogle.com/, GSoC} es un programa
global que ofrece a estudiantes una ayuda para que trabajen en
proyectos de software de fuentes abiertas durante las vacaciones
de verano. Durante tres meses, los estudiantes trabajan para
completar una tarea dada como parte de la comunidad del proyecto y
bajo la guía de mentores con experiencia. El programa es una
excelente oportunidad para que los estudiantes obtengan
experiencia en el desarrollo de software en el mundo real y hagan
contribuciones que beneficie a todos. Atrae a colaboradores
nuevos y anima a los estudiantes que ya participan en el
desarrollo de LilyPond a que se impliquen aún más. LilyPond
participa en el GSoC como parte del @uref{http://www.gnu.org/,
proyecto GNU}.
Hemos tenido participantes en el GSoC en 2012, 2015 y 2016 y
animamos a los estudiantes a que envíen la solicitud para el
programa de 2017.
Si está interesado en presentarse al programa con LilyPond como
proyecto, le rogamos que lea la información que aparece más abajo
y que no dude en escribirnos a la lista de desarrolladores (véase
@ref{Contacto}). El plazo de solicitud para estudiantes es desde
el 20 de marzo hasta el 3 de abril de 2017, pero le recomendamos
encarecidamente que se ponga en contacto con nuestra comunidad con
antelación.
@divEnd
@divClass{column-center-bottom}
@subheading Lista de ideas del proyecto
Más abajo aparece una lista de GSoC project ideas (última
actualización: enero de 2017), pero si tiene otras ideas para un
proyecto que pueda completar en el plazo de tres meses del
programa, se le invita a formular la sugerencia sobre nuestra
lista de correo de desarrolladores (véase @ref{Contacto}).
Existen varias áreas en las que LilyPond se puede mejorar, y
nuestro equipo de desarrollo siempre está dispuesto a ayudar a los
que desean enfrentarse a un proyecto similar a los que aparecen
relacionados más abajo. Ya que la disponibilidad de los mentores
varía de proyecto en proyecto y de un año a otro, lo más sensato
es ponerse en contacto con nosotros lo antes posible.
Hay una lista completa de todas las incidencias abiertas
@uref{http://sourceforge.net/p/testlilyissues/issues/, aquí}.
@divEnd
@divClass{column-center-middle-color3}
@subheading Mejora de la estructura interna de acordes
La representación interna de los acordes de LilyPond no es lo
bastante potente como para captar la nomenclatura de los acordes
de jazz. Actualmente el acorde tiene una fundamental, un bajo y
una inversión. Sería bueno poder manejar acordes múltiples o
superpuestos, menor/mayor, etc. Para hacerlo, debe desarrollarse
una representación interna con la capacidad de capturar la esencia
de los acordes más complejos. Además, una vez que se haya
desarrollado la representación interna, el formato de salida de
los nombres de acorde puede mejorarse.
@strong{Dificultad:} Fácil/intermedia
@strong{Requisitos:} Scheme (Guile), pero el nivel necesario puede
aprenderse fácilmente
@strong{Conocimientos recomendados:} Teoría y nomenclatura de los acordes
@strong{Mentor:} Carl Sorensen
@divEnd
@divClass{column-center-middle-color3}
@subheading Adoptar el estándar SMuFL de codificación de tipografías
Desde hace varios años circula un nuevo estándar para las fuentes
tipográficas de música: @uref{http://www.smufl.org/, SMuFL}, que
también se estudia como parte de un futuro estándar del W3C para
la codificación de música. Como herramienta FLOSS, LilyPond
debiera unirse a este estándar en lugar de usar una solución
aislada como hace actualmente. La adopción de SMuFL ayudaría a
integrar LilyPond con el mundo del software de notación musical y
al final daría a los usuarios de LilyPond acceso a una más amplia
selección de fuentes tipográficas de notación.
Hacer que LilyPond cumpla el estándar SMuFL consiste en la
reasignación de los glifos que se construyen a partir de código
fuente de METAFONT, el ajuste de las métricas de los glifos a las
especificaciones de SMuFL, y finalmente la actualización de la
forma en que LilyPond localiza y posiciona los glifos. Como parte
opcional de este proyecto, podría modificarse el mecanismo de
carga de las fuentes por parte de LilyPond para que usara las
fuentes de notación instaladas como fuentes del sistema en lugar
de hacerlo dentro de la instalación de LilyPond.
@strong{Dificultad:} Baja/media
@strong{Requisitos:} C++ y disposición para familiarizarse con el funcionamiento interno de LilyPond.
@strong{Conocimientos recomendados:} Interés y experiencia en el trabajo con archivos de fuentes tipográficas. Un poco de METAFONT.
@strong{Mentores:} Werner Lemberg, Abraham Lee
@divEnd
@divClass{column-center-middle-color3}
@subheading Añadir una variante especial de los glifos de fuente tipográfica
@divClass{keep-bullets}
@itemize
@item
Añadir variantes @q{sobre} y @q{entre} líneas del pentagrama.
@item
Variantes más bajas y estrechas de ciertos glifos, como
alteraciones alccidentales. Otro ejemplo más específico sería una
cabeza de nota breve de la notación antigua en dos variantes, una
con un hueco pequeño dentro, y otra con un hueco grande.
@end itemize
@divEnd
@strong{Dificultad:} fácil
@strong{Requisitos:} MetaFont, C++, buen ojo para los detalles
@strong{Conocimientos recomendados:} conocimientos básicos de LilyPond
@strong{Mentor potencial:} Werner Lemberg
@divEnd
@divClass{column-center-middle-color3}
@subheading Notación contemporánea
LilyPond es muy bueno creando notación no estándar. Tener que
@emph{codificar} cada uno de los elementos gráficos en lugar de
simplemente @emph{dibujarlo} puede parecer engorroso pero de hecho
es una gran virtud. Se pueden implementar funcionalidades
notacionales nuevas con apariencia consistente, disposición
automática y una interfaz sintáctica natural.
Dentro del sistema de biblioteca
@uref{https://github.com/openlilylib/oll-core, openLilyLib} el
alumno creará una infraestructura fundamental y unos bloques
constructivos para hacer más fácil la creación de notación
contemporánea. Además (al menos) @emph{un} paquete en concreto se
desarrollará para cubrir alguna notación contemporánea específica,
como por ejemplo el estilo de algún compositor dado, técnicas de
ejecución extendidas para un instrumento específico o una cierta
categoría de efectos.
@strong{Dificultad:} media
@strong{Requisitos:} Scheme (interacción con las interioridades de LilyPond),
técnicas de notación contemporánea
@strong{Conocimientos recomendados:} habilidad para la elaboración de marcos de funcionamiento jerárquicos
@strong{Mentores:} @strong{NN,} Urs Liska
@divEnd
@divClass{column-center-middle-color3}
@subheading Reescritura de la extensión de LilyPond para LibreOffice con Python
La extensión @uref{http://ooolilypond.sourceforge.net/,
OOoLilyPond} hace posible incluir de forma muy práctica fragmentos
de partitura de LilyPond dentro de documentos de
OpenOffice.org/LibreOffice Writer, Draw e Impress, manteniendo al
mismo tiempo la fuente y la imagen juntas. Después de muchos años
sin desarrollo, se ha iniciado una tarea de hacer de nuevo que la
extensión sea compatible con las versiones actuales de LibreOffice
y de LilyPond.
Sin embargo, según el ecosistema de LibreOffice ha cambiado
significativamente, ahora es posible reescribir la extensión con
Python y PyQt. Esto no solo será más potente en general, sino que
permitirá la integración de funcionalidades de
@uref{http://frescobaldi.org, Frescobaldi}, tales como el
resaltado de sintaxis, facilidades durante la escritura,
asistentes de partitura o transformaciones musicales.
@strong{Dificultad:} baja/media
@strong{Requisitos:} Python, PyQt, conceptos básicos de LilyPond y
de extensiones de LibreOffice
@strong{Conocimientos recomendados:} Familiaridad con la base de
código de Frescobaldi o disposición para aprenderla durante el
período fijado
@strong{Mentor(es):} Joram Berger, Urs Liska, (Thorsten Behrens/LibreOffice)
@divEnd
@divClass{column-center-middle-color3}
@subheading Pruebas y documentación automatizadas para openLilyLib
@uref{https://github.com/openlilylib, openLilyLib} is an extension
framework for LilyPond code providing a “snippets” repository and
a suite of integrated packages such as for example page layout
tools or scholarly annotations. It is very powerful and
promising, but to really get off the ground two features are
missing: automated testing and documentation generation.
Automated testing is necessary to ensure modifications to
functionality don't break other functions within the library.
There is already some Automated Testing of the “snippets”
repository with Github's Travis server, but this has to be
reconsidered and extended to cover the standalone packages too.
In order to be usable for a wider range of LilyPond users on a
“consumer level” openLilyLib needs proper documentation. This
documentation has to be generated from the sources, so a system is
needed that requires package authors to document the input files
and provide additional usage examples, from which documentation is
generated. Ideally but not necessarily this is implemented as a
Git hook, i.e. automatically upon each update to the repository.
We don't prescribe the tools and approaches to be used, but the
most widely used language in the LilyPond domain is Python, so
there would be some bias towards that. Alternatively a Scheme
solution could be fine so generating the documentation would
actually be triggered by “compiling” a certain LilyPond input
file. In general it is advisable to make use of proven concepts
and tools from other languages.
The eventual output of the documentation should be a static HTML
site that can be viewed locally and/or uploaded to a website. But
it would be beneficial if the tool would first generate an
intermediate representation (e.g. a JSON file with additional
media files) from which a Single Page Application could retrieve
content for display on openLilyLib's
@uref{https://openlilylib.org, website}. Development of such a
SPA @emph{can} be part of the GSoC project, but is optional.
@strong{Dificultad:} media
@strong{Requisitos:} Python or Scheme, static website generator(s) or
(Node.js based) dynamic web application technology. Continuous
Integration (can be learned during the bonding period)
@strong{Mentores:} Urs Liska, Matteo Ceccarello
@divEnd
@divClass{column-center-middle-color3}
@subheading MusicXML
Mejora de las funciones de importación y exportación de MusicXML:
File interchange between LilyPond and other applications using
MusicXML is still a difficult matter. To import MusicXML it has
to be converted manually by the @code{musicxml2ly} script. Export
@emph{to} MusicXML is only available as a rudimentary feature
inside Frescobaldi. In order to provide natural interchange
between LilyPond and MusicXML based applications there's the need
of actual import functionality and a dedicated export backend.
Importing XML shall provide file, line and column to add origin
attributes to generated objects. That way point and click can be
made available in Frescobaldi or other supported IDEs.
Exporting XML shall be realized with an exporter class like the
MIDI export. This may be based on the work already done in
@uref{https://github.com/DavidGarfinkle/Lilypond_MusicXMLexport, GSoC 2015}
by David Garfinkle. It should be checked if it is possible to use
another XML library than the one provided by guile-2 in order to
have this feature available in current LilyPond (which is based on
guile-1.8).
@strong{Dificultad:} media
@strong{Requisitos:} MusicXML, Python, Scheme, basic LilyPond knowledge
@strong{Conocimientos recomendados:} Familiarity with other scorewriters (for cross-testing)
@strong{Mentor:} Jan-Peter Voigt
@divEnd
@divClass{column-center-middle-color2}
@subheading Información para los solicitantes o participantes
In order to have a satisfying experience with GSoC applicants are
strongly advised to thoroughly read the following recommendations.
Some of these are relevant for the application process, others for
the time within the project.
@itemize
@item
Read all applicable information on the program's website,
particularly the
@uref{https://developers.google.com/open-source/gsoc/resources/manual,
students' manual}. Make sure you fulfil all of Google's
prerequisites and are willing to join the program as a full-time
commitment over the coding period of three months.
@item
Please get in touch with us as soon as possible if you are
interested in applying with a project. Mentor availability may
change without notice, project proposals may need fine-tuning, and
many other reasons might require us to reject or ignore an
application that hasn't been discussed before.
@item
We do not know in advance how many “slots” we will have available
for projects, so please be aware that you may find yourself in
competition with other applicants or not. Interested or even
enthusiastic response from our mentors is no guarantee of
eventually being accepted, and @emph{not} being accepted does not
necessarily indicate a negative evaluation of your application.
If we have to decide between different applicants there may be
various aspects to consider.
@item
Integration in the LilyPond community is a fundamental part of
GSoC, and we expect our students to make substantial efforts to
become community members. Within the @emph{bonding period} we
expect you to write a blog post about your project (either on
@uref{http://lilypondblog.org, Scores of Beauty} or on any other
blog) and to be active on our mailing lists, introducing yourself
but also communicating about unrelated tasks. This goes beyond
the mere setting up of a working environment and familiarizing
yourself with the relevant code, but we think it is crucial for
the GSoC project to be mutually satisfying.
@item
If you are accepted to the program you will have one mentor
explicitly assigned to your project. With this mentor you will
have to agree upon a communication strategy, be it emails,
chatrooms, issue trackers or voice/video chats. Regular
communication is absolutely crucial for the success of a GSoC
project so you are stricly required to keep talking to your
mentor. But keep in mind that your mentor has explicitly taken
over the responsibility for your project, and while unlike you he
isn't paid for this activity you are still entitled to get regular
attention from him.
@item
In order to get support from your mentor you have to give him a
chance to follow your progress and efforts. Therefore it is
important to regularly commit your changes to the versioning
repository you are working on. Don't hesitate making unfinished
code available because you are afraid of criticism, and don't
suppress questions because you think they might be considered
stupid. But ideally your code should at any time be accompanied
by compatible testing code. Your mentor may not be able to
properly assess your code by only @emph{reading} it without the
opportunity to apply it in a real example.
@end itemize
Existe una lista de proyectos inactivos en el @ref{Desván}.
Mantenemos en la lista los proyectos que aún se consideran
valiosos, pero para los cuales no existe en la actualidad ningún
mentor disponible.
@divEnd
@node Autores
@unnumberedsec Autores
@translationof Authors
@divClass{column-left-top}
@subheading Equipo de desarrollo actual
@divClass{keep-bullets}
@developersCurrent
@divEnd
@divEnd
@divClass{column-right-top}
@subheading Cargos del equipo de desarrollo anterior
@divClass{keep-bullets}
@developersPrevious
@divEnd
@divEnd
@divClass{column-center-top}
@subheading Colaboradores actuales
@divClass{keep-bullets}
@subsubheading Programación
@coreCurrent
@subsubheading Fuente tipográfica
@fontCurrent
@subsubheading Documentación
@docCurrent
@subsubheading Escuadrón de fallos (Bug squad)
@bugsquadCurrent
@subsubheading Soporte
@supportCurrent
@subsubheading Traducción
@translationsCurrent
@divEnd
@divEnd
@divClass{column-center-bottom}
@subheading Colaboradores anteriores
@divClass{keep-bullets}
@subsubheading Programación
@corePrevious
@subsubheading Fuente tipográfica
@fontPrevious
@subsubheading Documentación
@docPrevious
@c uncomment when we have any previous members -gp
@c @subsubheading Bug squad
@c @bugsquadCurrent
@subsubheading Soporte
@supportPrevious
@subsubheading Traducción
@translationsPrevious
@divEnd
@divEnd
@node Reconocimientos
@unnumberedsec Reconocimientos
@translationof Acknowledgements
@divClass{column-center-top}
@subheading Reconocimientos
@divClass{keep-bullets}
@acknowledgementsCurrent
@divEnd
@divEnd
@node Publicaciones
@unnumberedsec Publicaciones
@translationof Publications
@divClass{column-center-top}
@subheading Lo que nosotros hemos escrito sobre LilyPond
@divClass{keep-bullets}
@include we-wrote.itexi
@divEnd
@divEnd
@divClass{column-center-bottom}
@subheading Lo que otros han hecho con LilyPond
@divClass{keep-bullets}
@include others-did.itexi
@divEnd
@divEnd
@contactUsAbout{artículos académicos}
@node Noticias
@unnumberedsec Noticias
@translationof News
@include web/news-new.itexi
@divClass{column-center-bottom}
@subheading Noticias antiguas
Las noticias anteriores están en el @ref{Desván} junto a muchos
anuncios y registros de cambio antiguos.
@divEnd
@node Desván
@unnumberedsec Desván
@translationof Attic
@divClass{column-center-top}
@subheading Anuncios
Anuncios y noticias por versión:
@uref{http://lilypond.org/doc/v2.16/Documentation/web/index#Lilypond-2_002e16_002e0-released_0021-August-24_002c-2012-1,v2.16},
@uref{http://lilypond.org/doc/v2.14/Documentation/web/index#LilyPond-2_002e14_002e0-released_0021-June-6_002c-2011,v2.14},
@miscLink{announce-v2.12,v2.12},
@miscLink{announce-v2.10,v2.10},
@miscLink{announce-v2.8,v2.8},
@miscLink{announce-v2.6,v2.6},
@miscLink{announce-v2.4,v2.4},
@miscLink{announce-v2.2,v2.2},
@miscLink{announce-v2.0,v2.0},
@miscLink{ANNOUNCE-1.2,v1.2},
@miscLink{ANNOUNCE-1.0,v1.0},
@miscLink{ANNOUNCE-0.1,v0.1}
Lista descriptiva de los cambios por versión:
@uref{http://lilypond.org/doc/v2.16/Documentation/changes/index.html,v2.16},
@uref{http://lilypond.org/doc/v2.14/Documentation/changes/index.html,v2.14},
@uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS,v2.12},
@uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS,v2.10},
@uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS,v2.8},
@uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS,v2.6},
@uref{http://lilypond.org/doc/v2.4/Documentation/topdocs/out-www/NEWS,v2.4},
@uref{http://lilypond.org/doc/v2.2/Documentation/topdocs/out-www/NEWS,v2.2},
@uref{http://lilypond.org/doc/v2.0/Documentation/topdocs/out-www/NEWS,v2.0},
@uref{http://lilypond.org/doc/v1.8/Documentation/topdocs/out-www/NEWS,v1.8},
@uref{http://lilypond.org/doc/v1.6/Documentation/out-www/NEWS,v1.6},
@miscLink{NEWS-1.4,v1.4},
@miscLink{NEWS-1.2,v1.2}
@divEnd
@divClass{column-center-middle-color3}
@subheading Agradecimientos
Gracias a los desarrolladores, colaboradores, cazadores de fallos
y aportadores de sugerencias por
@miscLink{THANKS-2.16,v2.16},
@miscLink{THANKS-2.14,v2.14},
@miscLink{THANKS-2.12,v2.12},
@miscLink{THANKS-2.10,v2.10},
@miscLink{THANKS-2.8,v2.8},
@miscLink{THANKS-2.6,v2.6},
@miscLink{THANKS-2.4,v2.4},
@miscLink{THANKS-2.2,v2.2},
@miscLink{THANKS-2.0,v2.0},
@miscLink{THANKS-1.8,v1.8}
@divEnd
@divClass{column-center-middle-color3}
@subheading Registros de cambios
Registros de cambios de los desarrolladores, por versión:
@miscLink{ChangeLog-2.10,v2.10},
@miscLink{ChangeLog-2.3,v2.3},
@miscLink{ChangeLog-2.1,v2.1},
@miscLink{ChangeLog-1.5,v1.5 (1)},
@miscLink{CHANGES-1.5,v1.5 (2)},
@miscLink{CHANGES-1.4,v1.4},
@miscLink{CHANGES-1.3,v1.3},
@miscLink{CHANGES-1.2,v1.2},
@miscLink{CHANGES-1.1,v1.1},
@miscLink{CHANGES-1.0,v1.0},
@miscLink{CHANGES-0.1,v0.1},
@miscLink{CHANGES-0.0,v0.0}
@divEnd
@divClass{column-center-middle-color2}
@subheading Sugerencias no utilizadas para el proyecto Google Summer of Code
La siguiente lista describe los proyectos de GSoC que han sido
propuestos en años recientes y que aún se consideran valiosos pero
para los cuales no disponemos de mentores libres.
@divEnd
@divClass{column-center-middle-color3}
@subheading Mejora de las ligaduras de unión y de expresión
Con frecuencia, las calidad gráfica de las ligaduras de unión y de
expresión no es satisfactoria. No se manejan bien las ligaduras
@q{interrumpidas} por cambios de clave o de pentagrama. El
proyecto podría incluir y organizar ejemplos de mala salida,
decidir sobre la salida perseguida y escibir código para
mejorarla.
@strong{Dificultad:} alta
@strong{Requisitos:} C++, experiencia con heurística de la escritura
@strong{Conocimientos recomendados:} LilyPond, sentido estético
@divEnd
@divClass{column-center-middle-color3}
@subheading Notas de adorno
Arreglar problemas con la sincronización de las notas de adorno.
Las notas de adorno pueden interferir con la cuenta del tiempo de
LilyPond y causar efectos extraños, especialmente cuando se usan
varios pentagramas en los que algunos tienen notas de adorno y
otros no. Este es uno de los más antiguos y emarazosos
@uref{https://sourceforge.net/p/testlilyissues/issues/34/,bugs} de
LilyPond.
@strong{Dificultad:} media
@strong{Requisitos:} C++, MIDI
@strong{Conocimientos recomendados:} familiaridad con el
funcionamiento interno de LilyPond
@divEnd
@divClass{column-center-middle-color3}
@subheading Mejora del posicionamiento de las barras de corchea (y figuras menores)
Para barras de corchea normales, de pentagrama cruzado,
interrumpidas y en ángulo. El barrado debería depender del
contexto y de las notas vecinas (véase la sección 2.2 de
@uref{http://imslp.org/wiki/Repository_of_Music-Notation_Mistakes_%28Coulon%2C_Jean-Pierre%29,
este libro}). Si es posible, reducir el tiempo de cálculo del
barrado.
@strong{Dificultad:} media
@strong{Requisitos:} C++, experiencia con heurística de la escritura
@strong{Conocimientos recomendados:} sentido estético
@divEnd
@divClass{column-center-middle-color3}
@subheading Ayudar a mejorar el comportamiento de la compilación
Las herramientas de análisis automático del código, como la
detección de filtraciones de memoria de Valgrind o el perfilador
de código Callgrind, proveen una información valiosa acerca de los
posibles problemas de nuestro código de C++. La limpieza de estas
advertencias nos permitiría rechazar automáticamente cualquier
parche que introdujese más advertencias de las que hay
actualmente.
@strong{Dificultad:} media
@strong{Requisitos:} C++
@divEnd
@divClass{column-center-middle-color2}
@subheading Noticias antiguas
Las noticias más antiguas datan de julio de 2003. Las noticias
más actuales están en la página de @ref{Noticias}.
@divEnd
@include web/news-old.itexi