only do mkdir/install-info if INFO_INSTALL_FILES != "".
scripts/lilypond-book.py (Lilypond_snippet.is_outdated): use
glob.glob for .png filenames. This catches multipage pngs.
* Documentation/user/changing-defaults.itely (Determining the grob
property): fix references.
+2004-03-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * stepmake/stepmake/texinfo-vars.make (INFOINSTALL):
+ only do mkdir/install-info if INFO_INSTALL_FILES != "".
+
2004-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
* stepmake/aclocal.m4: Verify that gettext configure check with
2004-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
* stepmake/aclocal.m4: Verify that gettext configure check with
2004-03-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
2004-03-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): use
+ glob.glob for .png filenames. This catches multipage pngs.
+
* Documentation/user/changing-defaults.itely (Determining the grob
property): fix references.
* Documentation/user/changing-defaults.itely (Determining the grob
property): fix references.
OUT_EPS_IMAGES=$(addprefix $(outdir)/,$(IMAGES:.png=.eps))
OUT_PNG_IMAGES=$(addprefix $(outdir)/,$(IMAGES))
OUT_EPS_IMAGES=$(addprefix $(outdir)/,$(IMAGES:.png=.eps))
OUT_PNG_IMAGES=$(addprefix $(outdir)/,$(IMAGES))
+OUT_ITEXI_FILES=$(addprefix $(outdir)/,$(ITELY_FILES:.itely=.itexi)
HTML_FILES = $(addprefix $(outdir)/, $(TELY_FILES:.tely=.html))
PS_FILES = $(DVI_FILES:.dvi=.ps)
HTML_FILES = $(addprefix $(outdir)/, $(TELY_FILES:.tely=.html))
PS_FILES = $(DVI_FILES:.dvi=.ps)
@cindex invisible objects
The following example demonstrates how to connect different voices
using ties. Normally, ties only connect two notes in the same
@cindex invisible objects
The following example demonstrates how to connect different voices
using ties. Normally, ties only connect two notes in the same
-voice. By introducing a tie in a different voice, and blanking a stem
-in that voice, the tie appears to cross voices:
+voice. By introducing a tie in a different voice,
+
+@lilypond[fragment,relative=2]
+ << {
+ b8~ b8\noBeam
+ } \\ {
+ b[ g8]
+ } >>
+@end lilypond
+
+@noindent
+and blanking a stem in that voice, the tie appears to cross voices:
@lilypond[fragment,relative=2,verbatim]
<< {
@lilypond[fragment,relative=2,verbatim]
<< {
\score { \notes {
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4|
\score { \notes {
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4|
- \override Staff.NoteSpacing #'stem-spacing-correction
- = #1.5
- \override Staff.StaffSpacing #'stem-spacing-correction
- = #1.5
+ \override Staff.NoteSpacing #'stem-spacing-correction = #1.5
+ \override Staff.StaffSpacing #'stem-spacing-correction = #1.5
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4|
}
c'4 e''4 e'4 b'4 |
b'4 e''4 b'4 e''4|
}
@example
\paper @{ \context @{
\ScoreContext
@example
\paper @{ \context @{
\ScoreContext
- SpacingSpanner \override #'spacing-increment = #3.0
+ \override SpacingSpanner #'spacing-increment = #3.0
You can alter the length of duration by a fraction @var{N/M}
appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This
will not affect the appearance of the notes or rests produced.
You can alter the length of duration by a fraction @var{N/M}
appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This
will not affect the appearance of the notes or rests produced.
In the following example, the first three notes take up exactly two
In the following example, the first three notes take up exactly two
+beats, but no triplet bracket is printed.
@lilypond[fragment,relative=2,verbatim]
\time 2/4
a4*2/3 gis4*2/3 a4*2/3
a4
@end lilypond
@lilypond[fragment,relative=2,verbatim]
\time 2/4
a4*2/3 gis4*2/3 a4*2/3
a4
@end lilypond
@refcommands
Dots are normally moved up to avoid staff lines, except in polyphonic
@refcommands
Dots are normally moved up to avoid staff lines, except in polyphonic
+This manual: @ref{Tuplets}
+
Program reference: @internalsref{Dots}, and @internalsref{DotColumn}.
@node Stems
Program reference: @internalsref{Dots}, and @internalsref{DotColumn}.
@node Stems
- bounds[d] =spanner->get_bound (d);
+ bounds[d] = spanner->get_bound (d);
broken[d] = bounds[d]->break_status_dir () != CENTER;
}
while (flip (&d) != LEFT);
broken[d] = bounds[d]->break_status_dir () != CENTER;
}
while (flip (&d) != LEFT);
do
{
Item *b = bounds[d];
do
{
Item *b = bounds[d];
- x_points[d] = b->relative_coordinate (common, X_AXIS);
+ x_points[d] = b->relative_coordinate (common, X_AXIS);
if (broken [d])
{
if (d == LEFT)
if (broken [d])
{
if (d == LEFT)
adjacent to a text-dynamic, and we may move closer. We
make the padding a little smaller, here.
*/
adjacent to a text-dynamic, and we may move closer. We
make the padding a little smaller, here.
*/
- Interval e =b->extent (common, X_AXIS);
+ Interval e = b->extent (common, X_AXIS);
if (e.is_empty ())
e = Interval (0,0) + b->relative_coordinate (common, X_AXIS);
if (e.is_empty ())
e = Interval (0,0) + b->relative_coordinate (common, X_AXIS);
- x_points[d] = e.center () - d * padding /3; // ugh.
+ x_points[d] = e.center () - d * padding / 3; // ugh.
- Interval e =b->extent (common, X_AXIS);
+ Interval e = b->extent (common, X_AXIS);
if (!e.is_empty ())
x_points[d] = e[-d] - d*padding;
}
if (!e.is_empty ())
x_points[d] = e[-d] - d*padding;
}
/*
should do relative to staff-symbol staff-space?
/*
should do relative to staff-symbol staff-space?
Stencil mol;
mol = Line_interface::line (me, Offset (0, starth), Offset (width, endh));
mol.add_stencil (Line_interface::line (me,
Stencil mol;
mol = Line_interface::line (me, Offset (0, starth), Offset (width, endh));
mol.add_stencil (Line_interface::line (me,
- Offset (0, -starth),
- Offset (width, -endh)));
+ Offset (0, -starth),
+ Offset (width, -endh)));
mol.translate_axis (x_points[LEFT]
- bounds[LEFT]->relative_coordinate (common, X_AXIS),
mol.translate_axis (x_points[LEFT]
- bounds[LEFT]->relative_coordinate (common, X_AXIS),
map (os.unlink, rms)
else:
output_file = re.sub (r'\.e?ps', '-page%d.png', ps_name)
map (os.unlink, rms)
else:
output_file = re.sub (r'\.e?ps', '-page%d.png', ps_name)
rmfile = base + '.png'
if os.path.isfile (rmfile):
os.unlink (rmfile)
cmd = r'''gs -s -sDEVICE=pnggray -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -q -sOutputFile=%s -dNOPAUSE -r%d %s -c quit''' % (output_file,
resolution, ps_name)
rmfile = base + '.png'
if os.path.isfile (rmfile):
os.unlink (rmfile)
cmd = r'''gs -s -sDEVICE=pnggray -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -q -sOutputFile=%s -dNOPAUSE -r%d %s -c quit''' % (output_file,
resolution, ps_name)
status = system (cmd)
signal = 0xf & status
exit_status = status >> 8
status = system (cmd)
signal = 0xf & status
exit_status = status >> 8
def is_outdated (self):
base = self.basename ()
def is_outdated (self):
base = self.basename ()
- require = ['.ly', '.tex']
+ found = os.path.exists (base + '.ly') and \
+ os.path.exists (base + '.tex')
+
if format == HTML or format == TEXINFO:
if format == HTML or format == TEXINFO:
- require.append ('.png')
- require = [os.path.exists (base + x) for x in require]
- if reduce (lambda a,b: a and b, require) \
- and (use_hash_p \
+ found = found and (os.path.exists (base + '.png')
+ or glob.glob (base + '-page*.png'))
+
+ if found and (use_hash_p \
or self.ly () == open (base + '.ly').read ()):
# TODO: something smart with target formats
# (ps, png) and m/ctimes
or self.ly () == open (base + '.ly').read ()):
# TODO: something smart with target formats
# (ps, png) and m/ctimes
uninstall-info: local-uninstall-info
install-info: $(INFO_FILES)
uninstall-info: local-uninstall-info
install-info: $(INFO_FILES)
- -$(INSTALL) -d $(DESTDIR)$(package_infodir)
- $(INFOINSTALL) local-install
- -install-info --info-dir=$(infodir) $(outdir)/$(package).info
+ $(INFO_INSTALL_COMMAND) local-install
- -install-info --info-dir=$(infodir) --remove $(outdir)/$(package).info
- $(INFOINSTALL) local-uninstall
- -rmdir $(infodir)
+ $(INFO_INSTALL_COMMAND) local-uninstall
TEXINFO_ALL_MENUS_UPDATE_EL ='\
TEXINFO_ALL_MENUS_UPDATE_EL ='\
# info stuff
INFO_INSTALL_FILES = $(wildcard $(addsuffix *, $(INFO_FILES)))
# info stuff
INFO_INSTALL_FILES = $(wildcard $(addsuffix *, $(INFO_FILES)))
-INFOINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(DESTDIR)$(package_infodir) depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_INSTALL_FILES)" -f $(stepdir)/install-out.sub.make
-
+INFO_INSTALL_COMMAND =$(if $(INFO_INSTALL_FILES),\
+ $(INSTALL) -d $(DESTDIR)$(package_infodir) ; \
+ $(MAKE) INSTALLATION_OUT_DIR=$(DESTDIR)$(package_infodir) \
+ depth=$(depth) INSTALLATION_OUT_FILES="$(INFO_INSTALL_FILES)" \
+ -f $(stepdir)/install-out.sub.make,true)