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