+2005-05-30 Graham Percival <gperlist@shaw.ca>
+
+ * Documentation/user/advanced.itely, converters.itely,
+ instrument-notation.itely, lilypond-book.itely: misc small
+ changes.
+
2005-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
* cygwin: Update from mingw patches.
\markup @{ is \italic @{ anyone @} home @}
@end example
-@cindex font size, texts
-
In markup mode you can compose expressions, similar to mathematical
expressions, XML documents, and music expressions. You can stack
expressions grouped vertically with the command @code{\column}.
c1^\markup { \line { a b c } }
@end lilypond
+Lists with no previous command are not kept distinct. The expression
+
+@example
+\center-align @{ @{ a b @} @{ c d @} @}
+@end example
+
+@noindent
+
+is equivalent to
+
+@example
+\center-align @{ a b c d @}
+@end example
+
+@noindent
+
+To keep lists of words distinct, please use quotes @code{"} or
+the @code{\line} command
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\fatText
+c4^\markup{ \center-align { on three lines } }
+c4^\markup{ \center-align { "all one line" } }
+c4^\markup{ \center-align { { on three lines } } }
+c4^\markup{ \center-align { \line { on one line } } }
+@end lilypond
+
Markups can be stored in variables and these variables
may be attached to notes, like
@example
* Invoking etf2ly:: Importing Finale.
* Invoking abc2ly:: Importing ABC.
* Invoking mup2ly:: Importing MUP.
-* Other formats::
+* Generating LilyPond files::
@end menu
converted.
-@node Other formats
-@section Other formats
+@node Generating LilyPond files
+@section Generating LilyPond files
-LilyPond itself does not come with support for other formats, but
+@cindex External programs, generating LilyPond files
+
+LilyPond itself does not come with support for any other formats, but
there are some external tools that also generate LilyPond files.
These tools include
@itemize @bullet
@item
-@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}.
+@uref{http://@/denemo@/.sourceforge@/.net/,Denemo}, a graphical score editor.
+@item
+@uref{http://www@/.volny@/.cz/smilauer/rumor/rumor@/.html,Rumor}, a realtime monophonic MIDI to LilyPond converter.
@item
-@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, that imports
+@uref{http://nicolas@/.sceaux@/.free@/.fr/lilypond/lyqi@/.html,lyqi}, an Emacs major mode.
+@item
+@uref{http://@/www@/.nongnu@/.org/@/xml2ly/, xml2ly}, which imports
@uref{http://@/www@/.musicxml@/.com/,MusicXML}
@item
@uref{http://@/rnvs@/.informatik@/.tu@/-chemnitz@/.de/@/~jan/@/noteedit/@/noteedit@/.html,NoteEdit}
@uref{http://@/www@/.all@/-day@/-breakfast@/.com/@/rosegarden/,Rosegarden},
which imports MIDI
@end itemize
+
@lilypond[verbatim, raggedright, quote]
\context Voice {
- d' ^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
+ d'^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
d' d' d'
- fis' ^\markup \override #'(size . 0.75) {
+ fis'^\markup \override #'(size . 0.75) {
\override #'(finger-code . below-string) {
\fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
(place-fret 5 4 3) (place-fret 4 4 4)
}
}
fis' fis' fis'
- c' ^\markup \override #'(dot-radius . 0.35) {
+ c'^\markup \override #'(dot-radius . 0.35) {
\override #'(finger-code . in-dot) {
\override #'(dot-color . white) {
\fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
{
\set Score.timing = ##f
\set Score.barAlways = ##t
- s_\markup { "\\time 4/4" }
- ^\markup { " " \musicglyph #"timesig.neomensural44" }
+ s_\markup { "\\time 4/4" }^\markup { " " \musicglyph #"timesig.neomensural44" }
s
- s_\markup { "\\time 2/2" }
- ^\markup { " " \musicglyph #"timesig.neomensural22" }
+ s_\markup { "\\time 2/2" }^\markup { " " \musicglyph #"timesig.neomensural22" }
s
- s_\markup { "\\time 6/4" }
- ^\markup { " " \musicglyph #"timesig.neomensural64" }
+ s_\markup { "\\time 6/4" }^\markup { " " \musicglyph #"timesig.neomensural64" }
s
- s_\markup { "\\time 6/8" }
- ^\markup { " " \musicglyph #"timesig.neomensural68" }
+ s_\markup { "\\time 6/8" }^\markup { " " \musicglyph #"timesig.neomensural68" }
\break
- s_\markup { "\\time 3/2" }
- ^\markup { " " \musicglyph #"timesig.neomensural32" }
+ s_\markup { "\\time 3/2" }^\markup { " " \musicglyph #"timesig.neomensural32" }
s
- s_\markup { "\\time 3/4" }
- ^\markup { " " \musicglyph #"timesig.neomensural34" }
+ s_\markup { "\\time 3/4" }^\markup { " " \musicglyph #"timesig.neomensural34" }
s
- s_\markup { "\\time 9/4" }
- ^\markup { " " \musicglyph #"timesig.neomensural94" }
+ s_\markup { "\\time 9/4" }^\markup { " " \musicglyph #"timesig.neomensural94" }
s
- s_\markup { "\\time 9/8" }
- ^\markup { " " \musicglyph #"timesig.neomensural98" }
+ s_\markup { "\\time 9/8" }^\markup { " " \musicglyph #"timesig.neomensural98" }
\break
- s_\markup { "\\time 4/8" }
- ^\markup { " " \musicglyph #"timesig.neomensural48" }
+ s_\markup { "\\time 4/8" }^\markup { " " \musicglyph #"timesig.neomensural48" }
s
- s_\markup { "\\time 2/4" }
- ^\markup { " " \musicglyph #"timesig.neomensural24" }
+ s_\markup { "\\time 2/4" }^\markup { " " \musicglyph #"timesig.neomensural24" }
}
@end lilypond
Only the first @code{\score} of a LilyPond block is processed.
-@c CHECKME--FIXME
-The size of a music block is limited to 1.5 KB, due to technical
-problems with the Python regular expression engine. For longer files,
-use @code{\lilypondfile}.
-
@node Filename extensions
@section Filename extensions