Guide, node Updating translation committishes..
@end ignore
-@c \version "2.16.0"
+@c \version "2.17.6"
@node General input and output
@chapter General input and output
circumstances to avoid errors:
@itemize
+
@item Around every opening and closing curly bracket.
+
@item After every command or variable, i.e. every item that
begins with a @code{\} sign.
+
@item After every item that is to be interpreted as a Scheme
expression, i.e. every item that begins with a @code{#}@tie{}sign.
+
@item To separate all elements of a Scheme expression.
-@item In @code{lyricmode} to separate all the terms in both
-@code{\override} and @code{\set} commands. In particular, spaces
-must be used around the dot and the equals sign in commands like
-@code{\override Score . LyricText #'font-size = #5} and before and
-after the entire command.
+
+@item In @code{lyricmode} before and after @code{\set} and
+@code{\override} commands.
@end itemize
@headitem Procedure name @tab Condition tested
@item print-page-number-check-first @tab should this page number be printed?
-@item create-page-number-stencil @tab 'print-page-numbers true?
-@item print-all-headers @tab 'print-all-headers true?
+@item create-page-number-stencil @tab print-page-numbers true?
+@item print-all-headers @tab print-all-headers true?
@item first-page @tab first page in the book?
@item (on-page nmbr) @tab page number = nmbr?
@item last-page @tab last page in the book?
\footnote \markup { \super "$" } #'(0.5 . 1)
\markup { \super "$" \italic " The second note" }
e c4
- \once \override Score.FootnoteItem #'annotation-line = ##f
+ \once \override Score.FootnoteItem.annotation-line = ##f
b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
\markup { \super "+" \italic " Editorial" } \p
}
\header { tagline = ##f }
\relative c'' {
% footnotes may be added to chord constituents
- < \footnote #'(-1 . -3) #'Accidental "Another flat" aes
+ < \single\footnote #'(-1 . -3) "Another flat" Accidental aes
c
- \footnote #'(-1 . 0.5) #'Accidental "A flat" ees
+ \single\footnote #'(-1 . 0.5) "A flat" Accidental ees
>2
- \footnote #'(-1 . 2) #'Stem "A stem" ees2
+ \single\footnote #'(-1 . 2) "A stem" Stem ees2
}
}
@end lilypond
\header { tagline = ##f }
\relative c'' {
r1 |
- \footnote #'(-0.5 . -1) #'TimeSignature "Meter change" \default
+ \footnote #'(-0.5 . -1) "Meter change" Staff.TimeSignature
\time 3/4
- \footnote #'(1 . -1) #'Stem "Chord stem" \default
+ \footnote #'(1 . -1) "Chord stem" Stem
<c e g>4 q q
- \footnote #'(-0.5 . 1) #'BarLine "Bar line" \default
+ \footnote #'(-0.5 . 1) "Bar line" Staff.BarLine
q q
- \footnote #'(0.5 . -1) #'KeySignature "Key change" \default
+ \footnote #'(0.5 . -1) "Key change" Staff.KeySignature
\key c\minor
q
}
been brought into the main file, so the file names they specify
must all be relative to the directory containing the main file,
not the directory containing the included file. However,
-this behavior can be changed by passing the option
+this behavior can be changed globally by passing the option
@option{-drelative-includes} option at the command line
(or by adding @code{#(ly:set-option 'relative-includes #t)}
-at the top of the main input file). With @code{relative-includes}
-set, the path for each @code{\include} command will be taken
-relative to the file containing that command. This behavior is
-recommended and it will become the default behavior in a future
-version of lilypond.
+at the top of the main input file).
+
+When @code{relative-includes} is set to @code{#t}, the path for each
+@code{\include} command will be taken relative to the file containing
+that command. This behavior is recommended and it will become the
+default behavior in a future version of lilypond.
+
+Files relative to the main directory and files relative to some other
+directory may both be @code{\include}d by setting
+@code{relative-includes} to @code{#t} or @code{#f} at appropriate
+places in the files. For example, if a general library, libA, has
+been created which itself uses sub-files which are @code{\include}d
+by the entry file of that library, those @code{\include} statements
+will need to be preceded by
+@code{#(ly:set-option #relative-includes #t)} so they are interpreted
+correctly when brought into the main @code{.ly} file, like this:
+
+@example
+libA/
+ libA.ly
+ A1.ly
+ A2.ly
+ ...
+@end example
+
+@noindent
+then the entry file, @code{libA.ly}, will contain
+
+@example
+#(ly:set-option 'relative-includes #t)
+\include "A1.ly"
+\include "A2.ly"
+...
+% return to default setting
+#(ly:set-option 'relative-includes #f)
+@end example
+
+Any @file{.ly} file can then include the entire library simply with
+
+@example
+\include "~/libA/libA.ly"
+@end example
+
+More complex file structures may be devised by switching at
+appropriate places.
Files can also be included from a directory in a search path
specified as an option when invoking LilyPond from the command
@menu
* Creating MIDI files::
+* MIDI Instruments::
* MIDI block::
* What goes into the MIDI output?::
* Repeats in MIDI::
@end example
-@unnumberedsubsubsec Instrument names
-
-@cindex instrument names
-@funindex Staff.midiInstrument
-
-The MIDI instrument to be used is specified by setting the
-@code{Staff.midiInstrument} property to the instrument name.
-The name should be chosen from the list in @ref{MIDI instruments}.
-
-@example
-\new Staff @{
- \set Staff.midiInstrument = #"glockenspiel"
- @var{...notes...}
-@}
-@end example
-
-@example
-\new Staff \with @{midiInstrument = #"cello"@} @{
- @var{...notes...}
-@}
-@end example
-
-If the selected instrument does not exactly match an instrument from
-the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
-instrument is used.
-
-
@snippets
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
output. Players that are known to work include MS Windows Media
Player and @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
+@node MIDI Instruments
+@subsection MIDI Instruments
+
+@cindex instrument names
+@cindex MIDI, instruments
+@funindex Staff.midiInstrument
+
+The MIDI instrument to be used is specified by setting the
+@code{Staff.midiInstrument} property to the instrument name.
+The name should be chosen from the list in @ref{MIDI instruments}.
+
+@example
+\new Staff @{
+ \set Staff.midiInstrument = #"glockenspiel"
+ @var{...notes...}
+@}
+@end example
+
+@example
+\new Staff \with @{midiInstrument = #"cello"@} @{
+ @var{...notes...}
+@}
+@end example
+
+If the selected instrument does not exactly match an instrument from
+the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
+instrument is used.
+
@node MIDI block
@subsection MIDI block
@cindex MIDI block
@c TODO Check grace notes - timing is suspect?
+@menu
+* Supported in MIDI::
+* Unsupported in MIDI::
+@end menu
+
+@node Supported in MIDI
@unnumberedsubsubsec Supported in MIDI
@cindex Pitches in MIDI
@end itemize
+@node Unsupported in MIDI
@unnumberedsubsubsec Unsupported in MIDI
@c TODO index as above
overall MIDI volume, the relative volume of dynamic markings and
the relative volume of different instruments.
+@menu
+* Dynamic marks::
+* Overall MIDI volume::
+* Equalizing different instruments (i)::
+* Equalizing different instruments (ii)::
+@end menu
+
+@node Dynamic marks
@unnumberedsubsubsec Dynamic marks
Dynamic marks are translated to a fixed fraction of the available
@file{../scm/midi.scm} and the associated table as a model.
The final example in this section shows how this might be done.
+@node Overall MIDI volume
@unnumberedsubsubsec Overall MIDI volume
The minimum and maximum overall volume of MIDI dynamic markings is
}
@end lilypond
+@node Equalizing different instruments (i)
@unnumberedsubsubsec Equalizing different instruments (i)
If the minimum and maximum MIDI volume properties are set in
}
@end lilypond
+
+@node Equalizing different instruments (ii)
@unnumberedsubsubsec Equalizing different instruments (ii)
If the MIDI minimum and maximum volume properties are not set