Here is a list of code that we would like to write, if given funding. Please contact hanwen@lilypond.org if you're interested in (co)sponsoring any of them.
Converting scripts on multimeasure-rest
Editor/User interface improvements for Windows
The editor/UI could be modeled after the MacOS X version, with an editor window and a process window for Lily. Then, functions like convert-ly and MIDI and MusicXML import could be an integral part of the LilyPond application on Windows.
This will convert a script event to a multimeasure-script event, so R^\fermata works.

Scribus integration
Scribus is the leading DTP solution for linux. It should be possible to integrate LilyPond with Scribus. This means that you can create DTP documents containing music. Clicking the music allows you to edit the .ly file and rerun LilyPond directly.
OpenOffice integration
See Scribus integration. This involves the following steps
  • Setup a working PyUno environment
  • Define OOo component/data-type to store .ly information and the EPS files within a document.
  • Create Python script to extract .ly information, run LilyPond, and reinsert EPS files
  • Develop dialogs/user interface.
Uniform stem directions
Notes which are on the center staff line are usually down. For beamed notes, it is usually better to adapt the direction of “neutral” beams to those of surrounding notes.
TTC font support
Rehearsal mark collision
Rehearsal marks should be as close to the staff as possible, yet the should avoid collisions with note heads, articulations, bar lines, clefs, etc.
Many CJK fonts come in the form of a TrueType Collection. LilyPond should add support for this.
MacOS interface improvements
The MacOS version has a Cocoa interface with an integrated text editor. However, it could be made even much fancier.
  • If LilyPond displays warnings/errors, then the editor can be made to jump there automatically.
  • Integrate PDF Preview with LilyPond, so you don't have to close and reopen the PDF file during viewing.
  • The save/compile functions is buggy; saving should be automatic before running LilyPond.
Repeats
Automatic 2nd ending timing
In volta repeats, the timing information (eg. location of barlines) should be copied from the first alternative.
Ties into a repeat alternative should be repeated at the start of 2nd and following volta brackets.
Idem ditto for phrasing slurs and slurs.
Coda style repeats
Repeats are also often written in "coda" style, i.e. with a signs and "Dal segno al coda" or "D.C. al Fine". Such repeats should also be possible with \repeat.
Cross-staff chords
Many composers for piano music use chords that cross staves. They can be faked in LilyPond, but that process is rather laborious, since you have to insert an extra note in the other staff. It would be much nicer if you could specify
    <g \onStaff "bass" { c, } >
  
Slur formatting: symbolic tweaks
It would be more convenient if tweaks for end-points of slurs could specified symbolically, eg.
  \override Slur #'attachment = #'(head . stem)
  
to make the slur start at a note head, and end at the stem.
MIDI rewrite
The MIDI backend in LilyPond is working, but it is not very versatile or elegant compared to the typesetting engine. The objective is to make LilyPond a suitable language for writing algorithmic compositions, and to make lily provide credible MIDI performances of pieces. A rewrite would encompass the following elements:
  • Writing/integrating a Scheme module to write MIDI files.
  • Smobify Audio_items and Performance. Use SCM lists and data structures.
  • Write a backend in Scheme to generate MIDI from the smobified infrastructure of Audio_items. Discouple hardwired MIDI.
  • Rewriting the MIDI translation module, so it supports \override commands, and user-defined functionality.
  • Automatic performance of ornaments, such as trills, grace notes, etc.
  • Expanding repeats and tremolos
  • Expressive timing and dynamics
Input filters
LilyPond supports has a number of conversion utilities. We would gladly build new ones, for example,
  • Full MusicXML support. A basic script is in place, which reads the XML, extracts the notes, and writes a .ly file. Further extensions can include
    • Adding MIDI and MusicXML to LilyPond.app on MacOS X
    • Spanning directions: 8va, dynamics, pedals
    • Fixed directions: articulations, dynamic signs, etc
    • \relative output
    • Titling
    • Basic tablature
    • Tablature string tuning
    • Time-wise MusicXML
    • Move clefs out of Voices.

      Since Clefs are per staff, they should not be part of Voice specifications. This will fix clefs for piano staves.

    • Tempo marks
    • Metronome marks
    • Lyrics
    • Rehearsal marks
    • Grace notes
    • Tweaks (stemup, stemdown, beam left/right count, etc.).

      Tweaks are less relevant, since LilyPond mostly makes the right decisions by itself, and outputting all MusicXML tweaks clutters the .ly files.

    • Staff switches
    • Repeats (with volta brackets)
    • Chord names
    • Polyphonic stem directions
  • Better Finale support.

    Files can be imported from Finale using either MusicXML or ETF format. By sponsoring development of either tool, you can import from Finale more easily.

  • Sibelius import.

    Sibelius files are compressed. A first step in writing a convertor would be figuring out their compression algorithm.

  • Capella
  • MUP support
  • (your favorite program here)
MusicXML output
It is feasible to add MusicXML to LilyPond; at the moment it is still somewhat impractical due to lacking infrastructure.
S-shaped slurs
Cross staff slurs should be S-shaped in cases extreme. The feature would be to detect these cases, and provide automatic formatting if applicable.
Glissando texts
A glissando often has the words gliss. written over it as angled text. With transformations in place, this can be added in a snap.
tablature
Lute Tablature
Lute Tablature is a special variant of tablature, with ledger lines for the additional strings, and special, curvy symbols instead of straight letters.
Grace notes
Get fret numbers in round brackets.
Dynamic formatting
Formatting of dynamics can be much improved, for example
  • The "n" sign, in dynamics style.
  • hairpins should be angled
  • longer hairpins should be changed to "cresc." strings automatically,
  • hairpins to the end of a measure should stop before the barline
  • hairpins happening on a single note should be easier to format
  • the code for typesetting dynamics is a mess, and should be cleaned up.
Parshape
With this feature, linewidths are no longer fixed across a score. This could be used, for example, to create a score in the shape of a christmas tree.
Table of contents
It should be possible to generate a TOC for a complex document with titles spread over many pages.
Your Feature Here!
Do you have a fantastic idea that you are looking sponsors for? Submit your feature request to lilypond-user@gnu.org.