=head1 NAME FAQ - LilyPond FAQs =head1 DESCRIPTION Some questions that have been answered before. Q: Why are [] around the notes, and () inbetween? A: [] designate beams, a note can only be in one beam at the same time. () is a slur, which connects notes. You need to be able to specify a()a()a Q: I want a DOS/NT/W95 port. A0: Reconsider. Try Linux. It's fun! A1: Currently (patchlevel 27), LilyPond (and flowerLib) compiles, links and runs on windhoos-nt, using the cygnus gnu port (release b17.1). I (JCN) only had to make a minor workaround for missing library calls. Have a look at http://www.cygnus.com/gnu-win32. To make LilyPond type make $OS. (I am not promising to maintain this platform, it is just that when having to use doze, i-m sometimes too lazy to reboot.) A2: I haven't had time to find a GCC crosscompiler (*with* g++, mind you) to DOS/win (in rpm, please :). Q: Why GPL? A: Yes. Q: Why shouldn't I put all commands (\clef, \meter) inside the music? A: You should do what you like, but at some time we will enable quoting of music ("Stichnoten"). Besides if you are going to type an orchestral score, then you'd probably want to enter most of the meter, repeat commands only once. Q: Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY! A: If it is reasonable, I'll add XXXX to the TODO list. In general finding a cute syntax (such as YYYY) isn't very hard. The complicated issue how to adapt the internals to do XXXX. The parser is really a simple front end to the complicated internals. Q: Why do I need g++ >= 2.7? A: By using g++ LilyPond is portable to all platforms which support g++ (there are quite a few). Not having to support other compilers saves us a *lot* of trouble. LilyPond & FlowerLib uses: =over 6 =item * builtin bool =item * 64 bit integral type long long =item * typeof =item * operator ? =item * the new for-scope =item * class Rational (libg++) =item * named return values =back