]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/faq.texi
da64d5cc5203e08226d9a6bfa8c11d3310c14c4a
[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 develop 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
104         
105
106 ~/usr/src/bin is in the PATH, and contains symbolic links to the
107 compiled executables.
108
109 @subsubsection Is there an emacs mode?
110
111 Yes.  It is included with the source archive as mudela-mode.el.  If
112 you have an rpm it is in /usr/doc/lilypond-X/.  You have to install it
113 yourself.
114
115 @subsubsection How do I create the @file{.tfm} files?
116
117 You don't.  The @file{.tfm} files should be generated automatically by
118 Metafont when you run TeX.  Check your TeX installation, or ask
119 your local TeX guru.  The supplied @file{.afm} files are intended to
120 be used by LilyPond, not by any other programs.
121
122 @node Documentation, Language- mudela, Installing, FAQ - GNU LilyPond FAQs
123 @section Documentation
124
125 @subsubsection Why is the documentation/website/etc. so lousy?
126
127 LilyPond development is moving quite fast, documentation will often
128 lag a bit behind.  We must always make a choice between writing more
129 doco, writing more code and answering email.
130
131 If you think you can make a correction, or devised a solution that 
132 should be documented, please do so and send in a patch.
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. Go ahead and send a patch.
192
193 We ourselves don't play guitar, and don't know the fine points of this
194 notation.  We would welcome anyone who could give this a try.
195
196 @subsubsection Do you support TAB notation?
197
198 No. The same as for the previous subsubsection goes, but TAB is a lot
199 more work than diagrams (TAB needs modification of Parser, Lexer,
200 Staff, Notehead, Stem code and all the code that creates these graphic
201 elements.)
202
203 @subsubsection Do you support multiple staff-sizes?
204
205 Yes.  At this time you can choose between 11, 13, 16, 19, 20, 23 and
206 20 pt staff-size.  Use the staffLineLeading property for setting the
207 size of the staff, and fontSize for setting the size of the glyphs.
208
209 @subsubsection Do you support Gregorian chant notation?
210
211 No.  Go ahead.
212
213 @subsubsection Do you support grace notes?
214
215 Yes. See @file{input/test/grace.ly}
216
217 @node How do I -, Development, Do you support -, FAQ - GNU LilyPond FAQs
218 @section How do I ....
219
220 @subsubsection How do I change the TeX layout?
221
222 See @file{lilyponddefs.tex}, it has some comments.  Or use @file{ly2dvi}.
223
224 @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!
225
226 You change the order lyrics and staves.  You have to name all
227 staves (lyric and melodic), otherwise they will end up in the same
228 staff/lyricline
229 @example 
230         
231         \score @{
232                 < \melodic \type Staff = "treble" \trebleMelody
233                   \lyric \type Lyrics = "tlyrics" \trebtext
234                   \type Staff = "bass" \melodic \bassMelody        
235                   \lyric \type Lyrics = "blyrics" \basstext      
236                 >
237                 \paper @{  @}
238         @}
239  
240 @end example 
241
242 @subsubsection How do I put more than one marking on a note.
243
244 You can stack them 
245 @example 
246
247         c4^"a"^"b"
248  
249 @end example 
250
251 or use spacing-notes to put markings at different horizontal positions 
252 @example 
253
254         < c1
255           @{ s4\ff s4^"text" s4-\marcato s4 @}
256         >
257  
258 @end example 
259
260 This also works for crescendi, eg,
261 @example 
262
263         < c1
264           @{ s4\< s2 \! s4 @}
265         >
266  
267 @end example 
268
269 @subsubsection How do I combine multiple pieces into one document
270
271 There are several solutions:
272
273 @itemize @bullet
274 @item  
275 @example 
276
277         ly2dvi foo.ly bar.ly
278  
279 @end example 
280  
281 produces one combined @file{foo.dvi}
282 @item  make a toplevel @file{.ly} file that contains al pieces:
283 @example 
284
285         % booklet.ly
286         \input "piece-1.ly"
287         \input "piece-2.ly"
288         \input "piece-3.ly"
289  
290 @end example 
291  
292 @item  make a hybrid TeX/LilyPond @file{.doc} document (see the
293      @file{Documentation/tex} directory).
294 @end itemize
295
296 For the first two solutions, you will need to move @code{\header} info 
297 in each individual piece from toplevel into the @code{\paper} block.
298
299 There are several examples in the @file{mutopia} directory.
300
301 @subsubsection How do I get bar numbers?
302
303 See @file{input/test/bar-scripts.ly}.
304
305 @subsubsection How do I change the tagline 'Lily was here'
306
307 In the @code{\header} field, add a @code{tagline} entry, eg
308 @example 
309
310 tagline="Typeset by GNU LilyPond"
311  
312 @end example 
313
314 to get a bit less frivolous tagging.
315
316 @node Development, Running, How do I -, FAQ - GNU LilyPond FAQs
317 @section Development
318
319 @subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!
320
321 If it is reasonable, I'll add XXXX to the TODO list. In general
322 finding a cute syntax (such as YYYY) isn't very hard. The complicated
323 issue how to adapt the internals to do XXXX. The parser is really a
324 simple front end to the complicated internals. 
325
326 @subsubsection Can I join in on LilyPond development?  How do I do this?
327
328 LilyPond development is open for anyone who wants to join.  We do
329 frequent releases, you are welcome to send in a patch or do suggestions.
330 Join the gnu-music-discuss mailing list to participate.
331
332
333 @subsubsection I want to implement XXXX!  Should I do this?
334
335 Yes.
336
337 But since there might be better ways of doing XXXX, so it's a good thing to
338 ask about this before you start hacking.  If you want to keep in touch
339 with current developments, you should subscribe to the mailing list
340
341 @subsubsection Is there a GUI frontend?  Should I start building one?
342
343 LilyPond currently has no graphical interface.  The authors seriously
344 doubt if a simple-minded approach (dragging and dropping notes) is any
345 easier or quicker to use than mudela.  But for composing a graphical
346 environment probably is indispensable.
347
348 Matthew Hiller has extended Midiscore and Koobase to handle mudela.
349 Check out @uref{http://zoo.cs.yale.edu/~meh25/}.
350
351 If you want to work on this, please send e-mail to the mailing list
352 @email{gnu-music-discuss@@gnu.org}.
353
354
355 @subsubsection I want to implement XXXX!  How should I do this?
356
357 Your best bet of getting us to include code, is to present it as a
358 "fait accompli", i.e., to send a patch to the mailing list.
359
360 Please use the diff command to generate a patch, and don't send complete
361 files, even if the diff is larger than the whole file.
362
363 Don't forget to put your name and e-mail address
364 in the @file{AUTHORS.pod} file, or you won't get credits :-]
365
366
367 @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it?
368
369 No.  We have evaluated the standard GNU combination for compiling
370 programs (autoconf, automake, libtool) and found to be inadequate in
371 several respects.  More detailed argumentation is included with
372 LilyPond's generic make package @code{StepMake} 
373 (see @file{stepmake-x.x.x/Documentation/automake.urgh})
374
375 LilyPond already compiles into a different directory ((the different
376 directory is called out/, there is one in every source directory).
377 make distclean essentially reduces to @file{rm -f out/*} in every directory
378
379 @subsubsection gdb crashes when I debug!
380
381 Upgrade to 4.17.
382
383 @subsubsection Why do I need g++ >= 2.8 / EGCS-1.1 ?
384
385 Supporting more compilers than EGCS/G++ 2.8 is unlikely to make
386 LilyPond run on more platforms.  It would give us an enormous headache
387 in detecting and catering for every variant of every compiler: not
388 having to support other compilers saves us a @emph{lot} of trouble.
389
390 @node Running, Copyright, Development, FAQ - GNU LilyPond FAQs
391 @section Running
392
393 @subsubsection I use dvilj4, and there are lots of warning messages for the printing
394
395 You should use dvips and ghostscript to print the @code{dvi} output: the
396 slurs and beams are PS @code{\special} commands.
397
398
399 subsubsection My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!
400
401 We obviously mucked with the fonts in the upgrade.  Remove @emph{all}
402 previous fonts, including the @file{.pk} and @file{.tfm} fonts in
403 @file{/var/lib/texmf}.  A script automating this has been included, see
404 @file{buildscripts/clean-fonts.sh}.
405
406 @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.
407
408 Mats Bengtsson <mats.bengtsson@@s3.kth.se> writes:
409
410 The simple solution used by Anthony Fok in the Debian distribution of
411 Lilypond is to link the mf/ directory to
412 /usr/lib/texmf/fonts/source/public/lilypond Depending on what
413 distribution of teTeX and Linux you have installed, there might also
414 be other places like /usr/local/lib/texmf/fonts/source/public/lilypond
415 or /var/spool/texmf//fonts/source/public/lilypond
416
417 Wherever you put it, don't forget to run mktexlsr (or texhash for
418 older installations) afterwards, so that TeX will find the files.
419 Also, don't forget to remove all old .tfm and .*pk files when the font
420 is updated (as it will be in version 1.1.40, for example).
421
422 @subsubsection Are there scalable versions of the font?
423
424 Yes, they are type-3 fonts.  In the @file{mf/} 
425 subdirectory, issue:
426 @example 
427
428         make pfa
429  
430 @end example 
431  in the mf/ subdirectory.  This will also  make @file{mfplain} for metapost.
432 The @file{pfa}s will be in the subdirectory @file{out/}.
433
434 @subsubsection How does PS output work?
435
436 @itemize @bullet
437  @item 
438 Generate the PostScript Type-3 fonts. 
439 @item 
440 Run lilypond with option @code{-f ps}:
441 @example 
442
443     lilypond -fps foo.ly
444  
445 @end example 
446
447 @item  To view the @file{.ps} output with GhostView, set GS_FONTPATH to the 
448 directory containing the @file{pfa}s.  In the source tree, this is @file{mf/out/}.
449
450 i.e. do something like:
451 @example 
452
453    export GS_FONTPATH=$HOME/usr/src/lilypond/mf/out
454    gv foo.ps &
455  
456 @end example 
457
458 @end itemize
459
460 Direct PS output is still experimental.  For creating nice looking ps 
461 output, use TeX and @code{dvips}.
462
463   
464 @subsubsection The beams and slurs are gone if use the XDvi magnifying glass!?
465
466 The beams and slurs are done in PostScript.  XDvi doesn't show
467 PostScript in the magnifying glass.  Complain to the XDvi maintainers.
468
469 @subsubsection I don't get midi-output, even if I use @strong{-m}!
470
471 Your \score should include a \midi block, eg.
472 @example 
473
474         \score @{
475                 \melodic @{ c4 c g g @}
476                 \paper @{@}     
477                 \midi @{
478                         output = "myfile.midi";
479                         \tempo 4=70;
480                 @}
481         @}
482  
483 @end example 
484
485 The @strong{-m} option was added to LilyPond to suppress paper output,
486 because processing the \paper block is so slow.
487
488 @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg.  dynamics, articulation, etc.
489
490 The MIDI output was originally put in as a proof that MIDI could be
491 done, and as a method of proof"reading" the input.  The MIDI support
492 is by no means finished.  Patches appreciated.
493
494 @node Copyright, Windows32, Running, FAQ - GNU LilyPond FAQs
495 @section Copyright
496
497 @subsubsection What is Urtext?  Critical Edition?
498
499 Werner Lemberg:
500
501 It may be translated best as `that what the composer intended to tell
502 the reader'
503
504 Peter Chubb <peterc@@aurema.com> writes:
505
506 An Urtext is a reconstruction of the earliest form of a text,
507 including mistakes the original author wrote.  Where there is no
508 available facsimile of the original, creating this can involve some
509 inspired detective work (in comparing various later editions and
510 trying to deduce what the original form was).  As far as copyright
511 goes, my guess is that, for works that are otherwise out of copyright,
512 an Urtext is copyright to the person who reconstructed it, as a
513 derived work from the editions s/he consulted.  If the edition is
514 created directly from a facsimile, as would be the case for most
515 Urtext editions of music, then the amount of new (copyright) material
516 is minimal.
517
518 A critical edition is an edition that is designed for critical
519 study of a text.  It'll usually have lots of footnotes, alternative
520 readings, possible realisations of bass parts and harmonies, etc.  It
521 aims to elucidate the author's original intentions, as opposed to
522 reproduce exactly what was written.  The critical apparatus will be
523 copyright to its author.
524
525 A playing edition is one that has been edited for modern usage.
526 It'll have fewer or no alternative readings, it'll be in modern
527 notation, it may have additional editorial marks (phrase marks, slurs,
528 etc.) will often have a fully realised basso continuo part (if oone
529 was present in the original) and may have had key changes, time
530 signature changes, time compression (original in 4/1, playing edition
531 in 4/4, for example, with all semibreves replaced with crotchets)
532 Copyright is in the arranger/editor.
533
534 @subsubsection How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?
535
536 Silas S. Brown <ssb22@@hermes.cam.ac.uk>:
537
538 @quotation
539
540 There are several aspects to sheet music copyright:
541
542 1.  The music itself - copyright for the composer's life plus 70 years (so
543 not applicable to Bach).
544
545 2.  If the music is an arrangement, then the arranger holds copyright on
546 that arrangement.  However, you can produce your own arrangement using
547 that arrangement as a reference point.  Obviously your arrangement must be
548 sufficently different to be called your own arrangement - you need to do
549 more than change one note!
550
551 3.  In some countries, the same applies for editions.  This could be
552 relevant to the Bach example.  If a modern person has edited the music,
553 then they hold the copyright on the edition.  This does not stop you from
554 removing the editorial features - remove all editorial slurs, phrasemarks,
555 ornaments etc and only leave those that you know to be original.  You can
556 then add some of your own if you want to be your own editor.
557
558 4.  If there are lyrics, then the lyricist also holds copyright.  This
559 does not stop you from using the music without the lyrics if it is
560 otherwise out of copyright.
561
562 5.  The copyright of the printed page is held by the publisher for 30
563 years after printing (25 in some countries).  This stops you from
564 photocopying (unless it's "fair use" eg. you're partially sighted and need
565 to enlarge the music) or otherwise reproducing the typesetting that is
566 used on it.  But the copyright is only held over the typesetting work, not
567 the music itself.  Since Mudela specifies the notes, independently of any
568 typesetting work that went into your reference copy, you are not
569 duplicating any of the publisher's work.
570
571 6.  If you want to violate copyright, there are two main cases where you
572 may do so: fair use, and with permission.  The former is rather fuzzily
573 defined, but it includes such things as including small extracts of a
574 score in a critique, and making a large print or Braille copy for a blind
575 or partially-sighted performer (many people argue that in this case it
576 should always be kept with the original copy and/or destroyed after it is
577 no longer needed).  The latter is obvious: You can always write to the
578 composer, arranger, editor, lyricist or publisher in subsubsection and ask if
579 you can do whatever it is you're trying to do.  Some will respond more
580 readily than others, but anything that they say will override any copying 
581 restrictions imposed on you.
582
583 References - best one I know is the UK-based Performing Right Society,
584 @uref{http://www.prs.co.uk/} (especially "membership") and their links to other
585 international equivalents.  
586 @end quotation
587
588 Werner Lemberg @email{wl@@gnu.org} writes:
589
590 @quotation
591
592 Typesetting [at least in Austria or Germany, but not in France] [..]
593 isn't copyrighted -- typesetting is a handcraft, not an
594 art.
595
596 What's copyrighted in an Urtext edition is the editor's comment or
597 the revision remarks, cadenzas added by the editor, etc.
598
599 Urtext editions per se are @emph{not} copyrighted -- if you print
600 exactly what the composer has written, how can there some copyright be
601 added?  Copyrighted are usually only the `Critical notes', the foreword,
602 and the cadenzas some editors have added.
603
604 This means that the `Photocopying forbidden' sign in many scores is not
605 always correct for e.g. J.S. Bach -- you are allowed to copy the pages
606 which don't contain editorial stuff which is probably copyrighted.
607
608 A very unfortunate situation for the publishers.
609
610 @end  quotation
611
612
613 Glen Prideaux, @email{glenprideaux@@MailAndNews.com}:
614
615 @quotation
616 One has to be careful. In Australia typesetting IS covered by copyright, but
617 only for 25 years (as opposed to 50 years from the death of the
618 author/composer/artist for virtually any other copyright). If the
619 typesetting originates in a country that does not protect typesetting then
620 there may indeed be no copyright protection available to control the use of
621 mudela files.
622 @end quotation
623
624 Juergen Reuter @email{reuterj@@ira.uka.de}
625
626 [More information can be had at: ]
627
628 @uref{http://lcweb.loc.gov/copyright/}
629 (USA copyright law)
630
631 @uref{http://fairuse.stanford.edu/}
632 (meta site about copyright with many links to other resources)
633
634 @uref{http://host.mpa.org/crc.html}
635 (copyright from the viewpoint of the USA music publishers' association)
636
637 @uref{http://www.wipo.int}
638 (World Intellectual Property Organization (a UNO agency); with
639 information about international copyright)
640
641 John Sankey:
642
643 See @uref{http://www.geocities.com/Vienna/Studio/1714/harpsichord.html}
644 for a summary of copyright relative to old music, also for the
645 expert forum for such subsubsections.
646
647
648 @node Windows32, Top, Copyright, FAQ - GNU LilyPond FAQs
649 @section Windows32
650
651 @subsubsection I downloaded the windows32 port, and it doesn't match the website!
652
653 The website is usually made from the latest snapshots.  Binary releases,
654 in particular the windows32 binaries, are only made every once in a while.
655 They may lag several versions behind the latest version. 
656
657 @subsubsection But i want a native DOS/Windows-NT/95 port
658
659 Reconsider.  Try Linux.  It's fun!
660
661 @bye