]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/faq.pod
release: 0.0.56
[lilypond.git] / Documentation / faq.pod
1 =head1 NAME
2
3 FAQ - GNU LilyPond FAQs
4
5 =head1 DESCRIPTION
6
7 Some questions that have been answered before.
8
9 =head2 Language: mudela
10
11 Q: Why can't you type C<#c> in stead of C<cis> ?
12
13 A: We think that C<#c> looks as if you are entering the symbols to
14 print (which you are not; remember, you're entering the musical
15 content in Mudela)
16
17 We're not sure on leaving out this feature. If you think this is a
18 good idea, please let us know.
19
20 Be warned we will I<not> allow you to leave out the C<#> if the note
21 already has an accidental. We won't allow
22
23         c# c    % no way! 
24
25 in stead of:
26
27         cis cis
28         #c #c
29
30
31 Q: I can type
32
33         <a c> <e g>
34
35 to make a few chords, but why do I have to type
36
37
38         < { a() e } { c () g } >
39
40 instead of
41
42         <a( c(> <)e )g>
43
44 to generate slurs between the chords?
45
46 A: When you type 
47
48         <a c> <e g>
49
50 this is shorthand for
51
52         < { a } { c } > < { e } { g } >
53
54 Slurs have to be confined to `voices', and the a and the e are in
55 different {} blocks, so they are in different voices. You should view
56 the desired construct as a "generalised chord" (two voices stacked
57 vertically). It might help you visualise this by using the following
58 formatting:
59
60         < { a () e }
61           { c () g }
62         >
63
64
65 Q: Why are [] around the notes, and () inbetween?
66
67 A: [] designate beams, a note can only be in one beam at the same
68 time. () is a slur, which connects notes.  You need to be able to 
69 specify
70
71         a()a()a
72
73 Q: Why shouldn't I put all commands (\clef, \meter) inside the music?
74
75 A: You should do what you like, but at some time we will enable
76 quoting of music ("Stichnoten"). Besides if you are going to type an
77 orchestral score, then you'd probably want to enter most of the meter,
78 repeat commands only once.
79
80 =head2 Miscellaneous
81
82 Q: Why GPL?
83
84 A: Yes.
85
86 Q: Could you implement feature XXXX? It is really easy, just extend
87 the syntax to allow YYYY!
88
89 A: If it is reasonable, I'll add XXXX to the TODO list. In general
90 finding a cute syntax (such as YYYY) isn't very hard. The complicated
91 issue how to adapt the internals to do XXXX. The parser is really  a
92 simple front end to the complicated internals. 
93
94 Q: Why do I need g++ >= 2.7?
95
96 A: By using g++, GNU LilyPond is portable to all platforms which support
97 g++ (there are quite a few). Not having to support other compilers
98 saves us a I<lot> of trouble. GNU LilyPond and FlowerLib use:
99
100 =over 4
101
102 =item *
103
104 builtin bool
105
106 =item *
107
108 64 bit integral type long long
109
110 =item *
111
112 typeof
113
114 =item *
115
116 operator <?, operator >?
117
118 =item *
119
120 the new for-scope
121
122 =item    *
123
124 class Rational (libg++)
125
126 =back
127
128 =head2 Running
129
130 Q: I get 
131
132         can't load library 'libflower.so'
133
134 A: You are using the dynamically compiled Flower library. Please set
135 LD_LIBRARY_PATH to a directory containing F<libflower.so>
136
137 =head2 DOZE
138
139 Q: I want a DOS/NT/W95 port.
140
141 A.0: Reconsider.  Try Linux.  It's fun!
142
143 A.1: Currently (patchlevel 27), GNU LilyPond (and flowerLib) compiles, links
144 and runs on windhoos-nt, using the cygnus gnu port (release b17.1). 
145 I (JCN) only had to make a minor workaround for missing library calls.  
146 Have a look at http://www.cygnus.com/gnu-win32.  To make GNU LilyPond type
147 C<make $OSTYPE>. (I am not promising to maintain this platform, it is just 
148 that when having to use doze, i-m sometimes too lazy to reboot.)
149
150 A.2: I haven't had time to find a GCC crosscompiler (I<with> g++ and
151 libg++, mind you) to DOS/win (in rpm, please :).
152
153
154 Q: I-m dozed enough to run the (sometimes bit stale) .exe-s you distribute. 
155 Why do i need cygwin.dll?
156
157 A: It-s all in this cut-n-paste:
158
159 Minimalist GNU-Win32 Readme                   
160 version 0.1.3                           
161 March 20, 1997                       
162 Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
163
164 [...]
165
166 0.3 Fixes and Improvements          
167
168 [...]
169 In the "coming soon" category I have a version of the GNU Standard C++
170 library ported to Mingw32. This means you can use iostreams, complex
171 numbers and all those neat STL (Standard Template Library) things
172 without needing the Cygwin DLL. I hope to put this port up for
173 downloading soon (along with the source of course).
174        
175 [...] 
176
177 3.2 C++ Support                                                         
178
179 To add C++ Support to the above the following extra files are required: 
180
181 In C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-2.7.2-    
182 961023:                                                                         
183         cc1plus.exe                                                   
184
185 Note that this does not include support for the standard C++ libraries
186 (only the C run time libraries) or for iostreams. That support is still
187 only available with the Cygwin32 API.
188