1 \input texinfo @c -*-texinfo-*-
3 @settitle FAQ - GNU LilyPond FAQs
8 * Miscellaneous:: Miscellaneous
9 * Installing:: Installing
10 * Documentation:: Documentation
11 * Language- mudela:: Language- mudela
12 * Do you support -:: Do you support -
13 * How do I -:: How do I -
14 * Development:: Development
16 * Copyright:: Copyright
17 * Windows32:: Windows32
19 @chapter FAQ - GNU LilyPond FAQs
22 @node Miscellaneous, ,,top
23 @section Miscellaneous
25 @subsubsection HELP! I'm stuck!
27 Please read this document carefully. If you are still at loss, send
28 your questions to the @strong{mailing list}, and not to authors
31 Note: relative paths are meant to be relative to the source directory
33 @subsubsection I've got a simple question, but this FAQ doesn't help!
35 Please have a look in the searchable mail achives of
36 @uref{http://www.mail-archive.com/gnu-music-discuss@@gnu.org/,
37 gnu-music-discuss} and
38 @uref{http://www.mail-archive.com/help-gnu-music@@gnu.org/, help-gnu-music}.
39 Your question may well have been answered before.
41 @node Installing,, ,top
45 @subsubsection If I install the .exe file on my DOS/windows 3.11 machine, it doesn't work
47 The NT port is done with the Cygnus GNU/Windows32 port of the GNU utils.
48 It does @emph{not} work with windows 3.x; you need Windows-NT (95/98?).
50 @subsubsection Where is guile-config
52 Old 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
79 @subsubsection Is there an emacs mode?
81 Yes. It is included with the source archive as @file{lilypond-mode.el}.
82 If you have an RPM it is in @file{/usr/doc/lilypond-X/}. You have to
85 @subsubsection How do I create the @file{.tfm} files?
87 You don't. The @file{.tfm} files should be generated automatically by
88 Metafont when you run TeX. Check your TeX installation, or ask
89 your local TeX guru. The supplied @file{.afm} files are intended to
90 be used by LilyPond, not by any other programs.
92 @node Documentation,, ,top
93 @section Documentation
95 @subsubsection What a sober website/manual you have there!
97 LilyPond development is moving fast, so the documentation will often be out
98 of date. But don't hesitate to point out inaccuracies. Whip up your
99 mail reader and write to the mailing list.
101 @subsubsection Please take me off your mailing list, I get so much mail!
103 Don't ask Han-wen, don't ask David. Instead, read about
104 @uref{../../index.html#mailing-lists, the mailing lists} here.
108 @node Language- mudela,, ,top
109 @section Language: mudela
111 @subsubsection Why do I have to type the accidentals to the note if I
112 specified them in the keysignature?
121 Independently of how it was written and what the current key was, you
122 would say that you are playing and reading "two C-sharp" notes, so you
123 have to enter C-sharp twice.
125 @subsubsection What is @code{cis} anyway
127 @code{cis} is the dutch naming for C-sharp. The notes are named
128 a, b,.., g. The suffix -is means sharp, and -es flat. This system is
129 common in a number of languages (such as swedish, dutch, german.)
130 Certain other languages (such as English, French and Italian) just add
131 the word for "sharp" to the notename.
133 We chose the Dutch system, because we're dutch. You are free to chose
134 whatever names you like; they are user definable.
136 @subsubsection Why are [] around the notes, and () inbetween?
138 [] designate beams, a note can only be in one beam at the same
139 time. () is a slur, which connects notes. You need to be able to
147 @subsubsection I want to insert some TeX commands.
149 You shouldn't: it's against LilyPond philosophy to have typesetting
150 commands in the mudela source. Moreover, this would be difficult.
151 LilyPond uses TeX like a glorified output engine: the output consists
152 of (x,y) positions and symbols. You can only sensibly do TeX stuff in
153 the symbol string. You can access the symbol string easily for some
154 symbols (notably lyrics and @code{^"text"} commands).
156 @node Do you support -,, ,top
157 @section Do you support ...
159 @subsubsection Do you support pop songs (chords, single staff, lyrics)?
161 Yes, see the @file{twinkle-pop} example.
163 @subsubsection Do you support guitar chord diagrams?
165 No. We ourselves don't play guitar, and don't know the fine points of
166 this notation. We would welcome anyone who could give this a try.
168 @subsubsection Do you support TAB notation?
170 No. The same as for the previous question goes.
173 @subsubsection Do you support multiple staff-sizes?
175 Yes. At this time you can choose between 11, 13, 16, 19, 20, 23 and 20
176 pt staff-size. Use the @code{staffSpace} property for setting the
177 size of the staff, and @code{fontSize} for setting the size of the
180 @subsubsection Do you support Gregorian chant notation?
185 @subsubsection Do you support grace notes?
187 Yes. See @file{input/test/grace.ly}.
189 @node How do I -,, ,top
190 @section How do I ....
192 @subsubsection How do I change the page layout?
194 The height and width of the music on each page is set
195 using the paper variables @code{textheight} and @code{linewidth} in
197 If you want to change the placement of the page number or the
198 layout of the title, you could run @code{lilypond infile.ly} and
199 include the generated @file{infile.tex} file in your own LaTeX
200 wrapper file. The easiest way is to start from the ly2dvi default
201 layout, using the following steps (assuming that the input file
206 @item @code{ly2dvi -kK infile.ly}
208 @item Edit the generated LaTeX file @file{infile_lyN.tex} (@code{N} is
209 some number) to get the desired layout. Some aspects are determined in
210 the file titledefs.tex.
212 @item Run @code{latex infile_lyN.tex}
214 @item If you update the Mudela file, run @code{lilypond infile.ly}
215 and then @code{latex infile_lyN.tex}.
217 Another alternative is to use @command{mudela-book}, where smaller or
218 larger music examples can be included in a LaTeX or Texinfo file.
220 @subsubsection The tagline is visible in the .dvi file but is not printed on paper.
222 The default page size is A4. If you use letter sized papers,
223 add the following at the top of your Mudela file.
228 \include "paper20.ly"
230 (Note that setting the papersize in the ordinary paper section inside
231 a score declaration will not have the desired effect.)
232 The default paper size can be set globally for the installation
233 in the file @file{declarations.ly}.
235 @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!
237 You change the order lyrics and staves. You have to name all
238 staves (lyric and melodic), otherwise they will end up in the same
242 < \melodic \type Staff = "treble" \trebleMelody
243 \lyric \type Lyrics = "tlyrics" \trebtext
244 \type Staff = "bass" \melodic \bassMelody
245 \lyric \type Lyrics = "blyrics" \basstext
252 @subsubsection How do I put more than one marking on a note.
261 or use spacing-notes to put markings at different horizontal positions
265 @{ s4\ff s4^"text" s4-\marcato s4 @}
270 This also works for crescendi, eg,
279 @subsubsection How do I combine multiple pieces into one document
281 There are several solutions:
291 produces one combined @file{foo.dvi}
292 @item make a toplevel @file{.ly} file that contains al pieces:
302 @item make a hybrid TeX/LilyPond @file{.doc} document (see the
303 @file{Documentation/tex} directory).
306 For the first two solutions, you will need to move @code{\header} info
307 in each individual piece from toplevel into the @code{\paper} block.
309 There are several examples in the @file{mutopia} directory.
311 @subsubsection How do I get bar numbers?
313 See @file{input/test/bar-scripts.ly}.
315 @subsubsection How do I change the tagline 'Lily was here'?
317 In the @code{\header} field, add a @code{tagline} entry, e.g.
320 tagline="Typeset by GNU LilyPond"
324 @subsubsection Can I make blank manuscript paper with LilyPond?
326 Theoretically, yes but it is easier to do with (La)TeX. This LaTeX file
327 will do the trick for you:
331 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 % Mats Bengtsson, 18/5 2000
334 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
335 \documentclass[a4paper]@{article@}
337 \usepackage@{ifthen@}
338 \usepackage[noheadfoot,hmargin=15mm,vmargin=20mm]@{geometry@}
342 \newcounter@{staffnumber@}
343 \newlength@{\interstaffline@}
345 \newcommand@{\drawline@}@{\hbox@{\rule@{\textwidth@}@{0.5pt@}@}
346 \nointerlineskip\vskip\interstaffline\nointerlineskip@}
348 \newcommand@{\printstaff@}@{\vfill
349 \vbox@{\drawline\drawline\drawline\drawline\drawline@}
353 \typeout@{@}\typeout@{@}
354 \typein[\staffsize]@{Type in the staff size (20pt is a common value):@}
355 \setlength@{\interstaffline@}@{\staffsize@}
356 \setlength@{\interstaffline@}@{.25\interstaffline@}
358 \typein[\num]@{Type in the number of staffs:@}
359 \setcounter@{staffnumber@}@{\num@}
361 \mbox@{@} % To get a starting point for the \vfill
362 \whiledo@{\value@{staffnumber@}>0@}@{%
363 \printstaff \addtocounter@{staffnumber@}@{-1@}@}
369 @node Development,, ,top
372 @subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!
374 In general finding a cute syntax (such as YYYY) isn't very hard. The
375 complicated issue how to adapt the internals to do XXXX. The parser is
376 really a simple front end to the complicated internals.
378 @subsubsection Can I join in on LilyPond development? How do I do this?
380 Yes, we do frequent releases, you are welcome to send in a patch or do
381 suggestions. Join the list @email{gnu-music-discuss@@gnu.org} to
385 @subsubsection Is there a GUI frontend? Should I start building one?
387 LilyPond currently has no graphical interface. We (LilyPond authors)
388 don't feel the need to write a GUI, but several others do:
390 Matthew Hiller has extended Midiscore and Koobase to handle mudela.
391 Check out @uref{http://zoo.cs.yale.edu/~meh25/}. He is now working on
392 `Denemo', a GTK based notation program (which is still being developed).
394 Federico Mena-Quintero and Elliot Lee of RedHat Advanced Development
395 labs have plans to write a GNOME based Music notation program. However,
396 there is no code, only plans.
398 Chris Cannam is working a rewrite of Rosegarden. The new design should
399 be more modular, and could conceivably be used to output
400 mudela. However, the not much seems to have happened the past year. See
401 @uref{http://www.all-day-breakfast.com/rosegarden/development.html}.
404 @subsubsection I want to implement XXXX! How should I do this?
406 Your best bet of getting us to include code, is to present it as a
407 "fait accompli", i.e., to send a patch to the mailing list.
409 Please use the diff command to generate a patch, and don't send complete
410 files, even if the diff is larger than the whole file.
412 Don't forget to put your name and e-mail address in the file
413 @file{Documentation/topdocs/AUTHORS.texi}, or you won't get credits
417 @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it?
419 No. We have evaluated the standard GNU combination for compiling
420 programs (autoconf, automake, libtool) and found to be inadequate for
423 @subsubsection How do I inspect @code{String}s and @code{SCM} values in GDB?
425 Use the following command definitions, which can be put in
430 print $arg0->strh_.data->data_byte_p_
434 call gh_display($arg0)
439 @subsubsection GDB crashes when I debug!
441 Upgrade/downgrade to 4.17.
446 @subsubsection LilyPond takes ages to run, what am I doing wrong?
448 LilyPond uses a lot CPU time, and insane amounts of memory. The amount
449 of memory it requires is proportional to the size of the score, in other
450 words. For a moderately complex piano scores of 5 pages, the footprint
451 can easily become 20 megs. (Our favorite test is the coriolan:
452 approx. 100 megs for a 50 page orchestral). If your system has not got
453 enough memory, it can easily start swapping.
455 A part of the memory is used as temporary storage, and is reclaimed
456 through GUILE's garbage collection. A way to trade in CPU time for
457 storage is by decreasing the environment variable
458 @var{GUILE_MAX_SEGMENT_SIZE} (default 8388608, which is 8 megs).
461 @subsubsection Correcting errors is so tedious. Is there a better way?
463 As of 1.3.73, lilypond provides support for the xdvi @code{src:}
464 special. This can be used with Xdvik (22.16 or better) and xdvi (22.28
465 or better) to go to the place in the input that corresponds to a symbol
466 in the output: click on the note, and your editor jumps to the place
471 Decide if you want column positioning, and edit @file{lily.scm}
472 according to the comments at the function @code{define-origin}.
476 Put this in @file{~/.emacs}:
481 For column positioning, apply
482 @uref{http://www.cs.uu.nl/~hanwen/software/emacsclient-column, this
483 patch} to @code{emacsclient.c} and @code{server.el}. Stick the compiled
484 emacsclient into a bin directory, and put @code{server.el} into a elisp
485 directory (eg. @file{~/usr/share/emacs/}). Add the following to your
486 @file{.emacs} init file, before invoking server-start.
488 (setq load-path (cons (concat (getenv "HOME") "/usr/share/emacs")
494 Warning: @uref{Xdvik,ftp://ftp.cs.uu.nl/pub/tex-archive/dviware/xdvik/},
495 which is shipped with most TeX distributions, doesn't work very well for
496 src specials. You're better off using plain xdvi.
498 xdvi -srcmode -srcvisibility output.dvi
501 Click control-mouse button 2 for making emacs jump to the appropriate place.
503 For column positioning you must install
504 @uref{http://www.cs.uu.nl/~hanwen/software/xdvik-src, this patch} to
505 make Xdvik emit column numbers. Add the command line option
506 @code{-srceditorcommand "emacsclient --no-wait +%l:%c %f"}
510 @uref{Xdvi,ftp://ftp.math.berkeley.edu/pub/Software/TeX/xdvi.tar.gz} has
511 better support for src specials. Apply
512 @uref{http://www.cs.uu.nl/~hanwen/software/xdvi-src, this patch}. Before
513 starting, set the environment variable @code{XEDITOR} to
514 @code{"emacsclient --no-wait +%d %s"}. When viewing,
515 control-mousebutton 1 will take you to the correct
516 line/column. Control-mousebutton 2 will show all clickable boxes.
520 dvips will complain about the specials, but the complaints are harmless.
523 @subsubsection I use dvilj4, and there are lots of warning messages for the printing
525 You should use dvips and ghostscript to print the @code{dvi} output: the
526 slurs and beams are PS @code{\special} commands.
529 @subsubsection My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!
531 We obviously mucked with the fonts in the upgrade. Remove @emph{all}
532 previous fonts, including the @file{.pk} and @file{.tfm} fonts in
533 @file{/var/lib/texmf}. A script automating this has been included, see
534 @file{buildscripts/clean-fonts.sh}.
536 @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.
538 Mats Bengtsson <mats.bengtsson@@s3.kth.se> writes:
540 The simple solution used by Anthony Fok in the Debian distribution of
541 Lilypond is to link the mf/ directory to
542 /usr/lib/texmf/fonts/source/public/lilypond Depending on what
543 distribution of teTeX and Linux you have installed, there might also
544 be other places like /usr/local/lib/texmf/fonts/source/public/lilypond
545 or /var/spool/texmf//fonts/source/public/lilypond
547 Wherever you put it, don't forget to run mktexlsr (or texhash for
548 older installations) afterwards, so that TeX will find the files.
549 Also, don't forget to remove all old .tfm and .*pk files when the font
550 is updated (as it will be in version 1.1.40, for example).
552 @subsubsection Are there scalable versions of the font?
554 Yes, they are type-3 fonts. In the @file{mf/}
561 in the mf/ subdirectory. This will also make @file{mfplain} for metapost.
562 The @file{pfa}s will be in the subdirectory @file{out/}.
564 @subsubsection How does PS output work?
568 Generate the PostScript Type-3 fonts.
570 Run lilypond with option @code{-f ps}:
577 @item To view the @file{.ps} output with GhostView, set GS_FONTPATH to the
578 directory containing the @file{pfa}s. In the source tree, this is @file{mf/out/}.
580 i.e. do something like:
583 export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
590 Direct PS output is still experimental. For creating nice looking ps
591 output, use TeX and @code{dvips}.
594 @subsubsection The beams and slurs are gone when using the XDvi magnifying glass!?
596 Various dynamic symbols, such as beams, crescendi, slurs are done in
597 PostScript. XDvi doesn't show PostScript in the magnifying glass.
598 Complain to the XDvi maintainers.
601 @subsubsection Beams, slurs and crescendi are not displayed at all!
603 See previous answer. XDvi uses GhostScript for displaying PostScript,
604 check that you have GhostScript installed. If you use a different
605 DVI viewer, check if it will display embedded PostScript. Don't worry,
606 the symbols should appear on the printout.
608 @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg. dynamics, articulation, etc.
610 The MIDI output was originally put in as a proof that MIDI could be
611 done, and as a method of proof"reading" the input. The MIDI support
612 is by no means finished. Patches appreciated.
614 @node Copyright,, ,top
617 @subsubsection What is Urtext? Critical Edition?
621 It may be translated best as `that what the composer intended to tell
624 Peter Chubb <peterc@@aurema.com> writes:
626 An Urtext is a reconstruction of the earliest form of a text,
627 including mistakes the original author wrote. Where there is no
628 available facsimile of the original, creating this can involve some
629 inspired detective work (in comparing various later editions and
630 trying to deduce what the original form was). As far as copyright
631 goes, my guess is that, for works that are otherwise out of copyright,
632 an Urtext is copyright to the person who reconstructed it, as a
633 derived work from the editions s/he consulted. If the edition is
634 created directly from a facsimile, as would be the case for most
635 Urtext editions of music, then the amount of new (copyright) material
638 A critical edition is an edition that is designed for critical
639 study of a text. It'll usually have lots of footnotes, alternative
640 readings, possible realisations of bass parts and harmonies, etc. It
641 aims to elucidate the author's original intentions, as opposed to
642 reproduce exactly what was written. The critical apparatus will be
643 copyright to its author.
645 A playing edition is one that has been edited for modern usage.
646 It'll have fewer or no alternative readings, it'll be in modern
647 notation, it may have additional editorial marks (phrase marks, slurs,
648 etc.) will often have a fully realised basso continuo part (if oone
649 was present in the original) and may have had key changes, time
650 signature changes, time compression (original in 4/1, playing edition
651 in 4/4, for example, with all semibreves replaced with crotchets)
652 Copyright is in the arranger/editor.
654 @subsubsection How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?
656 Silas S. Brown <ssb22@@hermes.cam.ac.uk>:
660 There are several aspects to sheet music copyright:
662 1. The music itself - copyright for the composer's life plus 70 years (so
663 not applicable to Bach).
665 2. If the music is an arrangement, then the arranger holds copyright on
666 that arrangement. However, you can produce your own arrangement using
667 that arrangement as a reference point. Obviously your arrangement must be
668 sufficently different to be called your own arrangement - you need to do
669 more than change one note!
671 3. In some countries, the same applies for editions. This could be
672 relevant to the Bach example. If a modern person has edited the music,
673 then they hold the copyright on the edition. This does not stop you from
674 removing the editorial features - remove all editorial slurs, phrasemarks,
675 ornaments etc and only leave those that you know to be original. You can
676 then add some of your own if you want to be your own editor.
678 4. If there are lyrics, then the lyricist also holds copyright. This
679 does not stop you from using the music without the lyrics if it is
680 otherwise out of copyright.
682 5. The copyright of the printed page is held by the publisher for 30
683 years after printing (25 in some countries). This stops you from
684 photocopying (unless it's "fair use" eg. you're partially sighted and need
685 to enlarge the music) or otherwise reproducing the typesetting that is
686 used on it. But the copyright is only held over the typesetting work, not
687 the music itself. Since Mudela specifies the notes, independently of any
688 typesetting work that went into your reference copy, you are not
689 duplicating any of the publisher's work.
691 6. If you want to violate copyright, there are two main cases where you
692 may do so: fair use, and with permission. The former is rather fuzzily
693 defined, but it includes such things as including small extracts of a
694 score in a critique, and making a large print or Braille copy for a blind
695 or partially-sighted performer (many people argue that in this case it
696 should always be kept with the original copy and/or destroyed after it is
697 no longer needed). The latter is obvious: You can always write to the
698 composer, arranger, editor, lyricist or publisher in subsubsection and ask if
699 you can do whatever it is you're trying to do. Some will respond more
700 readily than others, but anything that they say will override any copying
701 restrictions imposed on you.
703 References - best one I know is the UK-based Performing Right Society,
704 @uref{http://www.prs.co.uk/} (especially "membership") and their links to other
705 international equivalents.
708 Werner Lemberg @email{wl@@gnu.org} writes:
712 Typesetting [at least in Austria or Germany, but not in France] [..]
713 isn't copyrighted -- typesetting is a handcraft, not an
716 What's copyrighted in an Urtext edition is the editor's comment or
717 the revision remarks, cadenzas added by the editor, etc.
719 Urtext editions per se are @emph{not} copyrighted -- if you print
720 exactly what the composer has written, how can there some copyright be
721 added? Copyrighted are usually only the `Critical notes', the foreword,
722 and the cadenzas some editors have added.
724 This means that the `Photocopying forbidden' sign in many scores is not
725 always correct for e.g. J.S. Bach -- you are allowed to copy the pages
726 which don't contain editorial stuff which is probably copyrighted.
728 A very unfortunate situation for the publishers.
733 Glen Prideaux, @email{glenprideaux@@MailAndNews.com}:
736 One has to be careful. In Australia typesetting IS covered by copyright, but
737 only for 25 years (as opposed to 50 years from the death of the
738 author/composer/artist for virtually any other copyright). If the
739 typesetting originates in a country that does not protect typesetting then
740 there may indeed be no copyright protection available to control the use of
744 Juergen Reuter @email{reuterj@@ira.uka.de}
746 [More information can be had at: ]
748 @uref{http://lcweb.loc.gov/copyright/}
751 @uref{http://fairuse.stanford.edu/}
752 (meta site about copyright with many links to other resources)
754 @uref{http://host.mpa.org/crc.html}
755 (copyright from the viewpoint of the USA music publishers' association)
757 @uref{http://www.wipo.int}
758 (World Intellectual Property Organization (a UNO agency); with
759 information about international copyright)
763 See @uref{http://www.geocities.com/Vienna/Studio/1714/harpsichord.html}
764 for a summary of copyright relative to old music, also for the
765 expert forum for such subsubsections.
768 @node Windows32,, ,top
771 @subsubsection I downloaded the windows32 port, and it doesn't match the website!
773 The website is usually made from the latest snapshots. Binary releases,
774 in particular the windows32 binaries, are only made every once in a while.
775 They may lag several versions behind the latest version.
777 @subsubsection But i want a native DOS/Windows-NT/95 port
779 Reconsider. Try Linux. It's fun!