Unused Google Summer of Code project suggestions
The following list describes GSoC projects that had been proposed in recent years and which are still considered valuable but for which we currently don’t have mentors available.
Improve slurs and ties
The engraving quality of slurs and ties is often unsatisfactory. Ties ‘broken’ by clef or staff changes are not handled well. The project could include collecting and sorting examples of bad output, deciding on the intended output and writing code to improve them.
Difficulty: hard Requirements: C++, experience with writing heuristics Recommended knowledge: LilyPond knowledge, aesthetic sense
Fix problems with synchronization of grace notes. Grace notes can interfere with LilyPond’s timing and cause odd effects, especially when multiple staffs are used where some have grace notes and others don’t. This is one of the longest-standing and one of the more embarrassing bugs in LilyPond.
Difficulty: medium Requirements: C++, MIDI Recommended: familiarity with LilyPond internals
Improve default beam positioning
For regular, cross-staff, broken and kneed beams. Beaming should depend on context and neighbor notes (see section 2.2 of this book). If possible also reduce beaming-computation time.
Difficulty: medium Requirements: C++, experience with writing heuristics Recommended knowledge: aesthetic sense
Help improve compilation behavior
Automatic code analysis tools, like valgrind memory leak detection or callgrind code profilers, provide valuable information about possible flaws in our C++ code. Cleaning up warnings would allow us to automate the rejection of any patch which introduced extra warnings.
Difficulty: medium Requirements: C++