]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/faq.pod
release: 0.0.42.pre3
[lilypond.git] / Documentation / faq.pod
1 =head1 NAME
2
3 FAQ - LilyPond FAQs
4
5 =head1 DESCRIPTION
6
7 Some questions that have been answered before.
8
9 Q: I can type
10
11         <a c> <e g>
12
13 to make a few chords, but why do I have to type
14
15
16         < { a() e } { c () g } >
17
18 in stead of
19
20         <a( c(> <)e )g>
21
22 to generate  slurs between the chords?
23
24 A: When you type 
25
26         <a c> <e g>
27
28 this is shorthand for
29
30         < { a } { c } > < { e } { g } >
31
32 Slurs have to be confined to `voices', and the a and the e are in
33 different {} blocks, so they are in different voices. You should view
34 the desired construct as a "generalised chord" (two voices stacked
35 vertically). It might help you visualise this by using the following
36 formatting:
37
38         < { a () e }
39           { c () g }
40         >
41
42
43 Q: Why are [] around the notes, and () inbetween?
44
45 A: [] designate beams, a note can only be in one beam at the same
46 time. () is a slur, which connects notes.  You need to be able to 
47 specify
48
49         a()a()a
50
51
52 Q: I want a DOS/NT/W95 port.
53
54 A0: Reconsider.  Try Linux.  It's fun!
55
56 A1: Currently (patchlevel 27), LilyPond (and flowerLib) compiles, links
57 and runs on windhoos-nt, using the cygnus gnu port (release b17.1). 
58 I (JCN) only had to make a minor workaround for missing library calls.  
59 Have a look at http://www.cygnus.com/gnu-win32.  To make LilyPond type
60 C<make $OSTYPE>. (I am not promising to maintain this platform, it is just 
61 that when having to use doze, i-m sometimes too lazy to reboot.)
62
63 A2: I haven't had time to find a GCC crosscompiler (I<with> g++ and
64 libg++, mind you) to DOS/win (in rpm, please :).
65
66
67 Q: Why GPL?
68
69 A: Yes.
70
71 Q: Why shouldn't I put all commands (\clef, \meter) inside the music?
72
73 A: You should do what you like, but at some time we will enable
74 quoting of music ("Stichnoten"). Besides if you are going to type an
75 orchestral score, then you'd probably want to enter most of the meter,
76 repeat commands only once.
77
78
79 Q: Could you implement feature XXXX? It is really easy, just extend
80 the syntax to allow YYYY!
81
82 A: If it is reasonable, I'll add XXXX to the TODO list. In general
83 finding a cute syntax (such as YYYY) isn't very hard. The complicated
84 issue how to adapt the internals to do XXXX. The parser is really  a
85 simple front end to the complicated internals. 
86
87 Q: Why do I need g++ >= 2.7?
88
89 A: By using g++ LilyPond is portable to all platforms which support
90 g++ (there are quite a few). Not having to support other compilers
91 saves us a I<lot> of trouble. LilyPond & FlowerLib uses:
92
93 =over 6
94
95 =item *
96 builtin bool
97
98 =item *
99 64 bit integral type long long
100
101 =item *
102 typeof
103
104 =item *
105 operator <?, operator >?
106
107 =item *
108 the new for-scope
109
110 =item    *
111 class Rational (libg++)
112
113 =item *
114 named return values
115
116 =back
117