@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
@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!
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
@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?
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
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)?
@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?
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
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?
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
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.
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?
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!