3 FAQ - GNU LilyPond FAQs
7 Some questions that have been answered before.
11 Q: I get all kinds of errors while compiling parser.cc
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
17 If the problem persists, then please mail me.
20 =head2 Language: mudela
22 Q: Why can't you type C<#c> in stead of C<cis> ?
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
28 We're not sure on leaving out this feature. If you think this is a
29 good idea, please let us know.
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
46 to make a few chords, but why do I have to type
49 < { a~ e } { c ~ g } >
55 to generate ties between the chords?
63 < { a } { c } > < { e } { g } >
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
75 Q: and where do the beams come into this picture?
77 A: Beams are voicegroup-wide, and may be entered in any part of the
80 < { [a ~ e] } { c ~ g } >
81 < { [a ~ e } { c ~ g] } >
82 < { [a ~ e] } { [c ~ g] } >
84 These all give the same result.
86 Q: Why are [] around the notes, and () inbetween?
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
94 Q: Why shouldn't I put all commands (\clef, \meter) inside the music?
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.
101 Q: I want to insert some TeX commands
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.
112 Q: How do I change the TeX layout?
114 A: See lilyponddefs.tex, it has some comments.
116 Q: How do I learn the C++ code?
118 A: The entry point is in main(). Good luck. :-)
120 Seriously, read, reread and reread lilygut and CodingStyle, and
123 Anywhere? Well, most of the comment doco are in the header files, so
124 your best bet would be C<less lily/include/*.hh>. Some of the most
125 important data-structures are to be found in:
142 Q: Could you implement feature XXXX? It is really easy, just extend
143 the syntax to allow YYYY!
145 A: If it is reasonable, I'll add XXXX to the TODO list. In general
146 finding a cute syntax (such as YYYY) isn't very hard. The complicated
147 issue how to adapt the internals to do XXXX. The parser is really a
148 simple front end to the complicated internals.
150 Q: Why do I need g++ >= 2.7?
152 A: By using g++, GNU LilyPond is portable to all platforms which support
153 g++ (there are quite a few). Not having to support other compilers
154 saves us a I<lot> of trouble. GNU LilyPond and FlowerLib use:
164 64 bit integral type long long
172 operator <?, operator >?
180 class Rational (libg++)
188 can't load library 'libflower.so'
190 A: You are using the dynamically compiled Flower library. Please set
191 LD_LIBRARY_PATH to a directory containing F<libflower.so>
195 Q: I want a DOS/NT/W95 port.
197 A.0: Reconsider. Try Linux. It's fun!
199 A.1: Currently (patchlevel 27), GNU LilyPond (and flowerLib) compiles, links
200 and runs on windhoos-nt, using the cygnus gnu port (release b17.1).
201 I (JCN) only had to make a minor workaround for missing library calls.
202 Have a look at http://www.cygnus.com/gnu-win32. To make GNU LilyPond type
203 C<make $OSTYPE>. (I am not promising to maintain this platform, it is just
204 that when having to use doze, i-m sometimes too lazy to reboot.)
206 A.2: I haven't had time to find a GCC crosscompiler (I<with> g++ and
207 libg++, mind you) to DOS/win (in rpm, please :).
210 Q: I-m dozed enough to run the (sometimes bit stale) .exe-s you distribute.
211 Why do i need cygwin.dll?
213 A: It-s all in this cut-n-paste:
215 Minimalist GNU-Win32 Readme
218 Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
222 0.3 Fixes and Improvements
225 In the "coming soon" category I have a version of the GNU Standard C++
226 library ported to Mingw32. This means you can use iostreams, complex
227 numbers and all those neat STL (Standard Template Library) things
228 without needing the Cygwin DLL. I hope to put this port up for
229 downloading soon (along with the source of course).
235 To add C++ Support to the above the following extra files are required:
237 In C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-2.7.2-
241 Note that this does not include support for the standard C++ libraries
242 (only the C run time libraries) or for iostreams. That support is still
243 only available with the Cygwin32 API.