GSoC 2012

¿Qué es el Google Summer of Code (Verano del Código de Google)?

Es un programa global llevado a cabo por Google que ofrece a estudiantes una ayuda para que trabajen en proyectos de software de fuentes abiertas durante las vacaciones de verano.

El equipo de LilyPond decidió que ésta era una excelente oportunidad para encontrar colaboradores nuevos y animar a los estudiantes que ya participan en el desarrollo de LilyPond a que se impliquen aún más. Uno de nuestros colaboradores ha sido seleccionado para la edición 2012 del programa como parte del proyecto GNU; esperamos poder participar también en futuras ediciones.

Nuestra lista de ideas para el 2012

Más abajo aparece una lista de los proyectos que hemos sugerido para los estudiantes del GSoC 2012. Aunque ha finalizado el plazo de solicitudes, hemos decidido mantener visible esta página como inspiración para cualquier persona interesada en el desarrollo de LilyPond. Algunos miembros del equipo de desarrollo están dispuestos a prestar su ayuda a aquellos que quieran implicarse en estos proyectos.

Por supuesto, hay muchas más cosas que mejorar en LilyPond, entre ellas algunas muy pequeñas. Hay una lista completa aquí.

Notas de adorno

Arreglar problemas con la sincronización de las notas de adorno, junto a toda la arquitectura subyacente (véase el problema número 34 de nuestro sistema de seguimiento). Las notas de adorno confunden al sistema de cuenta de tiempo de LilyPond porque son como ir hacia atrás en el tiempo. Esto causa efectos extraños, en especial cuando un pentagrama tiene una nota de adorno que otro no tiene.

Dificultad: media

Requisitos: C++, MIDI

Recomendado: familiaridad con el funcionamiento interno de LilyPond

Mentor(es): Mike Solomon, Carl Sorensen

MusicXML

Añadir exportación completa de MusicXML y mejora de la importación, junto a las pruebas de comprobación de que funciona. Dependiendo del tiempo disponible, implementar algunos o todos los siguientes:

  • Manejo de la exportación del contenido musical básico como la exportación MIDI (es decir, uso de clases exportadoras dedicadas, derivadas de la clase translator)
  • Construir el árbol XML del contenido musical básico, y una conexión desde el evento musical a la etiqueta XML
  • Hacer que todos los grabadores de LilyPond hagan su trabajo
  • Añadir la posibilidad de enlazar cada objeto de presentación (básicamente cada sello o grupo de sellos) a la causa musical (así como a la etiqueta XML dentro del árbol XML)
  • Añadir un ‘back-end’ de salida XML, que puede después añadir la información de disposición para cada uno de los objetos de salida a las etiquetas del XML

El objetivo se considerará conseguido cuando una partitura (previamente seleccionada) pueda importarse desde el MusicXML y exportada de nuevo sin ninguna pérdida de datos no intencionada.

Dificultad: media

Requisitos: MusicXML, Python, conocimiento básico de LilyPond

Mentor(es): Reinhold Kainhofer, Mike Solomon

Sería un buen tanto a su favor la familiaridad con otros editores de partituras para poder hacer pruebas cruzadas.

Mejora de las ligaduras de unión y de expresión

A menudo la forma predeterminada de las curvas de ligadura no es satisfactoria. No están contempladas las ligaduras de unión entre notas enarmónicas { dos'~ reb' }, las ligaduras "rotas" por una clave o un cambio de pauta no están bien contempladas. El proyecto incluye la recolección y ordenación de ejemmplos de salida defectuosa, decidir sobre la salida que se desea tener y escribir el código correspondiente.

Dificultad: alta

Requisitos: C++, experiencia con heurística de la escritura

Conocimientos recomendados: LilyPond, sentido estético

Mentor(es): Mike Solomon

Añadir una variante especial de los glifos de fuente tipográfica

Añadir variantes para algunos glifos, como los signos de alteración, para líneas sobre la pauta, entre pautas, acortadas y estrechadas, así como una infraestructura genérica para incorporarlos. Un ejemplo es la cabeza de la breve de na notación antigua, que viene en dos variantes, con el orificio pequeño y grande.

Dificultad: fácil

Requisitos: MetaFont, C++, buen ojo para los detalles

Conocimientos recomendados: conocimientos básicos de LilyPond

Mentor(es): Werner Lemberg

Mejora del barrado

Debería mejorarse el posicionamiento predeterminado de las barras de corchea (y figuras menores) 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). Si es posible, reducir el tiempo de cálculo del barrado.

Dificultad: media

Requisitos: C++, experiencia con heurística de la escritura

Conocimientos recomendados: sentido estético

Mentor(es): Mike Solomon, Carl Sorensen

Limpieza de diversas advertencias de compliación

Limpieza de las advertencias de compilación, análisis estático del código, y advertencias de valgrind. Las herramientoas de análisis automático del código (advertencias de g++ y clang) y herramientas de análisis como la detección de filtraciones de memoria de los perfiladores de código valgrind y callgrind aportan valiosa información sobre posibles problemas en el 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.

Dificultad: media

Requisitos: C++

Mentor(es): Joe Neeman, Reinhold Kainhofer


Otros idiomas: English, català, deutsch, français, italiano, 日本語, nederlands, 中文.
Acerca de la selección automática del idioma.

Validation

Agradecemos a webdev.nl el alojamiento de lilypond.org. Valid HTML 4.01 Transitional