]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/faq.texi
fb738a93dfb849dfc4dd28e56e8b94248fad8178
[lilypond.git] / Documentation / faq.texi
1 \input texinfo @c -*-texinfo-*-
2 @setfilename faq.info
3 @settitle FAQ - GNU LilyPond FAQs
4
5 @node Top, , Windows32, (dir)
6 @top
7 @menu
8 * FAQ - GNU LilyPond FAQs::       FAQ - GNU LilyPond FAQs
9 @end menu
10
11
12
13 @node FAQ - GNU LilyPond FAQs, Miscellaneous, , Top
14 @menu
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
22 * Running::                       Running
23 * Copyright::                     Copyright
24 * Windows32::                     Windows32
25 @end menu
26 @chapter FAQ - GNU LilyPond FAQs
27
28
29 @node Miscellaneous, Installing, FAQ - GNU LilyPond FAQs, FAQ - GNU LilyPond FAQs
30 @section Miscellaneous
31
32 @subsubsection HELP! I'm stuck!
33
34 Please read this document carefully.  If you are still at loss, send
35 your questions to the @strong{mailing list}, and not to authors
36 directly.
37
38 Note: relative paths are meant to be relative to the source directory
39
40 @node Installing, Documentation, Miscellaneous, FAQ - GNU LilyPond FAQs
41 @section Installing
42
43
44 @subsubsection If I install the .exe file on my DOS/windows 3.11 machine, it doesn't work
45
46 The NT port is done with the Cygnus GNU/Windows32 port of the GNU utils.
47 It does @emph{not} work with windows 3.x; you need Windows-NT (95/98?).
48
49 @subsubsection Where is guile-config
50
51 Old RedHat RPMS don't include guile-config.  You need guile-config as it
52 was produced during the RPM build run.  Build the RPM from source
53 (@file{.src.rpm}), and use the guile-config that is in
54 @file{/usr/src/redhat/BUILD/guile-1.3/guile-config/}.
55
56 @subsubsection I get all kinds of errors while  compiling @file{parser.cc}
57
58 LilyPond uses features of bison version 1.25. Please confirm that
59 you are using a version 1.25 or better, that is @strong{GNU} bison
60 @strong{1.25}. Don't forget to do "make clean" after installing it. Don't
61 forget to remove the stale @file{bison.simple} as well.
62
63 If the problem persists, then please send a bug report to the mailing list.
64
65 @subsubsection I upgraded by applying a patch, and now my configure/build breaks.
66
67 Patches don't include automatically generated files, i.e. 
68 @file{configure} and files generated by @file{configure}.  Regenerate them 
69 yourself:
70 @example 
71
72     autoconf
73     configure
74  
75 @end example 
76
77
78 @subsubsection Some of your neat scripts fail, what directories do you use:
79
80 [This only applies if you don't do @code{make install}, and run out
81 of the source directory]
82
83 I have a directory which contains all our development projects
84 @example 
85
86     ~/usr/
87  
88 @end example 
89
90 which looks like @file{/usr/}
91 @example 
92
93     bin/
94     share
95     lib/
96     share/
97     src/
98
99     etc....
100  
101 @end example 
102
103 @file{~/usr/bin/} is in the variable PATH, and contains symbolic links
104 to the compiled executables. Unpacked sources, releases and patches are
105 in subdirectories under @file{~/usr/src/}.
106
107 @subsubsection Is there an emacs mode?
108
109 Yes.  It is included with the source archive as @file{lilypond-mode.el}.
110 If you have an RPM it is in @file{/usr/doc/lilypond-X/}.  You have to
111 install it yourself.
112
113 @subsubsection How do I create the @file{.tfm} files?
114
115 You don't.  The @file{.tfm} files should be generated automatically by
116 Metafont when you run TeX.  Check your TeX installation, or ask
117 your local TeX guru.  The supplied @file{.afm} files are intended to
118 be used by LilyPond, not by any other programs.
119
120 @node Documentation, Language- mudela, Installing, FAQ - GNU LilyPond FAQs
121 @section Documentation
122
123 @subsubsection What a sober website/manual you have there!
124
125 LilyPond development is moving quite fast, documentation will often lag
126 a bit behind.  But don't hesitate to point out inaccuracies. Whip up
127 your mail reader and write to the mailing list.
128
129 @subsubsection Please take me off your mailing list, I get  so much mail!
130
131 Don't ask Han-wen, don't ask David. Instead, read about
132 @uref{../../index.html#mailing-lists,  the mailing lists} here.
133
134 @node Language- mudela, Do you support -, Documentation, FAQ - GNU LilyPond FAQs
135 @section Language: mudela
136
137 @subsubsection Why do I have to type the accidentals to the note if I
138 specified them in the keysignature?
139
140 Take this example
141 @example 
142
143     cis cis
144  
145 @end example 
146
147 Independently of how it was written and what the current key was, you
148 would say that you are playing and reading "two C-sharp" notes, so you
149 have to enter C-sharp twice.
150
151 @subsubsection What is @code{cis} anyway
152
153 @code{cis} is the dutch naming for C-sharp. The notes are named
154 a, b,.., g. The suffix -is means sharp, and -es flat. This system is
155 common in a number of languages (such as swedish, dutch, german.)
156 Certain other languages (such as English, French and Italian) just add
157 the word for "sharp" to the notename.
158
159 We chose the Dutch system, because we're dutch. You are free to chose
160 whatever names you like; they are user definable.
161
162 @subsubsection Why are [] around the notes, and () inbetween?
163
164 [] designate beams, a note can only be in one beam at the same
165 time. () is a slur, which connects notes.  You need to be able to 
166 specify
167 @example 
168
169     a()a()a
170  
171 @end example 
172
173 @subsubsection I want to insert some TeX commands.
174
175 You shouldn't: it's against LilyPond philosophy to have typesetting
176 commands in the mudela source. Moreover, this would be difficult.
177 LilyPond uses TeX like a glorified output engine: the output consists
178 of (x,y) positions and symbols.  You can only sensibly do TeX stuff in
179 the symbol string.  You can access the symbol string easily for some
180 symbols (notably lyrics and @code{^"text"} commands).
181
182 @node Do you support -,  How do I -, Language- mudela, FAQ - GNU LilyPond FAQs
183 @section Do you support ...
184
185 @subsubsection Do you support pop songs (chords, single staff, lyrics)?
186
187 Yes, see the @file{twinkle-pop} example.
188
189 @subsubsection Do you support guitar chord diagrams?
190
191 No. We ourselves don't play guitar, and don't know the fine points of
192 this notation.  We would welcome anyone who could give this a try.
193
194 @subsubsection Do you support TAB notation?
195
196 No. The same as for the previous question goes.
197
198
199 @subsubsection Do you support multiple staff-sizes?
200
201 Yes.  At this time you can choose between 11, 13, 16, 19, 20, 23 and 20
202 pt staff-size.  Use the @code{staffSpace} property for setting the
203 size of the staff, and @code{fontSize} for setting the size of the
204 glyphs.
205
206 @subsubsection Do you support Gregorian chant notation?
207
208 No.
209
210
211 @subsubsection Do you support grace notes?
212
213 Yes. See @file{input/test/grace.ly}.
214
215 @node How do I -, Development, Do you support -, FAQ - GNU LilyPond FAQs
216 @section How do I ....
217
218 @subsubsection How do I change the TeX layout?
219
220 See @file{lilyponddefs.tex}, it has some comments.  Or use @file{ly2dvi}.
221
222 @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!
223
224 You change the order lyrics and staves.  You have to name all
225 staves (lyric and melodic), otherwise they will end up in the same
226 staff/lyricline
227 @example 
228         \score @{
229                 < \melodic \type Staff = "treble" \trebleMelody
230                   \lyric \type Lyrics = "tlyrics" \trebtext
231                   \type Staff = "bass" \melodic \bassMelody        
232                   \lyric \type Lyrics = "blyrics" \basstext      
233                 >
234                 \paper @{  @}
235         @}
236  
237 @end example 
238
239 @subsubsection How do I put more than one marking on a note.
240
241 You can stack them 
242 @example 
243
244         c4^"a"^"b"
245  
246 @end example 
247
248 or use spacing-notes to put markings at different horizontal positions 
249 @example 
250
251         < c1
252           @{ s4\ff s4^"text" s4-\marcato s4 @}
253         >
254  
255 @end example 
256
257 This also works for crescendi, eg,
258 @example 
259
260         < c1
261           @{ s4\< s2 \! s4 @}
262         >
263  
264 @end example 
265
266 @subsubsection How do I combine multiple pieces into one document
267
268 There are several solutions:
269
270 @itemize @bullet
271 @item  
272 @example 
273
274         ly2dvi foo.ly bar.ly
275  
276 @end example 
277  
278 produces one combined @file{foo.dvi}
279 @item  make a toplevel @file{.ly} file that contains al pieces:
280 @example 
281
282         % booklet.ly
283         \input "piece-1.ly"
284         \input "piece-2.ly"
285         \input "piece-3.ly"
286  
287 @end example 
288  
289 @item  make a hybrid TeX/LilyPond @file{.doc} document (see the
290      @file{Documentation/tex} directory).
291 @end itemize
292
293 For the first two solutions, you will need to move @code{\header} info 
294 in each individual piece from toplevel into the @code{\paper} block.
295
296 There are several examples in the @file{mutopia} directory.
297
298 @subsubsection How do I get bar numbers?
299
300 See @file{input/test/bar-scripts.ly}.
301
302 @subsubsection How do I change the tagline 'Lily was here'?
303
304 In the @code{\header} field, add a @code{tagline} entry, e.g.
305 @example 
306
307 tagline="Typeset by GNU LilyPond"
308  
309 @end example 
310
311 @subsubsection Can I make blank manuscript paper with LilyPond?
312
313 Theoretically, yes but it is easier to do with (La)TeX. This LaTeX file
314 will do the trick for you:
315
316
317 @example
318 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 % notepaper.tex
320 % Mats Bengtsson, 18/5 2000
321 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
322 \documentclass[a4paper]@{article@}
323
324 \usepackage@{ifthen@}
325 \usepackage[noheadfoot,hmargin=15mm,vmargin=20mm]@{geometry@}
326
327 \pagestyle@{empty@}
328
329 \newcounter@{staffnumber@}
330 \newlength@{\interstaffline@}
331
332 \newcommand@{\drawline@}@{\hbox@{\rule@{\textwidth@}@{0.5pt@}@}
333   \nointerlineskip\vskip\interstaffline\nointerlineskip@}
334
335 \newcommand@{\printstaff@}@{\vfill
336   \vbox@{\drawline\drawline\drawline\drawline\drawline@}
337   \vfill@}
338
339 \begin@{document@}
340 \typeout@{@}\typeout@{@}
341 \typein[\staffsize]@{Type in the staff size (20pt is a common value):@}
342 \setlength@{\interstaffline@}@{\staffsize@}
343 \setlength@{\interstaffline@}@{.25\interstaffline@}
344 \typeout@{@}
345 \typein[\num]@{Type in the number of staffs:@}
346 \setcounter@{staffnumber@}@{\num@}
347
348 \mbox@{@} % To get a starting point for the \vfill
349 \whiledo@{\value@{staffnumber@}>0@}@{%
350   \printstaff \addtocounter@{staffnumber@}@{-1@}@}
351
352 \end@{document@}
353 @end  example
354
355
356 @node Development, Running, How do I -, FAQ - GNU LilyPond FAQs
357 @section Development
358
359 @subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!
360
361 In general finding a cute syntax (such as YYYY) isn't very hard. The
362 complicated issue how to adapt the internals to do XXXX. The parser is
363 really a simple front end to the complicated internals.
364
365 @subsubsection Can I join in on LilyPond development?  How do I do this?
366
367 Yes, we do frequent releases, you are welcome to send in a patch or do
368 suggestions.  Join the list @email{gnu-music-discuss@@gnu.org} to
369 participate.
370
371
372 @subsubsection Is there a GUI frontend?  Should I start building one?
373
374 LilyPond currently has no graphical interface.  We (LilyPond authors)
375 don't feel the need to write a GUI, but several others do:
376
377 Matthew Hiller has extended Midiscore and Koobase to handle mudela.
378 Check out @uref{http://zoo.cs.yale.edu/~meh25/}.  He is now working on
379 `Denemo', a GTK based notation program (which is still being developed).
380
381 Federico Mena-Quintero and Elliot Lee of RedHat Advanced Development
382 labs have plans to write a GNOME based Music notation program. However,
383 there is no code, only plans.
384
385 Chris Cannam is working a rewrite of Rosegarden.  The new design should
386 be more modular, and could conceivably be used to output
387 mudela. However, the not much seems to have happened the past year. See
388 @uref{http://www.all-day-breakfast.com/rosegarden/development.html}.
389
390
391 @subsubsection I want to implement XXXX!  How should I do this?
392
393 Your best bet of getting us to include code, is to present it as a
394 "fait accompli", i.e., to send a patch to the mailing list.
395
396 Please use the diff command to generate a patch, and don't send complete
397 files, even if the diff is larger than the whole file.
398
399 Don't forget to put your name and e-mail address in the file
400 @file{Documentation/topdocs/AUTHORS.texi}, or you won't get credits
401 :-)
402
403
404 @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it?
405
406 No.  We have evaluated the standard GNU combination for compiling
407 programs (autoconf, automake, libtool) and found to be inadequate for
408 our needs.
409
410 @subsubsection How do I inspect @code{String}s and @code{SCM} values in GDB?
411
412 Use the following command definitions, which can be put in 
413 the file ~/.gdbinit.
414
415 @example
416 define printstr
417     print $arg0->strh_.data->data_byte_p_
418 end
419
420 define printscm
421     call gh_display($arg0)
422     call gh_newline()
423 end
424 @end example
425
426 @subsubsection GDB crashes when I debug!
427
428 Upgrade/downgrade to 4.17.
429
430 @node Running, Copyright, Development, FAQ - GNU LilyPond FAQs
431 @section Running
432
433 @subsubsection I use dvilj4, and there are lots of warning messages for the printing
434
435 You should use dvips and ghostscript to print the @code{dvi} output: the
436 slurs and beams are PS @code{\special} commands.
437
438
439 @subsubsection My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!
440
441 We obviously mucked with the fonts in the upgrade.  Remove @emph{all}
442 previous fonts, including the @file{.pk} and @file{.tfm} fonts in
443 @file{/var/lib/texmf}.  A script automating this has been included, see
444 @file{buildscripts/clean-fonts.sh}.
445
446 @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.
447
448 Mats Bengtsson <mats.bengtsson@@s3.kth.se> writes:
449
450 The simple solution used by Anthony Fok in the Debian distribution of
451 Lilypond is to link the mf/ directory to
452 /usr/lib/texmf/fonts/source/public/lilypond Depending on what
453 distribution of teTeX and Linux you have installed, there might also
454 be other places like /usr/local/lib/texmf/fonts/source/public/lilypond
455 or /var/spool/texmf//fonts/source/public/lilypond
456
457 Wherever you put it, don't forget to run mktexlsr (or texhash for
458 older installations) afterwards, so that TeX will find the files.
459 Also, don't forget to remove all old .tfm and .*pk files when the font
460 is updated (as it will be in version 1.1.40, for example).
461
462 @subsubsection Are there scalable versions of the font?
463
464 Yes, they are type-3 fonts.  In the @file{mf/} 
465 subdirectory, issue:
466 @example 
467
468         make pfa
469  
470 @end example 
471  in the mf/ subdirectory.  This will also  make @file{mfplain} for metapost.
472 The @file{pfa}s will be in the subdirectory @file{out/}.
473
474 @subsubsection How does PS output work?
475
476 @itemize @bullet
477  @item 
478 Generate the PostScript Type-3 fonts. 
479 @item 
480 Run lilypond with option @code{-f ps}:
481 @example 
482
483     lilypond -fps foo.ly
484  
485 @end example 
486
487 @item  To view the @file{.ps} output with GhostView, set GS_FONTPATH to the 
488 directory containing the @file{pfa}s.  In the source tree, this is @file{mf/out/}.
489
490 i.e. do something like:
491 @example 
492
493    export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
494    gv foo.ps &
495  
496 @end example 
497
498 @end itemize
499
500 Direct PS output is still experimental.  For creating nice looking ps 
501 output, use TeX and @code{dvips}.
502
503   
504 @subsubsection The beams and slurs are gone when using the XDvi magnifying glass!?
505
506 Various dynamic symbols, such as beams, crescendi, slurs are done in
507 PostScript.  XDvi doesn't show PostScript in the magnifying glass.
508 Complain to the XDvi maintainers.
509
510
511 @subsubsection Beams, slurs and crescendi are not displayed at all!
512
513 See previous answer.  XDvi uses GhostScript for displaying PostScript,
514 check that you have GhostScript installed.  If you use a different
515 DVI viewer, check if it will display embedded PostScript.  Don't worry,
516 the symbols should appear on the printout.
517
518 @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg.  dynamics, articulation, etc.
519
520 The MIDI output was originally put in as a proof that MIDI could be
521 done, and as a method of proof"reading" the input.  The MIDI support
522 is by no means finished.  Patches appreciated.
523
524 @node Copyright, Windows32, Running, FAQ - GNU LilyPond FAQs
525 @section Copyright
526
527 @subsubsection What is Urtext?  Critical Edition?
528
529 Werner Lemberg:
530
531 It may be translated best as `that what the composer intended to tell
532 the reader'
533
534 Peter Chubb <peterc@@aurema.com> writes:
535
536 An Urtext is a reconstruction of the earliest form of a text,
537 including mistakes the original author wrote.  Where there is no
538 available facsimile of the original, creating this can involve some
539 inspired detective work (in comparing various later editions and
540 trying to deduce what the original form was).  As far as copyright
541 goes, my guess is that, for works that are otherwise out of copyright,
542 an Urtext is copyright to the person who reconstructed it, as a
543 derived work from the editions s/he consulted.  If the edition is
544 created directly from a facsimile, as would be the case for most
545 Urtext editions of music, then the amount of new (copyright) material
546 is minimal.
547
548 A critical edition is an edition that is designed for critical
549 study of a text.  It'll usually have lots of footnotes, alternative
550 readings, possible realisations of bass parts and harmonies, etc.  It
551 aims to elucidate the author's original intentions, as opposed to
552 reproduce exactly what was written.  The critical apparatus will be
553 copyright to its author.
554
555 A playing edition is one that has been edited for modern usage.
556 It'll have fewer or no alternative readings, it'll be in modern
557 notation, it may have additional editorial marks (phrase marks, slurs,
558 etc.) will often have a fully realised basso continuo part (if oone
559 was present in the original) and may have had key changes, time
560 signature changes, time compression (original in 4/1, playing edition
561 in 4/4, for example, with all semibreves replaced with crotchets)
562 Copyright is in the arranger/editor.
563
564 @subsubsection How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?
565
566 Silas S. Brown <ssb22@@hermes.cam.ac.uk>:
567
568 @quotation
569
570 There are several aspects to sheet music copyright:
571
572 1.  The music itself - copyright for the composer's life plus 70 years (so
573 not applicable to Bach).
574
575 2.  If the music is an arrangement, then the arranger holds copyright on
576 that arrangement.  However, you can produce your own arrangement using
577 that arrangement as a reference point.  Obviously your arrangement must be
578 sufficently different to be called your own arrangement - you need to do
579 more than change one note!
580
581 3.  In some countries, the same applies for editions.  This could be
582 relevant to the Bach example.  If a modern person has edited the music,
583 then they hold the copyright on the edition.  This does not stop you from
584 removing the editorial features - remove all editorial slurs, phrasemarks,
585 ornaments etc and only leave those that you know to be original.  You can
586 then add some of your own if you want to be your own editor.
587
588 4.  If there are lyrics, then the lyricist also holds copyright.  This
589 does not stop you from using the music without the lyrics if it is
590 otherwise out of copyright.
591
592 5.  The copyright of the printed page is held by the publisher for 30
593 years after printing (25 in some countries).  This stops you from
594 photocopying (unless it's "fair use" eg. you're partially sighted and need
595 to enlarge the music) or otherwise reproducing the typesetting that is
596 used on it.  But the copyright is only held over the typesetting work, not
597 the music itself.  Since Mudela specifies the notes, independently of any
598 typesetting work that went into your reference copy, you are not
599 duplicating any of the publisher's work.
600
601 6.  If you want to violate copyright, there are two main cases where you
602 may do so: fair use, and with permission.  The former is rather fuzzily
603 defined, but it includes such things as including small extracts of a
604 score in a critique, and making a large print or Braille copy for a blind
605 or partially-sighted performer (many people argue that in this case it
606 should always be kept with the original copy and/or destroyed after it is
607 no longer needed).  The latter is obvious: You can always write to the
608 composer, arranger, editor, lyricist or publisher in subsubsection and ask if
609 you can do whatever it is you're trying to do.  Some will respond more
610 readily than others, but anything that they say will override any copying 
611 restrictions imposed on you.
612
613 References - best one I know is the UK-based Performing Right Society,
614 @uref{http://www.prs.co.uk/} (especially "membership") and their links to other
615 international equivalents.  
616 @end quotation
617
618 Werner Lemberg @email{wl@@gnu.org} writes:
619
620 @quotation
621
622 Typesetting [at least in Austria or Germany, but not in France] [..]
623 isn't copyrighted -- typesetting is a handcraft, not an
624 art.
625
626 What's copyrighted in an Urtext edition is the editor's comment or
627 the revision remarks, cadenzas added by the editor, etc.
628
629 Urtext editions per se are @emph{not} copyrighted -- if you print
630 exactly what the composer has written, how can there some copyright be
631 added?  Copyrighted are usually only the `Critical notes', the foreword,
632 and the cadenzas some editors have added.
633
634 This means that the `Photocopying forbidden' sign in many scores is not
635 always correct for e.g. J.S. Bach -- you are allowed to copy the pages
636 which don't contain editorial stuff which is probably copyrighted.
637
638 A very unfortunate situation for the publishers.
639
640 @end  quotation
641
642
643 Glen Prideaux, @email{glenprideaux@@MailAndNews.com}:
644
645 @quotation
646 One has to be careful. In Australia typesetting IS covered by copyright, but
647 only for 25 years (as opposed to 50 years from the death of the
648 author/composer/artist for virtually any other copyright). If the
649 typesetting originates in a country that does not protect typesetting then
650 there may indeed be no copyright protection available to control the use of
651 mudela files.
652 @end quotation
653
654 Juergen Reuter @email{reuterj@@ira.uka.de}
655
656 [More information can be had at: ]
657
658 @uref{http://lcweb.loc.gov/copyright/}
659 (USA copyright law)
660
661 @uref{http://fairuse.stanford.edu/}
662 (meta site about copyright with many links to other resources)
663
664 @uref{http://host.mpa.org/crc.html}
665 (copyright from the viewpoint of the USA music publishers' association)
666
667 @uref{http://www.wipo.int}
668 (World Intellectual Property Organization (a UNO agency); with
669 information about international copyright)
670
671 John Sankey:
672
673 See @uref{http://www.geocities.com/Vienna/Studio/1714/harpsichord.html}
674 for a summary of copyright relative to old music, also for the
675 expert forum for such subsubsections.
676
677
678 @node Windows32, Top, Copyright, FAQ - GNU LilyPond FAQs
679 @section Windows32
680
681 @subsubsection I downloaded the windows32 port, and it doesn't match the website!
682
683 The website is usually made from the latest snapshots.  Binary releases,
684 in particular the windows32 binaries, are only made every once in a while.
685 They may lag several versions behind the latest version. 
686
687 @subsubsection But i want a native DOS/Windows-NT/95 port
688
689 Reconsider.  Try Linux.  It's fun!
690
691 @bye