=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 5

=item *
builtin bool

=item *
typeof

=item *
operator <?, operator >?

=item *
the new for-scope

=item	 *
class Rational (libg++)

=item *
named return values

=back

