]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/faq.texi
patch::: 1.3.79.jcn2
[lilypond.git] / Documentation / faq.texi
index da64d5cc5203e08226d9a6bfa8c11d3310c14c4a..c7d8cd5d21606b127e3142a885087eed258d1d58 100644 (file)
@@ -2,16 +2,9 @@
 @setfilename faq.info
 @settitle FAQ - GNU LilyPond FAQs
 
-@node Top, , Windows32, (dir)
+@node Top, , , (dir)
 @top
 @menu
-* FAQ - GNU LilyPond FAQs::       FAQ - GNU LilyPond FAQs
-@end menu
-
-
-
-@node FAQ - GNU LilyPond FAQs, Miscellaneous, , Top
-@menu
 * Miscellaneous::                 Miscellaneous
 * Installing::                    Installing
 * Documentation::                 Documentation
@@ -26,7 +19,7 @@
 @chapter FAQ - GNU LilyPond FAQs
 
 
-@node Miscellaneous, Installing, FAQ - GNU LilyPond FAQs, FAQ - GNU LilyPond FAQs
+@node Miscellaneous, ,,top
 @section Miscellaneous
 
 @subsubsection HELP! I'm stuck!
@@ -37,7 +30,7 @@ directly.
 
 Note: relative paths are meant to be relative to the source directory
 
-@node Installing, Documentation, Miscellaneous, FAQ - GNU LilyPond FAQs
+@node Installing,, ,top
 @section Installing
 
 
@@ -75,42 +68,11 @@ yourself:
 @end example 
 
 
-@subsubsection Some of your neat scripts fail, what directories do you use:
-
-[This only applies if you don't do @code{make install}, and develop out
-of the source directory]
-
-I have a directory which contains all our development projects
-@example 
-
-    ~/usr/
-@end example 
-
-which looks like @file{/usr/}
-@example 
-
-    bin/
-    share
-    lib/
-    share/
-    src/
-
-    etc....
-@end example 
-
-
-       
-
-~/usr/src/bin is in the PATH, and contains symbolic links to the
-compiled executables.
-
 @subsubsection Is there an emacs mode?
 
-Yes.  It is included with the source archive as mudela-mode.el.  If
-you have an rpm it is in /usr/doc/lilypond-X/.  You have to install it
-yourself.
+Yes.  It is included with the source archive as @file{lilypond-mode.el}.
+If you have an RPM it is in @file{/usr/doc/lilypond-X/}.  You have to
+install it yourself.
 
 @subsubsection How do I create the @file{.tfm} files?
 
@@ -119,19 +81,23 @@ Metafont when you run TeX.  Check your TeX installation, or ask
 your local TeX guru.  The supplied @file{.afm} files are intended to
 be used by LilyPond, not by any other programs.
 
-@node Documentation, Language- mudela, Installing, FAQ - GNU LilyPond FAQs
+@node Documentation,, ,top
 @section Documentation
 
-@subsubsection Why is the documentation/website/etc. so lousy?
+@subsubsection What a sober website/manual you have there!
 
-LilyPond development is moving quite fast, documentation will often
-lag a bit behind.  We must always make a choice between writing more
-doco, writing more code and answering email.
+LilyPond development is moving fast, so the documentation will often be out
+of date.  But don't hesitate to point out inaccuracies. Whip up your
+mail reader and write to the mailing list.
 
-If you think you can make a correction, or devised a solution that 
-should be documented, please do so and send in a patch.
+@subsubsection Please take me off your mailing list, I get  so much mail!
 
-@node Language- mudela, Do you support -, Documentation, FAQ - GNU LilyPond FAQs
+Don't ask Han-wen, don't ask David. Instead, read about
+@uref{../../index.html#mailing-lists,  the mailing lists} here.
+
+
+
+@node Language- mudela,, ,top
 @section Language: mudela
 
 @subsubsection Why do I have to type the accidentals to the note if I
@@ -179,7 +145,7 @@ of (x,y) positions and symbols.  You can only sensibly do TeX stuff in
 the symbol string.  You can access the symbol string easily for some
 symbols (notably lyrics and @code{^"text"} commands).
 
-@node Do you support -, How do I -, Language- mudela, FAQ - GNU LilyPond FAQs
+@node Do you support -,, ,top
 @section Do you support ...
 
 @subsubsection Do you support pop songs (chords, single staff, lyrics)?
@@ -188,33 +154,31 @@ Yes, see the @file{twinkle-pop} example.
 
 @subsubsection Do you support guitar chord diagrams?
 
-No. Go ahead and send a patch.
-
-We ourselves don't play guitar, and don't know the fine points of this
-notation.  We would welcome anyone who could give this a try.
+No. We ourselves don't play guitar, and don't know the fine points of
+this notation.  We would welcome anyone who could give this a try.
 
 @subsubsection Do you support TAB notation?
 
-No. The same as for the previous subsubsection goes, but TAB is a lot
-more work than diagrams (TAB needs modification of Parser, Lexer,
-Staff, Notehead, Stem code and all the code that creates these graphic
-elements.)
+No. The same as for the previous question goes.
+
 
 @subsubsection Do you support multiple staff-sizes?
 
-Yes.  At this time you can choose between 11, 13, 16, 19, 20, 23 and
-20 pt staff-size.  Use the staffLineLeading property for setting the
-size of the staff, and fontSize for setting the size of the glyphs.
+Yes.  At this time you can choose between 11, 13, 16, 19, 20, 23 and 20
+pt staff-size.  Use the @code{staffSpace} property for setting the
+size of the staff, and @code{fontSize} for setting the size of the
+glyphs.
 
 @subsubsection Do you support Gregorian chant notation?
 
-No.  Go ahead.
+No.
+
 
 @subsubsection Do you support grace notes?
 
-Yes. See @file{input/test/grace.ly}
+Yes. See @file{input/test/grace.ly}.
 
-@node How do I -, Development, Do you support -, FAQ - GNU LilyPond FAQs
+@node How do I -,, ,top
 @section How do I ....
 
 @subsubsection How do I change the TeX layout?
@@ -227,7 +191,6 @@ You change the order lyrics and staves.  You have to name all
 staves (lyric and melodic), otherwise they will end up in the same
 staff/lyricline
 @example 
-       
        \score @{
                < \melodic \type Staff = "treble" \trebleMelody
                  \lyric \type Lyrics = "tlyrics" \trebtext
@@ -302,54 +265,93 @@ There are several examples in the @file{mutopia} directory.
 
 See @file{input/test/bar-scripts.ly}.
 
-@subsubsection How do I change the tagline 'Lily was here'
+@subsubsection How do I change the tagline 'Lily was here'?
 
-In the @code{\header} field, add a @code{tagline} entry, eg
+In the @code{\header} field, add a @code{tagline} entry, e.g.
 @example 
 
 tagline="Typeset by GNU LilyPond"
  
 @end example 
 
-to get a bit less frivolous tagging.
+@subsubsection Can I make blank manuscript paper with LilyPond?
 
-@node Development, Running, How do I -, FAQ - GNU LilyPond FAQs
-@section Development
+Theoretically, yes but it is easier to do with (La)TeX. This LaTeX file
+will do the trick for you:
 
-@subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!
 
-If it is reasonable, I'll add XXXX to the TODO list. In general
-finding a cute syntax (such as YYYY) isn't very hard. The complicated
-issue how to adapt the internals to do XXXX. The parser is really a
-simple front end to the complicated internals. 
+@example
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% notepaper.tex
+% Mats Bengtsson, 18/5 2000
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\documentclass[a4paper]@{article@}
 
-@subsubsection Can I join in on LilyPond development?  How do I do this?
+\usepackage@{ifthen@}
+\usepackage[noheadfoot,hmargin=15mm,vmargin=20mm]@{geometry@}
+
+\pagestyle@{empty@}
+
+\newcounter@{staffnumber@}
+\newlength@{\interstaffline@}
+
+\newcommand@{\drawline@}@{\hbox@{\rule@{\textwidth@}@{0.5pt@}@}
+  \nointerlineskip\vskip\interstaffline\nointerlineskip@}
 
-LilyPond development is open for anyone who wants to join.  We do
-frequent releases, you are welcome to send in a patch or do suggestions.
-Join the gnu-music-discuss mailing list to participate.
+\newcommand@{\printstaff@}@{\vfill
+  \vbox@{\drawline\drawline\drawline\drawline\drawline@}
+  \vfill@}
 
+\begin@{document@}
+\typeout@{@}\typeout@{@}
+\typein[\staffsize]@{Type in the staff size (20pt is a common value):@}
+\setlength@{\interstaffline@}@{\staffsize@}
+\setlength@{\interstaffline@}@{.25\interstaffline@}
+\typeout@{@}
+\typein[\num]@{Type in the number of staffs:@}
+\setcounter@{staffnumber@}@{\num@}
 
-@subsubsection I want to implement XXXX!  Should I do this?
+\mbox@{@} % To get a starting point for the \vfill
+\whiledo@{\value@{staffnumber@}>0@}@{%
+  \printstaff \addtocounter@{staffnumber@}@{-1@}@}
 
-Yes.
+\end@{document@}
+@end  example
+
+
+@node Development,, ,top
+@section Development
+
+@subsubsection Could you implement feature XXXX? It is really easy, just extend the syntax to allow YYYY!
+
+In general finding a cute syntax (such as YYYY) isn't very hard. The
+complicated issue how to adapt the internals to do XXXX. The parser is
+really a simple front end to the complicated internals.
+
+@subsubsection Can I join in on LilyPond development?  How do I do this?
+
+Yes, we do frequent releases, you are welcome to send in a patch or do
+suggestions.  Join the list @email{gnu-music-discuss@@gnu.org} to
+participate.
 
-But since there might be better ways of doing XXXX, so it's a good thing to
-ask about this before you start hacking.  If you want to keep in touch
-with current developments, you should subscribe to the mailing list
 
 @subsubsection Is there a GUI frontend?  Should I start building one?
 
-LilyPond currently has no graphical interface.  The authors seriously
-doubt if a simple-minded approach (dragging and dropping notes) is any
-easier or quicker to use than mudela.  But for composing a graphical
-environment probably is indispensable.
+LilyPond currently has no graphical interface.  We (LilyPond authors)
+don't feel the need to write a GUI, but several others do:
 
 Matthew Hiller has extended Midiscore and Koobase to handle mudela.
-Check out @uref{http://zoo.cs.yale.edu/~meh25/}.
+Check out @uref{http://zoo.cs.yale.edu/~meh25/}.  He is now working on
+`Denemo', a GTK based notation program (which is still being developed).
 
-If you want to work on this, please send e-mail to the mailing list
-@email{gnu-music-discuss@@gnu.org}.
+Federico Mena-Quintero and Elliot Lee of RedHat Advanced Development
+labs have plans to write a GNOME based Music notation program. However,
+there is no code, only plans.
+
+Chris Cannam is working a rewrite of Rosegarden.  The new design should
+be more modular, and could conceivably be used to output
+mudela. However, the not much seems to have happened the past year. See
+@uref{http://www.all-day-breakfast.com/rosegarden/development.html}.
 
 
 @subsubsection I want to implement XXXX!  How should I do this?
@@ -360,43 +362,109 @@ Your best bet of getting us to include code, is to present it as a
 Please use the diff command to generate a patch, and don't send complete
 files, even if the diff is larger than the whole file.
 
-Don't forget to put your name and e-mail address
-in the @file{AUTHORS.pod} file, or you won't get credits :-]
+Don't forget to put your name and e-mail address in the file
+@file{Documentation/topdocs/AUTHORS.texi}, or you won't get credits
+:-)
 
 
 @subsubsection Your make system does not adhere to GNU coding standards, could you please fix it?
 
 No.  We have evaluated the standard GNU combination for compiling
-programs (autoconf, automake, libtool) and found to be inadequate in
-several respects.  More detailed argumentation is included with
-LilyPond's generic make package @code{StepMake} 
-(see @file{stepmake-x.x.x/Documentation/automake.urgh})
+programs (autoconf, automake, libtool) and found to be inadequate for
+our needs.
+
+@subsubsection How do I inspect @code{String}s and @code{SCM} values in GDB?
 
-LilyPond already compiles into a different directory ((the different
-directory is called out/, there is one in every source directory).
-make distclean essentially reduces to @file{rm -f out/*} in every directory
+Use the following command definitions, which can be put in 
+the file ~/.gdbinit.
 
-@subsubsection gdb crashes when I debug!
+@example
+define printstr
+    print $arg0->strh_.data->data_byte_p_
+end
 
-Upgrade to 4.17.
+define printscm
+    call gh_display($arg0)
+    call gh_newline()
+end
+@end example
 
-@subsubsection Why do I need g++ >= 2.8 / EGCS-1.1 ?
+@subsubsection GDB crashes when I debug!
 
-Supporting more compilers than EGCS/G++ 2.8 is unlikely to make
-LilyPond run on more platforms.  It would give us an enormous headache
-in detecting and catering for every variant of every compiler: not
-having to support other compilers saves us a @emph{lot} of trouble.
+Upgrade/downgrade to 4.17.
 
-@node Running, Copyright, Development, FAQ - GNU LilyPond FAQs
+@node Running,, ,top
 @section Running
 
+@subsubsection Correcting errors is so tedious. Is there a better way?
+
+As of 1.3.73, lilypond provides support for the xdvi @code{src:}
+special. This can be used with Xdvik (22.16 or better) and xdvi (22.28
+or better) to go to the place in the input that corresponds to a symbol
+in the output: click on the note, and your editor jumps to the place
+where it was defined
+
+lilypond:
+
+Decide if you want column positioning, and edit @file{lily.scm}
+according to the comments at the function @code{define-origin}.
+
+emacs:
+
+Put this in @file{~/.emacs}:
+@example
+(server-start)
+@end example
+
+For column positioning, apply
+@uref{http://www.cs.uu.nl/~hanwen/software/emacsclient-column, this
+patch} to @code{emacsclient.c} and @code{server.el}. Stick the compiled
+emacsclient into a bin directory, and put @code{server.el} into a elisp
+directory (eg. @file{~/usr/share/emacs/}). Add the following to your
+@file{.emacs} init file, before invoking server-start.
+@example
+(setq load-path (cons (concat (getenv "HOME") "/usr/share/emacs")
+ load-path))
+@end example
+
+Xdvik:
+
+Warning: @uref{Xdvik,ftp://ftp.cs.uu.nl/pub/tex-archive/dviware/xdvik/},
+which is shipped with most TeX distributions, doesn't work very well for
+src specials. You're better off using plain xdvi.
+@example
+       xdvi -srcmode -srcvisibility output.dvi
+@end example
+
+Click control-mouse button 2 for making emacs jump to the appropriate place.
+
+For column positioning you must install
+@uref{http://www.cs.uu.nl/~hanwen/software/xdvik-src, this patch} to
+make Xdvik emit column numbers. Add the command line option
+@code{-srceditorcommand "emacsclient --no-wait +%l:%c %f"}
+
+Xdvi
+
+@uref{Xdvi,ftp://ftp.math.berkeley.edu/pub/Software/TeX/xdvi.tar.gz} has
+better support for src specials. Apply
+@uref{http://www.cs.uu.nl/~hanwen/software/xdvi-src, this patch}. Before
+starting, set the environment variable @code{XEDITOR} to
+@code{"emacsclient --no-wait +%d %s"}.  When viewing,
+control-mousebutton 1 will take you to the correct
+line/column. Control-mousebutton 2 will show all clickable boxes.
+
+dvips:
+
+dvips will complain about the specials, but the complaints are harmless.
+
+
 @subsubsection I use dvilj4, and there are lots of warning messages for the printing
 
 You should use dvips and ghostscript to print the @code{dvi} output: the
 slurs and beams are PS @code{\special} commands.
 
 
-subsubsection My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!
+@subsubsection My symbols are all messed up after I upgraded, I get the wrong symbols and dvi-checksum errors!
 
 We obviously mucked with the fonts in the upgrade.  Remove @emph{all}
 previous fonts, including the @file{.pk} and @file{.tfm} fonts in
@@ -461,29 +529,19 @@ Direct PS output is still experimental.  For creating nice looking ps
 output, use TeX and @code{dvips}.
 
   
-@subsubsection The beams and slurs are gone if use the XDvi magnifying glass!?
+@subsubsection The beams and slurs are gone when using the XDvi magnifying glass!?
 
-The beams and slurs are done in PostScript.  XDvi doesn't show
-PostScript in the magnifying glass.  Complain to the XDvi maintainers.
+Various dynamic symbols, such as beams, crescendi, slurs are done in
+PostScript.  XDvi doesn't show PostScript in the magnifying glass.
+Complain to the XDvi maintainers.
 
-@subsubsection I don't get midi-output, even if I use @strong{-m}!
-
-Your \score should include a \midi block, eg.
-@example 
 
-       \score @{
-               \melodic @{ c4 c g g @}
-               \paper @{@}     
-               \midi @{
-                       output = "myfile.midi";
-                       \tempo 4=70;
-               @}
-       @}
-@end example 
+@subsubsection Beams, slurs and crescendi are not displayed at all!
 
-The @strong{-m} option was added to LilyPond to suppress paper output,
-because processing the \paper block is so slow.
+See previous answer.  XDvi uses GhostScript for displaying PostScript,
+check that you have GhostScript installed.  If you use a different
+DVI viewer, check if it will display embedded PostScript.  Don't worry,
+the symbols should appear on the printout.
 
 @subsubsection A lot of musical stuff doesn't make it to the MIDI file, eg.  dynamics, articulation, etc.
 
@@ -491,7 +549,7 @@ The MIDI output was originally put in as a proof that MIDI could be
 done, and as a method of proof"reading" the input.  The MIDI support
 is by no means finished.  Patches appreciated.
 
-@node Copyright, Windows32, Running, FAQ - GNU LilyPond FAQs
+@node Copyright,, ,top
 @section Copyright
 
 @subsubsection What is Urtext?  Critical Edition?
@@ -645,7 +703,7 @@ for a summary of copyright relative to old music, also for the
 expert forum for such subsubsections.
 
 
-@node Windows32, Top, Copyright, FAQ - GNU LilyPond FAQs
+@node Windows32,, ,top
 @section Windows32
 
 @subsubsection I downloaded the windows32 port, and it doesn't match the website!