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