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