* Useful concepts and properties::
* Common properties::
* Advanced tweaks::
-* old The \override command::
* Discussion of specific tweaks::
@end menu
@node Contexts explained
@subsection Contexts explained
+@c FIXME Rethink and rewrite
+
>> > > - list of contexts: my *danger unmaintainable*
>> > > alarm just went off. I'm
@node Creating contexts
@subsection Creating contexts
+@c TODO \new Score and \score
+@c TODO more complete descriptions rather than learning style
+
For scores with only one voice and one staff, contexts are
created automatically. For more complex scores, it is necessary to
create them by hand. There are three commands that do this.
@node Modifying context plug-ins
@subsection Modifying context plug-ins
+@c TODO Should this be Modifying engravers or Modifying contexts?
+
Notation contexts (like @code{Score} and @code{Staff}) not only
store properties,
they also contain plug-ins called @q{engravers} that create notation
could be useful in setting up a vocal staff (@rlearning{Vocal ensembles}) and
in ossia,
-FIXME: this section doesn't work in pdf. (?)
+@c TODO Better example needed. Ref LM, and expand on it.
@cindex ossia
@findex alignAboveContext
@node Navigating the program reference
@subsection Navigating the program reference
+@c TODO remove this (it's in the LM)
+@c Replace with more factual directions
+
Suppose we want to move the fingering indication in the fragment
below:
The programmer's reference is available as an HTML document. It is
highly recommended that you read it in HTML form, either online or
by downloading the HTML documentation. This section will be much more
-difficult to understand if you are using the
+difficult to understand if you are using the
PDF manual.
@end ifnothtml
@node Determining the grob property
@subsection Determining the grob property
+@c TODO remove this (it's in the LM)
+@c Replace with more factual directions
+
Recall that we wanted to change the position of the @b{2} in
@lilypond[quote,fragment,relative=2,verbatim]
@node Controlling visibility of objects
@subsection Controlling visibility of objects
+@c FIXME Write this section
@node Line styles
@subsection Line styles
@end table
-FIXME: should this be in NR 3?
+@c TODO: Move to 5.4.4
The music function \endSpanners terminates spanners and hairpins
after exactly one note.
@node Rotating objects
@subsection Rotating objects
+@c FIXME Write this section
+
@node Aligning objects
@subsection Aligning objects
+@c FIXME Write this section
+
@node Advanced tweaks
@section Advanced tweaks
@menu
-* Vertical grouping of grobs::
-* Modifying ends of spanners::
-* Modifying stencils::
+* Vertical grouping of grobs::
+* Modifying ends of spanners::
+* Modifying stencils::
@end menu
@node Vertical grouping of grobs
@subsection Vertical grouping of grobs
+@c FIXME Expand this section
+
The VerticalAlignment and VerticalAxisGroup grobs work together.
VerticalAxisGroup groups together different grobs like Staff, Lyrics,
etc. VerticalAlignment then vertically aligns the different grobs
grouped together by VerticalAxisGroup. There is usually only one
VerticalAlignment per score but every Staff, Lyrics, etc. has its own
-VerticalAxisGroup.
+VerticalAxisGroup.
@node Modifying ends of spanners
@subsection Modifying ends of spanners
+@c FIXME Write this section
@node Modifying stencils
@subsection Modifying stencils
-
-
-@node old The \override command
-@section old The @code{\override} command
-
-In the previous section, we have already touched on a command that
-changes layout details: the @code{\override} command. In this section,
-we will look in more detail at how to use the command in practice. The
-general syntax of this command is:
-
-@example
-\override @var{context}.@var{layout_object} #'@var{layout_property} = #@var{value}
-@end example
-
-This will set the @var{layout_property} of the specified @var{layout_object},
-which is a member of the @var{context}, to the @var{value}.
-
-
-
+@c FIXME Write this section
@node Discussion of specific tweaks
@section Discussion of specific tweaks
@menu
-* old Contexts explained::
+* old Contexts explained::
@end menu
@node old Contexts explained
@subsection old Contexts explained
+@c FIXME Delete this section? It is in LM
+@c Or leave heading and go on from LM?
+
When music is printed, a lot of notational elements must be added to the
output. For example, compare the input and output of the following example:
This section deals with general LilyPond input syntax issues,
rather than specific notation.
-FIXME: don't complain about anything in this chapter. It's still
-under heavy development.
-
@menu
* Input structure::
* Titles and headers::
popular modern editors have utf-8 support, for example, vim, Emacs,
jEdit, and GEdit do.
-@c Currently not working
+@c TODO Expand - meanings; how to get and install fonts?
+
+@c TODO Explainn that programming error: FT_Get_Glyph_Name () error: invalid argument
+@c is often due to saving in Latin-1 rather than UTF-8
+
+@c TODO Currently not working
@ignore
Depending on the fonts installed, the following fragment shows Hebrew
and Cyrillic lyrics,
@li lypondfile[fontload]{utf-8.ly}
+@c TODO TeX is no longer used as backend
+
The @TeX{} backend does not handle encoding specially at all. Strings
in the input are put in the output as-is. Extents of text items in the
@TeX{} backend, are determined by reading a file created via the
the results of @code{\display@{STUFF@}}, redirect the output to
a file.
+@c TODO What happens under Windows?
+
@example
lilypond file.ly >display.txt
@end example
(cons
(make-rhythmic-location 5 1 2)
(make-rhythmic-location 7 3 4)))
-}
+}
@end verbatim
@noindent
in measure 5, and @code{7 3 4} after 3 quarter notes in measure 7.
More clip regions can be defined by adding more pairs of
-rhythmic-locations to the list.
+rhythmic-locations to the list.
In order to use this feature, LilyPond must be invoked with
@code{-dclip-systems}. The clips are output as EPS files, and are
that are off or accidentals that were mistyped stand out very much
when listening to the MIDI output.
+@c TODO Move to lower section - next one?
@knownissues
Many musically interesting effects, such as swing, articulation,
slurring, etc., are not translated to midi.
+@c TODO Check this
The midi output allocates a channel for each staff, and one for global
settings. Therefore the midi file should not have more than 15 staves
(or 14 if you do not use drums). Other staves will remain silent.
@uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
@menu
-* Creating MIDI files::
-* MIDI block::
-* MIDI instrument names::
-* What goes into the MIDI? FIXME::
-* other midi::
+* Creating MIDI files::
+* MIDI block::
+* MIDI instrument names::
+* What goes into the MIDI output?
@end menu
@node Creating MIDI files
@}
@end example
-The tempo can be specified using the @code{\tempo} command within the
+The tempo can be specified using the @code{\tempo} command within the
actual music, see @ref{Metronome marks}. An alternative, which does not
result in a metronome mark in the printed score, is shown in the example
above. In this example the tempo of quarter notes is set to 72 beats per
-minute.
+minute.
This kind of tempo
specification can not take dotted note lengths as an argument. In this
case, break the dotted notes into smaller units. For example, a tempo
@subsection MIDI block
@cindex MIDI block
+@c TODO Do we need this? Should it be elsewhere?
+@c TODO If we keep it it should be expanded
The MIDI block is analogous to the layout block, but it is somewhat
simpler. The @code{\midi} block is similar to @code{\layout}. It can contain
instrument is used.
-@node What goes into the MIDI? FIXME
-@subsection What goes into the MIDI? FIXME
+@node What goes into the MIDI output?
+@subsection What goes into the MIDI output?
+
+@c TODO Add Notes, rhythms, dynamics
+@c TODO Check grace notes - timing is suspect?
@menu
-* Repeats and MIDI::
+* Repeats::
+* Microtones::
@end menu
-@node Repeats and MIDI
-@subsubsection Repeats and MIDI
+@node Repeats
+@subsubsection Repeats
-@cindex expanding repeats
+@cindex repeats in MIDI
@funindex \unfoldRepeats
With a little bit of tweaking, all types of repeats can be present
@end example
-@node other midi
-@subsection other midi
+@node Microtones
+@subsubsection Microtones
Micro tones are also exported to the MIDI file.
+@c TODO Write
-Figured bass has no effect on MIDI.
+@c TODO List things that have no effect
+Figured bass, chords, lyrics have no effect on MIDI.