GSoC 2012

Què és el Google Summer of Code (Estiu del Codi del Google)?

És un programa global portar a terme pel Google que ofereix a estudiants una ajuda perquè treballin en projectes de programari de codi obert durant les vacances d’estiu.

L’equip del LilyPond va decidir que aquesta era una oportunitat excel·lent per trobar col·laboradors nous i animar els estudiants que ja participen en el desenvolupament del LilyPond a què s’impliquin encara més. Un dels nostre col·laboradors ha estat seleccionat per a l’edició del program com a part del project GNU; esperem poder participar també a edicions futures.

La nostra llista d’idees per al 2012

Més a baix hi apareix una llista dels projectes que hem suggerit per als estudiants del GSoC 2012. Tot i que ha finalitzat el plaç de sol·licituds, hem decidit mantenir visible aquesta pàgina com inspiració per a qualsevol persona interessada en el desenvolupament del LilyPond. Alguns membres de l’equip de desenvolupament estan disposats a prestar la seva ajuda a aquells que vulguin implicar-se en aquests projectes.

Per descomptat, hi ha moltes més coses a millorar al LilyPond, entre elles algunes de molt petites. Hi ha una llista completa aquí.

Notes de adorn

Arreglar problemes amb la sincronització de les notes d’adorn, junt a tota l’arquitectura subjacent (vegeu el problema número 34 del nostre sistema de seguiment). Les notes d’adorn confonen el sistema de comptabilització de temps del LilyPond perquè són com anar cap a darrere en el temps. Això causa efectes estranys, en especial quan un pentagrama té una nota d’adorn que un altre no té.

Dificultat: mitjana

Requisits: C++, MIDI

Recomanat: familiaritat amb el funcionament intern del LilyPond

Mentor(s): Mike Solomon, Carl Sorensen

MusicXML

Afegir exportació completa del MusicXML i millora de la importació, junt amb les proves de comprovació que funciona. Depenent del temps disponible, implementar alguns a tots els següents:

  • Manipulació de l’exportació del contingut musical bàsic com ara l’exportació MIDI (és a dir, ús de classes exportadores dedicades, derivades de la classe translator)
  • Construir l’arbre XMDL del contingut musical bàsic, i una connexió des de l’esdeveniment musical a l’etiqueta XML
  • Fer que tots els gravadors del LilyPond facin la seva feina
  • Afegir la possibilitat d’enllaçar cada objecte de presentació (bàsicament cada segell o grup de segells) a la causa musical (així com a l’etiqueta XML dins de l’arbre XML)
  • Afegir un ‘rerefons’ de sortida XML, que pot després afegir la informació de disposició per a cadascú dels objectes de sortida a les etiquetes del XML

L’objectiu es considerarà aconseguit quan una partitura (prèviament seleccionada) pugui importar-se des del MusicXML i exportada de nou sense cap pèrdua de dades no intencionada.

Dificultat: mitjana

Requisits: MusicXML, Python, coneixement bàsic del LilyPond

Mentor(s): Reinhold Kainhofer, Mike Solomon

Seria un element al vostre favor la familiaritat amb altres editors de partitures per poder fer proves creuades.

Millora de les lligadures d’unió i d’expressió

Sovint la forma predeterminada de les corbes de lligadura no és satisfactòria. No estan contemplades les lligadures d’unió entre notes enharmòniques { dos' - reb' }, les lligadores "trencades" per una clau o un canvi de pauta no estan ben contemplades. El projecte inclou la recol·lecció i ordenació d’exemples de sortida defectuosa, decidir sobre la sortida que es desitja tenir i escriure el codi corresponent.

Dificultat: alta

Requisits: C++, experiència amb heurística de l’escriptura

Coneixements recomanats: LilyPond, sentit estètic

Mentor(s): Mike Solomon

Afegir una variant especial dels caràcters gràfics de font tipogràfica

Afegir variants per a alguns caràcters gràfics, como ara els signes d’alteració, per a línies sobre la pauta, entre pautes, escurçades i estretes, així com una infraestructura genèrica per incorporar-los. Un exemple és el cap de la breu d’una notació antiga, que ve en dues variants, amb l’orifici petit i gran.

Dificultat: fàcil

Requisits: MetaFont, C++, bon ull per als detalls

Coneixements recomanats: coneixements bàsics del LilyPond

Mentor(s): Werner Lemberg

Millora del barrat

Hauria de millorar-se el posicionament predeterminat de les barres de corxera (i figures menors) normals, de pentagrama creuat, interrompudes i en angle. El barrat hauria de dependre del context i de les notes veïnes (vegeu la secció 2.2). Si és possible, reduir el temps de càlcul del barrat.

Dificultat: mitjana

Requisits: C++, experiència amb heurística de l’escriptura

Coneixements recomanats: sentit estètic

Mentor(s): Mike Solomon, Carl Sorensen

Neteja de diversos advertiments de compilació

Neteja dels advertiments de compilació, anàlisi estàtica del codi, i advertiments del valgrind. Les eines d’anàlisi automàtica del codi (advertiments de g++ i clang) i eines d’anàlisi com ara la detecció de filtracions de memòria dels perfiladors de codi valgrind i callgrind aporten informació valuosa sobre possibles problemes en el codi de C++. La neteja d’aquests advertiments ens permetria rebutjar automàticament qualsevol pegat que introduís més advertiments dels que hi ha actualment.

Dificultat: mitjana

Requisits: C++

Mentor(s): Joe Neeman, Reinhold Kainhofer


Validation

Valid HTML 4.01 Transitional