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 [FIXME: rewrite FAQ, include general questions]
27 @subsubsection HELP! I'm stuck!
29 Please read this document carefully. If you are still at loss, send
30 your questions to the @strong{mailing list}, and not to authors
33 Note: relative paths are meant to be relative to the source directory
35 @subsubsection I've got a simple question, but this FAQ doesn't help!
37 Please have a look in the searchable mail achives of
38 @uref{http://www.mail-archive.com/gnu-music-discuss@@gnu.org/,
39 gnu-music-discuss} and
40 @uref{http://www.mail-archive.com/help-gnu-music@@gnu.org/, help-gnu-music}.
41 Your question may well have been answered before.
43 @node Installing,, ,top
47 @subsubsection If I install the .exe file on my DOS/windows 3.11 machine, it doesn't work
49 The NT port is done with the Cygnus GNU/Windows32 port of the GNU utils.
50 It does @emph{not} work with windows 3.x; you need Windows-NT (95/98?).
52 @subsubsection Where is guile-config
54 Old RedHat RPMS don't include guile-config. You need guile-config as it
55 was produced during the RPM build run. Build the RPM from source
56 (@file{.src.rpm}), and use the guile-config that is in
57 @file{/usr/src/redhat/BUILD/guile-1.3/guile-config/}.
59 @subsubsection I get all kinds of errors while compiling @file{parser.cc}
61 LilyPond uses features of bison version 1.25. Please confirm that
62 you are using a version 1.25 or better, that is @strong{GNU} bison
63 @strong{1.25}. Don't forget to do "make clean" after installing it. Don't
64 forget to remove the stale @file{bison.simple} as well.
66 If the problem persists, then please send a bug report to the mailing list.
68 @subsubsection I upgraded by applying a patch, and now my configure/build breaks.
70 Patches don't include automatically generated files, i.e.
71 @file{configure} and files generated by @file{configure}. Regenerate them
81 @subsubsection Is there an emacs mode?
83 Yes. It is included with the source archive as @file{lilypond-mode.el}.
84 If you have an RPM it is in @file{/usr/doc/lilypond-X/}. You have to
87 @subsubsection How do I create the @file{.tfm} files?
89 You don't. The @file{.tfm} files should be generated automatically by
90 Metafont when you run TeX. Check your TeX installation, or ask
91 your local TeX guru. The supplied @file{.afm} files are intended to
92 be used by LilyPond, not by any other programs.
94 @node Documentation,, ,top
95 @section Documentation
97 @subsubsection What a sober website/manual you have there!
99 LilyPond development is moving fast, so the documentation will often be out
100 of date. But don't hesitate to point out inaccuracies. Whip up your
101 mail reader and write to the mailing list.
103 @subsubsection Please take me off your mailing list, I get so much mail!
105 Don't ask Han-wen, don't ask David. Instead, read about
106 @uref{../../index.html#mailing-lists, the mailing lists} here.
110 @node Language- mudela,, ,top
111 @section Language: mudela
113 @subsubsection Why do I have to type the accidentals to the note if I
114 specified them in the keysignature?
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, so you
125 have to enter C-sharp twice.
127 @subsubsection What is @code{cis} anyway
129 @code{cis} is the dutch naming for C-sharp. The notes are named
130 a, b,.., g. The suffix -is means sharp, and -es flat. This system is
131 common in a number of languages (such as swedish, dutch, german.)
132 Certain other languages (such as English, French and Italian) just add
133 the word for "sharp" to the notename.
135 We chose the Dutch system, because we're dutch. You are free to chose
136 whatever names you like; they are user definable.
138 @subsubsection Why are [] around the notes, and () inbetween?
140 [] designate beams, a note can only be in one beam at the same
141 time. () is a slur, which connects notes. You need to be able to
149 @subsubsection I want to insert some TeX commands.
151 You shouldn't: it's against LilyPond philosophy to have typesetting
152 commands in the mudela source. Moreover, this would be difficult.
153 LilyPond uses TeX like a glorified output engine: the output consists
154 of (x,y) positions and symbols. You can only sensibly do TeX stuff in
155 the symbol string. You can access the symbol string easily for some
156 symbols (notably lyrics and @code{^"text"} commands).
158 @node Do you support -,, ,top
159 @section Do you support ...
161 @subsubsection Do you support pop songs (chords, single staff, lyrics)?
163 Yes, see the @file{twinkle-pop} example.
165 @subsubsection Do you support guitar fret diagrams?
167 No. We ourselves don't play guitar, and don't know the fine points of
168 this notation. We would welcome anyone who could give this a try.
170 @subsubsection Do you support TAB notation?
172 No. The same as for the previous question goes.
174 @subsubsection Do you support multiple staff-sizes?
176 Yes. At this time you can choose between 11, 13, 16, 19, 20, 23 and 20
177 pt staff-size. Use the @code{staffSpace} property for setting the
178 size of the staff, and @code{fontSize} for setting the size of the
181 @subsubsection Do you support Gregorian chant notation?
186 @subsubsection Do you support grace notes?
188 Yes. See @file{input/test/grace.ly}.
190 @node How do I -,, ,top
191 @section How do I ....
193 @subsubsection How do I change the page layout?
195 The height and width of the music on each page is set
196 using the paper variables @code{textheight} and @code{linewidth} in
198 If you want to change the placement of the page number or the
199 layout of the title, you could run @code{lilypond infile.ly} and
200 include the generated @file{infile.tex} file in your own LaTeX
201 wrapper file. The easiest way is to start from the ly2dvi default
202 layout, using the following steps (assuming that the input file
207 @item @code{ly2dvi -kK infile.ly}
209 @item Edit the generated LaTeX file @file{infile_lyN.tex} (@code{N} is
210 some number) to get the desired layout. Some aspects are determined in
211 the file titledefs.tex.
213 @item Run @code{latex infile_lyN.tex}
215 @item If you update the Mudela file, run @code{lilypond infile.ly}
216 and then @code{latex infile_lyN.tex}.
218 Another alternative is to use @command{mudela-book}, where smaller or
219 larger music examples can be included in a LaTeX or Texinfo file.
221 @subsubsection The tagline is visible in the .dvi file but is not printed on paper.
223 The default page size is A4. If you use letter sized papers,
224 add the following at the top of your Mudela file.
229 \include "paper20.ly"
231 (Note that setting the papersize in the ordinary paper section inside
232 a score declaration will not have the desired effect.)
233 The default paper size can be set globally for the installation
234 in the file @file{declarations.ly}.
236 @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!
238 You change the order lyrics and staves. You have to name all
239 staves (lyric and melodic), otherwise they will end up in the same
243 < \melodic \type Staff = "treble" \trebleMelody
244 \lyric \type Lyrics = "tlyrics" \trebtext
245 \type Staff = "bass" \melodic \bassMelody
246 \lyric \type Lyrics = "blyrics" \basstext
253 @subsubsection How do I put more than one marking on a note?
262 or use spacing-notes to put markings at different horizontal positions
266 @{ s4\ff s4^"text" s4-\marcato s4 @}
271 This also works for crescendi, eg,
280 @subsubsection How do I combine multiple pieces into one document?
282 There are several solutions:
292 produces one combined @file{foo.dvi}
293 @item make a toplevel @file{.ly} file that contains al pieces:
303 @item make a hybrid TeX/LilyPond @file{.doc} document (see the
304 @file{Documentation/tex} directory).
307 For the first two solutions, you will need to move @code{\header} info
308 in each individual piece from toplevel into the @code{\paper} block.
310 There are several examples in the @file{mutopia} directory.
312 @subsubsection How do I change the tagline 'Lily was here'?
314 In the @code{\header} field, add a @code{tagline} entry, e.g.
317 tagline="Typeset by GNU LilyPond"
321 @subsubsection Can I make blank manuscript paper with LilyPond?
323 Theoretically, yes but it is easier to do with (La)TeX. This LaTeX file
324 will do the trick for you:
328 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
330 % Mats Bengtsson, 18/5 2000
331 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
332 \documentclass[a4paper]@{article@}
334 \usepackage@{ifthen@}
335 \usepackage[noheadfoot,hmargin=15mm,vmargin=20mm]@{geometry@}
339 \newcounter@{staffnumber@}
340 \newlength@{\interstaffline@}
342 \newcommand@{\drawline@}@{\hbox@{\rule@{\textwidth@}@{0.5pt@}@}
343 \nointerlineskip\vskip\interstaffline\nointerlineskip@}
345 \newcommand@{\printstaff@}@{\vfill
346 \vbox@{\drawline\drawline\drawline\drawline\drawline@}
350 \typeout@{@}\typeout@{@}
351 \typein[\staffsize]@{Type in the staff size (20pt is a common value):@}
352 \setlength@{\interstaffline@}@{\staffsize@}
353 \setlength@{\interstaffline@}@{.25\interstaffline@}
355 \typein[\num]@{Type in the number of staffs:@}
356 \setcounter@{staffnumber@}@{\num@}
358 \mbox@{@} % To get a starting point for the \vfill
359 \whiledo@{\value@{staffnumber@}>0@}@{%
360 \printstaff \addtocounter@{staffnumber@}@{-1@}@}
366 @node Development,, ,top
369 @subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!
371 In general finding a cute syntax (such as YYYY) isn't very hard. The
372 complicated issue how to adapt the internals to do XXXX. The parser is
373 really a simple front end to the complicated internals.
375 @subsubsection Can I join in on LilyPond development? How do I do this?
377 Yes, we do frequent releases, you are welcome to send in a patch or do
378 suggestions. Join the list @email{gnu-music-discuss@@gnu.org} to
382 @subsubsection Is there a GUI frontend? Should I start building one?
384 Matthew Hiller has extended Midiscore and Koobase to handle mudela, He
385 is now working on @uref{http://denemo.sourceforge.net/,Denemo}, a GTK
386 based notation program. This is the most advanced LilyPond front-end
389 Chris Cannam is working a rewrite of Rosegarden. The new design should
390 be more modular, and could conceivably be used to output
391 mudela. However, the not much seems to have happened the past year. See
392 @uref{http://www.all-day-breakfast.com/rosegarden/development.html}.
394 @subsubsection I want to implement XXXX! How should I do this?
396 Your best bet of getting us to include code, is to present it as a
397 "fait accompli", i.e., to send a patch to the mailing list.
399 Please use the diff command to generate a patch, and don't send complete
400 files, even if the diff is larger than the whole file.
402 Don't forget to put your name and e-mail address in the file
403 @file{Documentation/topdocs/AUTHORS.texi}, or you won't get credits
407 @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it?
409 No. We have evaluated the standard GNU combination for compiling
410 programs (autoconf, automake, libtool) and found to be inadequate for
413 @subsubsection How do I inspect @code{String}s and @code{SCM} values in GDB?
415 Use the following command definitions, which can be put in
424 call gh_display($arg0)
429 @subsubsection GDB crashes when I debug!
431 Upgrade/downgrade to 4.17.
436 @subsubsection LilyPond takes ages to run, what am I doing wrong?
438 LilyPond uses a lot CPU time, and insane amounts of memory. The amount
439 of memory it requires is proportional to the size of the score, in other
440 words. For a moderately complex piano scores of 5 pages, the footprint
441 can easily become 20 megs. (Our favorite test is the coriolan:
442 approx. 100 megs for a 50 page orchestral score). If your system has not
443 got enough memory, it can easily start swapping.
445 A part of the memory is used as temporary storage, and is reclaimed
446 through GUILE's garbage collection. A way to trade in CPU time for
447 storage is by decreasing the environment variable
448 @var{GUILE_MAX_SEGMENT_SIZE} (default 8388608, which is 8 megs).
451 @subsubsection Correcting errors is so tedious. Is there a better way?
453 As of 1.3.73, lilypond provides support for the xdvi @code{src:}
454 special. This can be used with Xdvik (22.16 or better) and xdvi (22.28
455 or better) to go to the place in the input that corresponds to a symbol
456 in the output: click on the note, and your editor jumps to the place
461 Decide if you want column positioning, and edit @file{lily.scm}
462 according to the comments at the function @code{define-origin}.
466 Put this in @file{~/.emacs}:
471 For column positioning, apply
472 @uref{http://www.cs.uu.nl/~hanwen/software/emacsclient-column, this
473 patch} to @code{emacsclient.c} and @code{server.el}. Stick the compiled
474 emacsclient into a bin directory, and put @code{server.el} into a elisp
475 directory (eg. @file{~/usr/share/emacs/}). Add the following to your
476 @file{.emacs} init file, before invoking server-start.
478 (setq load-path (cons (concat (getenv "HOME") "/usr/share/emacs")
484 Warning: @uref{Xdvik,ftp://ftp.cs.uu.nl/pub/tex-archive/dviware/xdvik/},
485 which is shipped with most TeX distributions, doesn't work very well for
486 src specials. You're better off using plain xdvi.
488 xdvi -srcmode -srcvisibility output.dvi
491 Click control-mouse button 2 for making emacs jump to the appropriate place.
493 For column positioning you must install
494 @uref{http://www.cs.uu.nl/~hanwen/software/xdvik-src, this patch} to
495 make Xdvik emit column numbers. Add the command line option
496 @code{-srceditorcommand "emacsclient --no-wait +%l:%c %f"}
500 @uref{Xdvi,ftp://ftp.math.berkeley.edu/pub/Software/TeX/xdvi.tar.gz} has
501 better support for src specials. Apply
502 @uref{http://www.cs.uu.nl/~hanwen/software/xdvi-src, this patch}. Before
503 starting, set the environment variable @code{XEDITOR} to
504 @code{"emacsclient --no-wait +%d %s"}. When viewing,
505 control-mousebutton 1 will take you to the correct
506 line/column. Control-mousebutton 2 will show all clickable boxes.
510 dvips will complain about the specials, but the complaints are harmless.
513 @subsubsection I use dvilj4, and there are lots of warning messages for the printing
515 You should use dvips and ghostscript to print the @code{dvi} output: the
516 slurs and beams are PS @code{\special} commands.
519 @subsubsection My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!
521 We obviously mucked with the fonts in the upgrade. Remove @emph{all}
522 previous fonts, including the @file{.pk} and @file{.tfm} fonts in
523 @file{/var/lib/texmf}. A script automating this has been included, see
524 @file{buildscripts/clean-fonts.sh}.
526 @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.
528 Mats Bengtsson <mats.bengtsson@@s3.kth.se> writes:
530 The simple solution used by Anthony Fok in the Debian distribution of
531 Lilypond is to link the mf/ directory to
532 /usr/lib/texmf/fonts/source/public/lilypond Depending on what
533 distribution of teTeX and Linux you have installed, there might also
534 be other places like /usr/local/lib/texmf/fonts/source/public/lilypond
535 or /var/spool/texmf//fonts/source/public/lilypond
537 Wherever you put it, don't forget to run mktexlsr (or texhash for
538 older installations) afterwards, so that TeX will find the files.
539 Also, don't forget to remove all old .tfm and .*pk files when the font
540 is updated (as it will be in version 1.1.40, for example).
542 @subsubsection Are there scalable versions of the font?
544 Yes, they are type-3 fonts. In the @file{mf/}
551 in the mf/ subdirectory. This will also make @file{mfplain} for metapost.
552 The @file{pfa}s will be in the subdirectory @file{out/}.
554 @subsubsection How does PS output work?
558 Generate the PostScript Type-3 fonts.
560 Run lilypond with option @code{-f ps}:
567 @item To view the @file{.ps} output with GhostView, set GS_FONTPATH to the
568 directory containing the @file{pfa}s. In the source tree, this is @file{mf/out/}.
570 i.e. do something like:
573 export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
580 Direct PS output is not used often, and therefore likely to exhibit
581 bugs. For creating nice looking ps output, use TeX and @code{dvips}.
584 @subsubsection The beams and slurs are gone when using the XDvi magnifying glass!?
586 Various dynamic symbols, such as beams, crescendi, slurs are done in
587 PostScript. XDvi doesn't show PostScript in the magnifying glass.
588 Complain to the XDvi maintainers.
591 @subsubsection Beams, slurs and crescendi are not displayed at all!
593 See previous answer. XDvi uses GhostScript for displaying PostScript,
594 check that you have GhostScript installed. If you use a different
595 DVI viewer, check if it will display embedded PostScript. Don't worry,
596 the symbols should appear on the printout.
598 @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg. dynamics, articulation, etc.
600 The MIDI output was originally put in as a proof that MIDI could be
601 done, and as a method of proof"reading" the input. The MIDI support
602 is by no means finished. Patches appreciated.
604 @node Copyright,, ,top
607 @subsubsection What is Urtext? Critical Edition?
611 It may be translated best as `that what the composer intended to tell
614 Peter Chubb <peterc@@aurema.com> writes:
616 An Urtext is a reconstruction of the earliest form of a text,
617 including mistakes the original author wrote. Where there is no
618 available facsimile of the original, creating this can involve some
619 inspired detective work (in comparing various later editions and
620 trying to deduce what the original form was). As far as copyright
621 goes, my guess is that, for works that are otherwise out of copyright,
622 an Urtext is copyright to the person who reconstructed it, as a
623 derived work from the editions s/he consulted. If the edition is
624 created directly from a facsimile, as would be the case for most
625 Urtext editions of music, then the amount of new (copyright) material
628 A critical edition is an edition that is designed for critical
629 study of a text. It'll usually have lots of footnotes, alternative
630 readings, possible realisations of bass parts and harmonies, etc. It
631 aims to elucidate the author's original intentions, as opposed to
632 reproduce exactly what was written. The critical apparatus will be
633 copyright to its author.
635 A playing edition is one that has been edited for modern usage.
636 It'll have fewer or no alternative readings, it'll be in modern
637 notation, it may have additional editorial marks (phrase marks, slurs,
638 etc.) will often have a fully realised basso continuo part (if oone
639 was present in the original) and may have had key changes, time
640 signature changes, time compression (original in 4/1, playing edition
641 in 4/4, for example, with all semibreves replaced with crotchets)
642 Copyright is in the arranger/editor.
644 @subsubsection How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?
646 Silas S. Brown <ssb22@@hermes.cam.ac.uk>:
650 There are several aspects to sheet music copyright:
652 1. The music itself - copyright for the composer's life plus 70 years (so
653 not applicable to Bach).
655 2. If the music is an arrangement, then the arranger holds copyright on
656 that arrangement. However, you can produce your own arrangement using
657 that arrangement as a reference point. Obviously your arrangement must be
658 sufficently different to be called your own arrangement - you need to do
659 more than change one note!
661 3. In some countries, the same applies for editions. This could be
662 relevant to the Bach example. If a modern person has edited the music,
663 then they hold the copyright on the edition. This does not stop you from
664 removing the editorial features - remove all editorial slurs, phrasemarks,
665 ornaments etc and only leave those that you know to be original. You can
666 then add some of your own if you want to be your own editor.
668 4. If there are lyrics, then the lyricist also holds copyright. This
669 does not stop you from using the music without the lyrics if it is
670 otherwise out of copyright.
672 5. The copyright of the printed page is held by the publisher for 30
673 years after printing (25 in some countries). This stops you from
674 photocopying (unless it's "fair use" eg. you're partially sighted and need
675 to enlarge the music) or otherwise reproducing the typesetting that is
676 used on it. But the copyright is only held over the typesetting work, not
677 the music itself. Since Mudela specifies the notes, independently of any
678 typesetting work that went into your reference copy, you are not
679 duplicating any of the publisher's work.
681 6. If you want to violate copyright, there are two main cases where you
682 may do so: fair use, and with permission. The former is rather fuzzily
683 defined, but it includes such things as including small extracts of a
684 score in a critique, and making a large print or Braille copy for a blind
685 or partially-sighted performer (many people argue that in this case it
686 should always be kept with the original copy and/or destroyed after it is
687 no longer needed). The latter is obvious: You can always write to the
688 composer, arranger, editor, lyricist or publisher in subsubsection and ask if
689 you can do whatever it is you're trying to do. Some will respond more
690 readily than others, but anything that they say will override any copying
691 restrictions imposed on you.
693 References - best one I know is the UK-based Performing Right Society,
694 @uref{http://www.prs.co.uk/} (especially "membership") and their links to other
695 international equivalents.
698 Werner Lemberg @email{wl@@gnu.org} writes:
702 Typesetting [at least in Austria or Germany, but not in France] [..]
703 isn't copyrighted -- typesetting is a handcraft, not an
706 What's copyrighted in an Urtext edition is the editor's comment or
707 the revision remarks, cadenzas added by the editor, etc.
709 Urtext editions per se are @emph{not} copyrighted -- if you print
710 exactly what the composer has written, how can there some copyright be
711 added? Copyrighted are usually only the `Critical notes', the foreword,
712 and the cadenzas some editors have added.
714 This means that the `Photocopying forbidden' sign in many scores is not
715 always correct for e.g. J.S. Bach -- you are allowed to copy the pages
716 which don't contain editorial stuff which is probably copyrighted.
718 A very unfortunate situation for the publishers.
723 Glen Prideaux, @email{glenprideaux@@MailAndNews.com}:
726 One has to be careful. In Australia typesetting IS covered by copyright, but
727 only for 25 years (as opposed to 50 years from the death of the
728 author/composer/artist for virtually any other copyright). If the
729 typesetting originates in a country that does not protect typesetting then
730 there may indeed be no copyright protection available to control the use of
734 Juergen Reuter @email{reuterj@@ira.uka.de}
736 [More information can be had at: ]
738 @uref{http://lcweb.loc.gov/copyright/}
741 @uref{http://fairuse.stanford.edu/}
742 (meta site about copyright with many links to other resources)
744 @uref{http://host.mpa.org/crc.html}
745 (copyright from the viewpoint of the USA music publishers' association)
747 @uref{http://www.wipo.int}
748 (World Intellectual Property Organization (a UNO agency); with
749 information about international copyright)
753 See @uref{http://www.geocities.com/Vienna/Studio/1714/harpsichord.html}
754 for a summary of copyright relative to old music, also for the
755 expert forum for such subsubsections.
757 Benjy (benjy@@indiansprings.org)
760 (In the UK, the typesetting of a piece of music goes out of copyright 25 year\s
761 after it is published. Maybe you can tell me what copyright law says in othe\r
765 The US has had several schemes over the last century meaning that
766 anything published after January 1, 1923 and before 1964 requires that
767 you put in some work to determine its status. However, anything
768 published before 1923 is fair game in the US. See
769 @uref{http://www.loc.gov/copyright/circs/circ22.html} for the whole
773 @node Windows32,, ,top
776 @subsubsection I downloaded the windows32 port, and it doesn't match the website!
778 The website is usually made from the latest snapshots. Binary releases,
779 in particular the windows32 binaries, are only made every once in a while.
780 They may lag several versions behind the latest version.
782 @subsubsection But i want a native DOS/Windows-NT/95 port
784 Reconsider. Try Linux. It's fun!