Design
LilyPond is mostly written in C++ and uses Scheme (interpreted by GNU Guile) as its extension language, allowing for user customization. It has a relatively large codebase; as of February 2010, the source comprises over 68,000 lines of C++ and 23,000 lines of Scheme code.
It uses a simple text notation for music input, which LilyPond interprets and processes in a series of stages. In the final stage, music notation is output to PDF (via PostScript) or other graphical formats, such as SVG or PNG. LilyPond also has the facility to generate MIDI files that correspond to the music notation output.
LilyPond is a text-based application, so it does not contain its own graphical user interface to assist with score creation. It does, however, have a flexible input language that strives to be simple, easing the learning curve for new users. LilyPond adheres to the WYSIWYM paradigm; the workflow for typesetting music notation with LilyPond is similar to that of preparing documents with LaTeX.
LilyPond supports experimental musical notation. Its guitar facilities support alternative tunings, such as major-thirds tuning.
Read more about this topic: GNU LilyPond
Famous quotes containing the word design:
“Nowadays the host does not admit you to his hearth, but has got the mason to build one for yourself somewhere in his alley, and hospitality is the art of keeping you at the greatest distance. There is as much secrecy about the cooking as if he had a design to poison you.”
—Henry David Thoreau (18171862)
“To nourish children and raise them against odds is in any time, any place, more valuable than to fix bolts in cars or design nuclear weapons.”
—Marilyn French (20th century)