1 \input texinfo @c -*-texinfo-*-
3 @settitle FAQ - GNU LilyPond FAQs
5 @node Top, , Windows32, (dir)
8 * FAQ - GNU LilyPond FAQs:: FAQ - GNU LilyPond FAQs
13 @node FAQ - GNU LilyPond FAQs, Miscellaneous, , Top
15 * Miscellaneous:: Miscellaneous
16 * Installing:: Installing
17 * Documentation:: Documentation
18 * Language- mudela:: Language- mudela
19 * Do you support -:: Do you support -
20 * How do I -:: How do I -
21 * Development:: Development
23 * Copyright:: Copyright
24 * Windows32:: Windows32
26 @chapter FAQ - GNU LilyPond FAQs
29 @node Miscellaneous, Installing, FAQ - GNU LilyPond FAQs, FAQ - GNU LilyPond FAQs
30 @section Miscellaneous
32 @subsubsection HELP! I'm stuck!
34 Please read this document carefully. If you are still at loss,
35 send your subsubsections to the @strong{mailing list}, and not to authors
38 Note: relative paths are meant to be relative to the source directory
40 @node Installing, Documentation, Miscellaneous, FAQ - GNU LilyPond FAQs
43 @subsubsection If I install the .exe file on my DOS/windows 3.11 machine, it doesn't work
45 The DOS port is done with the cygnus gnu/windows32 port of the GNU utils.
46 It does @emph{not} work with windows 3.x; you need Windows-NT (95/98?). This
47 is not a recommendation, however. We recommend you use Unix, in
48 particular, use GNU/Linux. For further information see @file{README-W32}.
50 @subsubsection Where is guile-config
52 RedHat RPMS don't include guile-config. You need guile-config as it
53 was produced during the RPM build run. Build the RPM from source
54 (@file{.src.rpm}), and use the guile-config that is in
55 @file{/usr/src/redhat/BUILD/guile-1.3/guile-config/}.
57 @subsubsection I get all kinds of errors while compiling @file{parser.cc}
59 LilyPond uses features of bison version 1.25. Please confirm that
60 you are using a version 1.25 or better, that is @strong{GNU} bison
61 @strong{1.25}. Don't forget to do "make clean" after installing it. Don't
62 forget to remove the stale @file{bison.simple} as well.
64 If the problem persists, then please send a bug report to the mailing list.
66 @subsubsection I upgraded by applying a patch, and now my configure/build breaks.
68 Patches don't include automatically generated files, i.e.
69 @file{configure} and files generated by @file{configure}. Regenerate them
78 You might need to create some extra "out" directories. Do this with
85 @subsubsection Some of your neat scripts fail, what directories do you use:
87 [This only applies if you don't do @code{make install}, and develop out
88 of the source directory]
90 I have a directory which contains all our development projects
97 which looks like @file{/usr/}
113 ~/usr/src/bin is in the PATH, and contains symbolic links to the
114 compiled executables.
116 @subsubsection Is there an emacs mode?
118 Yes. It is included with the source archive as mudela-mode.el. If
119 you have an rpm it is in /usr/doc/lilypond-X/. You have to install it
122 @subsubsection How do i create the @file{.tfm} files?
124 You don't. The @file{.tfm} files should be generated automatically by
125 Metafont when you run TeX. Check your TeX installation, or ask
126 your local TeX guru. The supplied @file{.afm} files are intended to
127 be used by LilyPond, not by any other programs.
129 @node Documentation, Language- mudela, Installing, FAQ - GNU LilyPond FAQs
130 @section Documentation
132 @subsubsection Why is the documentation/website/etc. so lousy?
134 LilyPond development is moving quite fast, documentation will often
135 lag a bit behind. We must always make a choice between writing more
136 doco, writing more code and answering email.
138 If you think you can make a correction, or devised a solution that
139 should be documented, please do so and send in a patch.
141 @node Language- mudela, Do you support -, Documentation, FAQ - GNU LilyPond FAQs
142 @section Language: mudela
144 @subsubsection Why can't you type @code{#c} in stead of @code{cis} ?
146 We think that @code{#c} looks as if you are entering the symbols to
147 print (which you are not; remember, you're entering the musical
150 @subsubsection Why do I have to type the accidentals to the note if I specified them?
159 Independently of how it was written and what the current key was, you
160 would say that you are playing and reading "two C-sharp" notes. We
161 have tried to make the language somewhat context-free. Of course
162 sheet music is not context-free. Unfortunately, sheet music is also 2
163 dimensional, and ASCII is not.
165 Technically it would be feasible to have the Interpreting phase do
166 tricky things to add (or leave out) the accidentals, but we think that
167 it is impractical: it hampers the readability and portability of your
168 source, since you need LilyPond to fill in the details and actually
171 @subsubsection What is @code{cis} anyway
173 @code{cis} is the dutch naming for C-sharp. The notes are named
174 a, b,.., g. The suffix -is means sharp, and -es flat. This system is
175 common in a number of languages (such as swedish, dutch, german.)
176 Certain other languages (such as English, French and Italian) just add
177 the word for "sharp" to the notename.
179 We chose the Dutch system, because we're dutch. You are free to chose
180 whatever names you like; they are user definable.
182 @subsubsection Why are [] around the notes, and () inbetween?
184 [] designate beams, a note can only be in one beam at the same
185 time. () is a slur, which connects notes. You need to be able to
193 @subsubsection I want to insert some TeX commands.
195 You shouldn't: it's against LilyPond philosophy to have typesetting
196 commands in the mudela source. Moreover, this would be difficult.
197 LilyPond uses TeX like a glorified output engine: the output consists
198 of (x,y) positions and symbols. You can only sensibly do TeX stuff in
199 the symbol string. You can access the symbol string easily for some
200 symbols (notably lyrics and @code{^"text"} commands).
202 @node Do you support -, How do I -, Language- mudela, FAQ - GNU LilyPond FAQs
203 @section Do you support ...
205 @subsubsection Do you support pop songs (chords, single staff, lyrics)?
207 Yes, see the @file{twinkle-pop} example.
209 @subsubsection Do you support guitar chord diagrams?
211 No. Go ahead and send a patch.
213 We ourselves don't play guitar, and don't know the fine points of this
214 notation. We would welcome anyone who could give this a try.
216 @subsubsection Do you support TAB notation?
218 No. The same as for the previous subsubsection goes, but TAB is a lot
219 more work than diagrams (TAB needs modification of Parser, Lexer,
220 Staff, Notehead, Stem code and all the code that creates these graphic
223 @subsubsection Do you support multiple staff-sizes?
225 Yes. At this time you can choose between 11, 13, 16, 19, 20, 23 and
226 20 pt staff-size. Use the staffLineLeading property for setting the
227 size of the staff, and fontSize for setting the size of the glyphs.
229 @subsubsection Do you support Gregorian chant notation?
233 @subsubsection Do you support grace notes?
235 Yes. See @file{input/test/grace.ly}
237 @node How do I -, Development, Do you support -, FAQ - GNU LilyPond FAQs
238 @section How do I ....
240 @subsubsection How do I change the TeX layout?
242 See @file{lilyponddefs.tex}, it has some comments. Or use @file{ly2dvi}.
244 subsubsection(How do I place lyrics under @emph{each} of the staves in a score, as choral music. I can work out how to put lyrics for each line all under the top line, or at the bottom but not between!)
246 You change the order lyrics and staves. You have to name all
247 staves (lyric and melodic), otherwise they will end up in the same
252 < \melodic \type Staff = "treble" \trebleMelody
253 \lyric \type Lyrics = "tlyrics" \trebtext
254 \type Staff = "bass" \melodic \bassMelody
255 \lyric \type Lyrics = "blyrics" \basstext
262 @subsubsection How do I put more than one marking on a note.
271 or use spacing-notes to put markings at different horizontal positions
275 @{ s4\ff s4^"text" s4-\marcato s4 @}
280 This also works for crescendi, eg,
289 @subsubsection How do I combine multiple pieces into one document
291 There are several solutions:
301 produces one combined @file{foo.dvi}
302 @item make a toplevel @file{.ly} file that contains al pieces:
312 @item make a hybrid TeX/LilyPond @file{.doc} document (see the
313 @file{Documentation/tex} directory).
316 For the first two solutions, you will need to move @code{\header} info
317 in each individual piece from toplevel into the @code{\paper} block.
319 There are several examples in the @file{mutopia} directory.
321 @subsubsection How do I get bar numbers?
323 See @file{input/test/bar-scripts.ly}.
325 @subsubsection How do I change the tagline 'Lily was here'
327 In the @code{\header} field, add a @code{tagline} entry, eg
330 tagline="Typeset by GNU LilyPond"
334 to get a bit less frivolous tagging.
336 @node Development, Running, How do I -, FAQ - GNU LilyPond FAQs
339 subsubsection(Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!)
341 If it is reasonable, I'll add XXXX to the TODO list. In general
342 finding a cute syntax (such as YYYY) isn't very hard. The complicated
343 issue how to adapt the internals to do XXXX. The parser is really a
344 simple front end to the complicated internals.
346 @subsubsection Can I join in on LilyPond development? How do I do this?
348 LilyPond development is open for anyone who wants to join. We try
349 to use a Bazaar style development model for LilyPond, see
350 @uref{http://locke.ccil.org/~esr/writings/cathedral.html.} This means:
351 frequent releases, everyone can send in a patch or do suggestions and
352 all development discussions are public.
354 To be precise, discussions take place on the gnu-music-discuss mailing
355 list, which is open for subscription to everyone.
357 @subsubsection I want to implement XXXX! Should I do this?
359 There might be better ways of doing XXXX, so it's a good thing to
360 ask about this before you start hacking. If you want to keep in touch
361 with current developments, you should subscribe to the mailing list
362 (see the "links" section of the documentation).
364 @subsubsection Is there a GUI frontend? Should I start building one?
366 LilyPond currently has no graphical interface. The authors seriously
367 doubt if a simple-minded approach (dragging and dropping notes) is any
368 easier or quicker to use than mudela. But for composing a graphical
369 environment probably is indispensable.
371 In any case @email{Derek Wyatt}(wyatt@@scar.utoronto.edu) is working on
372 GTK based editor, but that effort practically died. (see
373 @uref{http://harmonia.scar.utoronto.ca}.
375 Matthew Hiller is working on extending Midiscore and Koobase to handle
376 mudela. Check out @uref{http://zoo.cs.yale.edu/~meh25/}.
378 There is also a GUI package RoseGarden that could be extended to
381 If you want to work on this, please send e-mail to the mailing list
382 @email{gnu-music-discuss@@gnu.org}.
385 @subsubsection I want to implement XXXX! How should I do this?
387 Your best bet of getting us to include code, is to present it as a
388 "fait accompli", i.e., to send a patch to the mailing list.
390 @subsubsection I made some code, how do I get you to include it?
395 diff -urN old-file new-file > patch
402 diff -urN old-directory/ new-directory/ > patch
406 Alternatively, you can use issue the command
413 Don't forget to put your name and e-mail address
414 in the @file{AUTHORS.pod} file, or you won't get credits :-]
416 @emph{Please} always send a @strong{-u} diff, even if it is larger than the
419 @subsubsection How do I learn the C++ code?
421 The entry point is in @code{main()}. Good luck. :-)
423 Seriously, read, reread and reread internals and CodingStyle, and
426 Anywhere? Well, most of the comment doco are in the header files, so
427 your best bet would be @code{less lily/include/*.hh}.
429 You should also have a look using Javadoc like tools. Try
430 DOC++, @uref{http://www.imaginator.com/doc++}
432 @subsubsection Why GPL?
437 @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it?
439 No. We have evaluated the standard GNU combination for compiling
440 programs (autoconf, automake, libtool) and found to be inadequate in
441 several respects. More detailed argumentation is included with
442 LilyPond's generic make package @code{StepMake}
443 (see @file{stepmake-x.x.x/Documentation/automake.urgh})
445 LilyPond already compiles into a different directory ((the different
446 directory is called out/, there is one in every source directory).
447 make distclean essentially reduces to @file{rm -f out/*} in every directory
449 @subsubsection gdb crashes when I debug!
453 @subsubsection Why do I need g++ >= 2.8 / EGCS-1.1 ?
455 Supporting more compilers than EGCS/G++ 2.8 is unlikely to make
456 LilyPond run on more platforms. It would give us an enormous headache
457 in detecting and catering for every variant of every compiler: not
458 having to support other compilers saves us a @emph{lot} of trouble.
460 @node Running, Copyright, Development, FAQ - GNU LilyPond FAQs
463 @subsubsection I use dvilj4, and there are lots of warning messages for the printing
465 You should use dvips and ghostscript to print the @code{dvi} output:
466 the slurs and beams are PS @code{\special} commands.
469 subsubsection(My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!)
471 We obviously mucked with the fonts in the upgrade. Remove @emph{all}
472 previous fonts, including the @file{.pk} and @file{.tfm} fonts in
473 @file{/var/lib/texmf}. A script automating this has been included, see
474 @file{buildscripts/clean-fonts.sh}.
476 @subsubsection all the pk and tfm fonts are created in the directory where the mudela file is, not in "/var/spool/texmf" where I think they should be.
478 Mats Bengtsson <mats.bengtsson@@s3.kth.se> writes:
480 The simple solution used by Anthony Fok in the Debian distribution of
481 Lilypond is to link the mf/ directory to
482 /usr/lib/texmf/fonts/source/public/lilypond Depending on what
483 distribution of teTeX and Linux you have installed, there might also
484 be other places like /usr/local/lib/texmf/fonts/source/public/lilypond
485 or /var/spool/texmf//fonts/source/public/lilypond
487 Wherever you put it, don't forget to run mktexlsr (or texhash for
488 older installations) afterwards, so that TeX will find the files.
489 Also, don't forget to remove all old .tfm and .*pk files when the font
490 is updated (as it will be in version 1.1.40, for example).
492 @subsubsection Are there scalable versions of the font?
494 Yes, they are type-3 fonts. In the @file{mf/}
501 in the mf/ subdirectory. This will also make @file{mfplain} for metapost.
502 The @file{pfa}s will be in the subdirectory @file{out/}.
504 @subsubsection How does PS output work?
508 Generate the PostScript Type-3 fonts.
510 Run lilypond with option @code{-f ps}:
517 @item To view the @file{.ps} output with GhostView, set GS_FONTPATH to the
518 directory containing the @file{pfa}s. In the source tree, this is @file{mf/out/}.
520 i.e. do something like:
523 export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
530 Direct PS output is still experimental. For creating nice looking ps
531 output, use TeX and @code{dvips}.
534 @subsubsection The beams and slurs are gone if use the XDvi magnifying glass!?
536 The beams and slurs are done in PostScript. XDvi doesn't show
537 PostScript in the magnifying glass. Complain to the XDvi maintainers.
539 @subsubsection I don't get midi-output, even if I use @strong{-M}!
541 Your \score should include a \midi block, eg.
545 \melodic @{ c4 c g g @}
548 output = "myfile.midi";
555 The @strong{-M} option was added to LilyPond because processing the \paper
558 subsubsection(A lot of musical stuff doesn't make it to the MIDI file, eg. dynamics, articulation, etc.)
560 The MIDI output was originally put in as a proof that MIDI could be
561 done, and as a method of proof"reading" the input. The MIDI support
562 is by no means finished. Patches appreciated.
564 @node Copyright, Windows32, Running, FAQ - GNU LilyPond FAQs
567 @subsubsection What is Urtext? Critical Edition?
571 It may be translated best as `that what the composer intended to tell
574 Peter Chubb <peterc@@aurema.com> writes:
576 An Urtext is a reconstruction of the earliest form of a text,
577 including mistakes the original author wrote. Where there is no
578 available facsimile of the original, creating this can involve some
579 inspired detective work (in comparing various later editions and
580 trying to deduce what the original form was). As far as copyright
581 goes, my guess is that, for works that are otherwise out of copyright,
582 an Urtext is copyright to the person who reconstructed it, as a
583 derived work from the editions s/he consulted. If the edition is
584 created directly from a facsimile, as would be the case for most
585 Urtext editions of music, then the amount of new (copyright) material
588 A critical edition is an edition that is designed for critical
589 study of a text. It'll usually have lots of footnotes, alternative
590 readings, possible realisations of bass parts and harmonies, etc. It
591 aims to elucidate the author's original intentions, as opposed to
592 reproduce exactly what was written. The critical apparatus will be
593 copyright to its author.
595 A playing edition is one that has been edited for modern usage.
596 It'll have fewer or no alternative readings, it'll be in modern
597 notation, it may have additional editorial marks (phrase marks, slurs,
598 etc.) will often have a fully realised basso continuo part (if oone
599 was present in the original) and may have had key changes, time
600 signature changes, time compression (original in 4/1, playing edition
601 in 4/4, for example, with all semibreves replaced with crotchets)
602 Copyright is in the arranger/editor.
604 subsubsection(How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?)
606 Silas S. Brown <ssb22@@hermes.cam.ac.uk>:
608 There are several aspects to sheet music copyright:
610 1. The music itself - copyright for the composer's life plus 70 years (so
611 not applicable to Bach).
613 2. If the music is an arrangement, then the arranger holds copyright on
614 that arrangement. However, you can produce your own arrangement using
615 that arrangement as a reference point. Obviously your arrangement must be
616 sufficently different to be called your own arrangement - you need to do
617 more than change one note!
619 3. In some countries, the same applies for editions. This could be
620 relevant to the Bach example. If a modern person has edited the music,
621 then they hold the copyright on the edition. This does not stop you from
622 removing the editorial features - remove all editorial slurs, phrasemarks,
623 ornaments etc and only leave those that you know to be original. You can
624 then add some of your own if you want to be your own editor.
626 4. If there are lyrics, then the lyricist also holds copyright. This
627 does not stop you from using the music without the lyrics if it is
628 otherwise out of copyright.
630 5. The copyright of the printed page is held by the publisher for 30
631 years after printing (25 in some countries). This stops you from
632 photocopying (unless it's "fair use" eg. you're partially sighted and need
633 to enlarge the music) or otherwise reproducing the typesetting that is
634 used on it. But the copyright is only held over the typesetting work, not
635 the music itself. Since Mudela specifies the notes, independently of any
636 typesetting work that went into your reference copy, you are not
637 duplicating any of the publisher's work.
639 6. If you want to violate copyright, there are two main cases where you
640 may do so: fair use, and with permission. The former is rather fuzzily
641 defined, but it includes such things as including small extracts of a
642 score in a critique, and making a large print or Braille copy for a blind
643 or partially-sighted performer (many people argue that in this case it
644 should always be kept with the original copy and/or destroyed after it is
645 no longer needed). The latter is obvious: You can always write to the
646 composer, arranger, editor, lyricist or publisher in subsubsection and ask if
647 you can do whatever it is you're trying to do. Some will respond more
648 readily than others, but anything that they say will override any copying
649 restrictions imposed on you.
651 References - best one I know is the UK-based Performing Right Society,
652 @uref{http://www.prs.co.uk/} (especially "membership") and their links to other
653 international equivalents.
656 Juergen Reuter <reuterj@@ira.uka.de>:
658 [More information can be had at: ]
660 @uref{http://lcweb.loc.gov/copyright/}
663 @uref{http://fairuse.stanford.edu/}
664 (meta site about copyright with many links to other resources)
666 @uref{http://host.mpa.org/crc.html}
667 (copyright from the viewpoint of the USA music publishers' association)
669 @uref{http://www.wipo.int}
670 (World Intellectual Property Organization (a UNO agency); with
671 information about international copyright)
675 See @uref{http://www.geocities.com/Vienna/Studio/1714/harpsichord.html}
676 for a summary of copyright relative to old music, also for the
677 expert forum for such subsubsections.
679 Werner Lemberg <sx0005@@sx2.HRZ.Uni-Dortmund.DE>:
681 This is not correct. Urtext editions per se are @emph{not} copyrighted
682 -- if you print exactly what the composer has written, how can there
683 some copyright be added? Copyrighted are usually only the `Critical
684 notes', the foreword, and the cadenzas some editors have added.
686 This means that the `Photocopying forbidden' sign in many scores is
687 not always correct for e.g. J.S. Bach -- you are allowed to copy the
688 pages which don't contain editorial stuff which is probably
691 A very unfortunate situation for the publishers.
694 @node Windows32, Top, Copyright, FAQ - GNU LilyPond FAQs
697 @subsubsection I downloaded the windows32 port, and it doesn't match the website!
699 The website is usually made from the latest snapshots. Binary releases,
700 in particular the windows32 binaries, are only made every once in a while.
701 They may lag several versions behind the latest version.
703 @subsubsection But i want a native DOS/Windows-NT/95 port
705 Reconsider. Try Linux. It's fun!