1 article(FAQ - GNU LilyPond FAQs)()()()
3 DEFINEMACRO(question)(1)(subsect(ARG1))
7 question(HELP! I'm stuck!)
9 Please read this document carefully. If you are still at loss,
10 send your questions to the bf(mailing list), and not to authors
13 Note: relative paths are meant to be relative to the source directory
17 question(If I install the .exe file on my DOS/windows 3.11 machine, it
20 The DOS port is done with the cygnus gnu/windows32 port of the GNU utils.
21 It does em(not) work with windows 3.x; you need Windows-NT (95/98?). This
22 is not a recommendation, however. We recommend you use Unix, in
23 particular, use GNU/Linux. For further information see file(README-W32).
25 question(Where is guile-config)
27 RedHat RPMS don't include guile-config. You need guile-config as it
28 was produced during the RPM build run. Build the RPM from source
29 (file(.src.rpm)), and use the guile-config that is in
30 file(/usr/src/redhat/BUILD/guile-1.3/guile-config/).
33 question(I get all kinds of errors while compiling file(parser.cc))
35 LilyPond uses features of bison version 1.25. Please confirm that
36 you are using a version 1.25 or better, that is bf(GNU) bison
37 bf(1.25). Don't forget to do "make clean" after installing it. Don't
38 forget to remove the stale file(bison.simple) as well.
40 If the problem persists, then please send a bug report to the mailing list.
42 question(I upgraded by applying a patch, and now my configure/build breaks.)
44 Patches don't include automatically generated files, i.e.
45 file(configure) and files generated by file(configure). Regenerate them
51 You might need to create some extra "out" directories. Do this with
55 question(Some of your neat scripts fail, what directories do you use:)
57 [This only applies if you don't do code(make install), and develop out
58 of the source directory]
60 I have a directory which contains all our development projects
65 which looks like file(/usr/)
76 The directory file(~/usr/src/) contains something like
77 includefile(../stepmake/Documentation/layout.yo)
80 ~/usr/src/bin is in the PATH, and contains symbolic links to the
83 question(Is there an emacs mode?)
85 Yes. It is included with the source archive as mudela-mode.el. If
86 you have an rpm it is in /usr/doc/lilypond-X/. You have to install it
89 question(How do i create the file(.tfm) files?)
91 You don't. The file(.tfm) files should be generated automatically by
92 Metafont when you run TeX(). Check your TeX() installation, or ask
93 your local TeX() guru. The supplied file(.afm) files are intended to
94 be used by LilyPond, not by any other programs.
99 question(Why is the documentation/website/etc. so lousy?)
101 LilyPond development is moving quite fast, documentation will often
102 lag a bit behind. We must always make a choice between writing more
103 doco, writing more code and answering email.
105 If you think you can make a correction, or devised a solution that
106 should be documented, please do so and send in a patch.
108 sect(Language: mudela)
110 question(Why can't you type code(#c) in stead of code(cis) ?)
112 We think that code(#c) looks as if you are entering the symbols to
113 print (which you are not; remember, you're entering the musical
117 question(Why do I have to type the accidentals to the note if I specified them?)
123 Independently of how it was written and what the current key was, you
124 would say that you are playing and reading "two C-sharp" notes. We
125 have tried to make the language somewhat context-free. Of course
126 sheet music is not context-free. Unfortunately, sheet music is also 2
127 dimensional, and ASCII is not.
129 Technically it would be feasible to have the Interpreting phase do
130 tricky things to add (or leave out) the accidentals, but we think that
131 it is impractical: it hampers the readability and portability of your
132 source, since you need LilyPond to fill in the details and actually
136 question(What is code(cis) anyway)
138 code(cis) is the dutch naming for C-sharp. The notes are named
139 a, b,.., g. The suffix -is means sharp, and -es flat. This system is
140 common in a number of languages (such as swedish, dutch, german.)
141 Certain other languages (such as English, French and Italian) just add
142 the word for "sharp" to the notename.
144 We chose the Dutch system, because we're dutch. You are free to chose
145 whatever names you like; they are user definable.
148 question(Why are [] around the notes, and () inbetween?)
150 [] designate beams, a note can only be in one beam at the same
151 time. () is a slur, which connects notes. You need to be able to
157 question(I want to insert some TeX commands.)
159 You shouldn't: it's against LilyPond philosophy to have typesetting
160 commands in the mudela source. Moreover, this would be difficult.
161 LilyPond uses TeX like a glorified output engine: the output consists
162 of (x,y) positions and symbols. You can only sensibly do TeX stuff in
163 the symbol string. You can access the symbol string easily for some
164 symbols (notably lyrics and code(^"text") commands).
167 sect(Do you support ...)
169 question(Do you support pop songs (chords, single staff, lyrics)?)
171 Yes, see the file(twinkle-pop) example.
174 question(Do you support guitar chord diagrams?)
176 No, not yet. We ourselves don't play guitar, and don't know the
177 fine points of this notation. We would welcome anyone who could give
180 question(Do you support TAB notation?)
182 No. The same as for the previous question goes, but TAB is a lot
183 more work than diagrams (TAB needs modification of Parser, Lexer,
184 Staff, Notehead, Stem code and all the code that creates these graphic
187 question(Do you support multiple staff-sizes?)
189 Yes and no. At this time you can choose between 11, 13, 16, 19,
190 20, 23 and 20 pt staff-size. The sizes can't be changed per staff
191 (yet). Look at file(standchen.ly) for an example.
194 question(Do you support Gregorian chant notation?)
196 No. There is no reason why LilyPond can't be extended to do so, but
197 we haven't done it yet (and there are currently no plans to do it).
202 question(How do I change the TeX layout?)
204 See file(lilyponddefs.tex), it has some comments. Or use file(ly2dvi).
206 question(How do I place lyrics under em(each) of the staves in a
207 score, as choral music. I can work out how to put lyrics for each line
208 all under the top line, or at the bottom but not between!)
210 You change the order lyrics and staves. You have to name all
211 staves (lyric and melodic), otherwise they will end up in the same
215 < \melodic \type Staff = "treble" \trebleMelody
216 \lyric \type Lyrics = "tlyrics" \trebtext
217 \type Staff = "bass" \melodic \bassMelody
218 \lyric \type Lyrics = "blyrics" \basstext
224 question(How do I put more than one marking on a note.)
230 or use spacing-notes to put markings at different horizontal positions
233 { s4\ff s4^"text" s4-\marcato s4 }
236 This also works for crescendi, eg,
244 question(How do I get bar numbers?)
246 See file(init/engraver.ly). You have to uncomment some entries. To
247 do this `portably' you should redefine some engravers in your own
248 source files. Check out file(init/rhythm.ly).
253 question(Could you implement feature XXXX? It is really easy, just extend
254 the syntax to allow YYYY!)
256 If it is reasonable, I'll add XXXX to the TODO list. In general
257 finding a cute syntax (such as YYYY) isn't very hard. The complicated
258 issue how to adapt the internals to do XXXX. The parser is really a
259 simple front end to the complicated internals.
262 question(Can I join in on LilyPond development? How do I do this?)
264 LilyPond development is open for anyone who wants to join. We try
265 to use a Bazaar style development model for LilyPond, see
266 lurl(http://locke.ccil.org/~esr/writings/cathedral.html.) This means:
267 frequent releases, everyone can send in a patch or do suggestions and
268 all development discussions are public.
270 To be precise, discussions take place on the gnu-music-discuss mailing
271 list, which is open for subscription to everyone.
274 question(I want to implement XXXX! Should I do this?)
276 There might be better ways of doing XXXX, so it's a good thing to
277 ask about this before you start hacking. If you want to keep in touch
278 with current developments, you should subscribe to the mailing list
279 (see the "links" section of the documentation).
282 question(Is there a GUI frontend? Should I start building one?)
284 LilyPond currently has no graphical interface. The authors seriously
285 doubt if a simple-minded approach (dragging and dropping notes) is any
286 easier or quicker to use than mudela. But for composing a graphical
287 environment probably is indispensable.
289 In any case email(Derek Wyatt)(wyatt@scar.utoronto.edu) is working on
290 GTK based editor, but that is still in an embryonal stage (see
291 lurl(http://harmonia.scar.utoronto.ca). There is also a GUI package
292 RoseGarden that could be extended to output mudela.
294 If you want to work on this, please send e-mail to the mailing list
295 email(gnu-music-discuss@gnu.org).
298 question(I want to implement XXXX! How should I do this?)
300 Your best bet of getting us to include code, is to present it as a
301 "fait accompli", i.e., to send a patch to the mailing list.
304 question(I made some code, how do I get you to include it?)
308 diff -urN old-file new-file > patch
312 diff -urN old-directory/ new-directory/ > patch
314 Alternatively, you can use issue the command
319 Don't forget to put your name and e-mail address
320 in the file(AUTHORS.pod) file, or you won't get credits :-]
323 question(How do I learn the C++ code?)
325 The entry point is in code(main()). Good luck. :-)
327 Seriously, read, reread and reread internals and CodingStyle, and
330 Anywhere? Well, most of the comment doco are in the header files, so
331 your best bet would be code(less lily/include/*.hh). Some of the most
332 important data-structures are to be found in:
351 question(Your make system does not adhere to GNU coding standards, could you
354 No. We have evaluated the standard GNU combination for compiling
355 programs (autoconf, automake, libtool) and found to be inadequate in
356 several respects. More detailed argumentation is included with
357 LilyPond's generic make package code(StepMake)
358 (see file(stepmake-x.x.x/Documentation/automake.urgh))
360 LilyPond already compiles into a different directory ((the different
361 directory is called out/, there is one in every source directory).
362 make distclean essentially reduces to file(rm -f out/*) in every directory
364 question(gdb crashes when I debug!)
368 question(Why do I need g++ >= 2.8 / EGCS-1.1 ?)
370 Supporting more compilers than EGCS/G++ 2.8 is unlikely to make
371 LilyPond run on more platforms. It would give us an enormous headache
372 in detecting and catering for every variant of every compiler: not
373 having to support other compilers saves us a em(lot) of trouble.
379 question(I use dvilj4, and there are lots of warning messages for the
382 You should use dvips and ghostscript to print the code(dvi) output:
383 the slurs and beams are PS code(\special) commands.
386 question(My symbols are all messed up after I upgraded, I get the
387 wrong symbols and dvi-checksum errors!)
389 We obviously mucked with the fonts in the upgrade. Remove em(all)
390 previous fonts, including the file(.pk) and file(.tfm) fonts in
391 file(/var/lib/texmf). A script automating this has been included, see
392 file(buildscripts/clean-fonts.sh).
395 question(How does PS output work?)
398 it() Generate the PostScript Type-3 fonts. In the file(mf/)
403 it() Run lilypond with option tt(-f ps):
407 it() To view the file(.ps) output with GhostView, set GS_FONTPATH to the
408 directory containing the pfas. In the source tree, this is file(mf/out/),
409 i.e. do something like:
411 export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
416 Direct PS output is still experimental. For creating nice looking ps
417 output, use TeX() and code(dvips).
420 question(The beams and slurs are gone if use the XDvi magnifying glass!?)
422 The beams and slurs are done in PostScript. XDvi doesn't show
423 PostScript in the magnifying glass. Complain to the XDvi maintainers.
426 question(I don't get midi-output, even if I use bf(-M)!)
428 Your \score should include a \midi block, eg.
431 \melodic { c4 c g g }
434 output = "myfile.midi";
439 The bf(-M) option was added to LilyPond because processing the \paper
442 question(A lot of musical stuff doesn't make it to the MIDI file, eg.
443 dynamics, articulation, etc.)
445 The MIDI output was originally put in as a proof that MIDI could be
446 done, and as a method of proof"reading" the input. The MIDI support
447 is by no means finished. Patches appreciated.
452 question(How does copyright for sheet music work? Can I enter and
453 spread my newly bought Bach urtext?)
455 Silas S. Brown <ssb22@hermes.cam.ac.uk>:
457 There are several aspects to sheet music copyright:
459 1. The music itself - copyright for the composer's life plus 70 years (so
460 not applicable to Bach).
462 2. If the music is an arrangement, then the arranger holds copyright on
463 that arrangement. However, you can produce your own arrangement using
464 that arrangement as a reference point. Obviously your arrangement must be
465 sufficently different to be called your own arrangement - you need to do
466 more than change one note!
468 3. In some countries, the same applies for editions. This could be
469 relevant to the Bach example. If a modern person has edited the music,
470 then they hold the copyright on the edition. This does not stop you from
471 removing the editorial features - remove all editorial slurs, phrasemarks,
472 ornaments etc and only leave those that you know to be original. You can
473 then add some of your own if you want to be your own editor.
475 4. If there are lyrics, then the lyricist also holds copyright. This
476 does not stop you from using the music without the lyrics if it is
477 otherwise out of copyright.
479 5. The copyright of the printed page is held by the publisher for 30
480 years after printing (25 in some countries). This stops you from
481 photocopying (unless it's "fair use" eg. you're partially sighted and need
482 to enlarge the music) or otherwise reproducing the typesetting that is
483 used on it. But the copyright is only held over the typesetting work, not
484 the music itself. Since Mudela specifies the notes, independently of any
485 typesetting work that went into your reference copy, you are not
486 duplicating any of the publisher's work.
488 6. If you want to violate copyright, there are two main cases where you
489 may do so: fair use, and with permission. The former is rather fuzzily
490 defined, but it includes such things as including small extracts of a
491 score in a critique, and making a large print or Braille copy for a blind
492 or partially-sighted performer (many people argue that in this case it
493 should always be kept with the original copy and/or destroyed after it is
494 no longer needed). The latter is obvious: You can always write to the
495 composer, arranger, editor, lyricist or publisher in question and ask if
496 you can do whatever it is you're trying to do. Some will respond more
497 readily than others, but anything that they say will override any copying
498 restrictions imposed on you.
501 References - best one I know is the UK-based Performing Right Society,
502 lurl(http://www.prs.co.uk/) (especially "membership") and their links to other
503 international equivalents.
507 Juergen Reuter <reuterj@ira.uka.de>:
509 [More information can be had at: ]
511 lurl(http://lcweb.loc.gov/copyright/)
514 lurl(http://fairuse.stanford.edu/)
515 (meta site about copyright with many links to other resources)
517 lurl(http://host.mpa.org/crc.html)
518 (copyright from the viewpoint of the USA music publishers' association)
520 lurl(http://www.wipo.int)
521 (World Intellectual Property Organization (a UNO agency); with
522 information about international copyright)
527 question(I downloaded the windows32 port, and it doesn't match the website!)
529 The website is usually made from the latest snapshots. Binary releases,
530 in particular the windows32 binaries, are only made every once in a while.
531 They may lag several versions behind the latest version.
533 question(But i want a native DOS/Windows-NT/95 port)
535 Reconsider. Try Linux. It's fun!