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:
“Delay always breeds danger; and to protract a great design is often to ruin it.”
—Miguel De Cervantes (15471616)
“You can make as good a design out of an American turkey as a Japanese out of his native stork.”
—For the State of Illinois, U.S. public relief program (1935-1943)
“The reason American cars dont sell anymore is that they have forgotten how to design the American Dream. What does it matter if you buy a car today or six months from now, because cars are not beautiful. Thats why the American auto industry is in trouble: no design, no desire.”
—Karl Lagerfeld (b. 1938)