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