]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/faq.pod
70162a6095692b6057f5223572f9f8cd38e1ada9
[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 builtin bool
104
105 =item *
106 64 bit integral type long long
107
108 =item *
109 typeof
110
111 =item *
112 operator <?, operator >?
113
114 =item *
115 the new for-scope
116
117 =item    *
118 class Rational (libg++)
119
120 =item *
121 named return values
122
123 =back
124
125 =head2 Running
126
127 Q: I get 
128
129         can't load library 'libflower.so'
130
131 A: You are using the dynamically compiled Flower library. Please set
132 LD_LIBRARY_PATH to a directory containing F<libflower.so>
133
134 =head2 DOZE
135
136 Q: I want a DOS/NT/W95 port.
137
138 A.0: Reconsider.  Try Linux.  It's fun!
139
140 A.1: Currently (patchlevel 27), GNU LilyPond (and flowerLib) compiles, links
141 and runs on windhoos-nt, using the cygnus gnu port (release b17.1). 
142 I (JCN) only had to make a minor workaround for missing library calls.  
143 Have a look at http://www.cygnus.com/gnu-win32.  To make GNU LilyPond type
144 C<make $OSTYPE>. (I am not promising to maintain this platform, it is just 
145 that when having to use doze, i-m sometimes too lazy to reboot.)
146
147 A.2: I haven't had time to find a GCC crosscompiler (I<with> g++ and
148 libg++, mind you) to DOS/win (in rpm, please :).
149
150
151 Q: I-m dozed enough to run the (sometimes bit stale) .exe-s you distribute. 
152 Why do i need cygwin.dll?
153
154 A: It-s all in this cut-n-paste:
155
156 Minimalist GNU-Win32 Readme                   
157 version 0.1.3                           
158 March 20, 1997                       
159 Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
160
161 [...]
162
163 0.3 Fixes and Improvements          
164
165 [...]
166 In the "coming soon" category I have a version of the GNU Standard C++
167 library ported to Mingw32. This means you can use iostreams, complex
168 numbers and all those neat STL (Standard Template Library) things
169 without needing the Cygwin DLL. I hope to put this port up for
170 downloading soon (along with the source of course).
171        
172 [...] 
173
174 3.2 C++ Support                                                         
175
176 To add C++ Support to the above the following extra files are required: 
177
178 In C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-2.7.2-    
179 961023:                                                                         
180         cc1plus.exe                                                   
181
182 Note that this does not include support for the standard C++ libraries
183 (only the C run time libraries) or for iostreams. That support is still
184 only available with the Cygwin32 API.
185