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 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.
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)
@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]
<< {
\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|
}
@example
\paper @{ \context @{
\ScoreContext
- SpacingSpanner \override #'spacing-increment = #3.0
+ \override SpacingSpanner #'spacing-increment = #3.0
@} @}
@end example
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
-beats:
+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
-
@refcommands
Dots are normally moved up to avoid staff lines, except in polyphonic
@seealso
+This manual: @ref{Tuplets}
+
Program reference: @internalsref{Dots}, and @internalsref{DotColumn}.
@node Stems
Direction d = LEFT;
do
{
- bounds[d] =spanner->get_bound (d);
+ bounds[d] = spanner->get_bound (d);
broken[d] = bounds[d]->break_status_dir () != CENTER;
}
while (flip (&d) != LEFT);
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)
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);
- x_points[d] = e.center () - d * padding /3; // ugh.
+ x_points[d] = e.center () - d * padding / 3; // ugh.
}
else
{
- 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;
}
/*
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,
- 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),
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)
-
+
status = system (cmd)
signal = 0xf & status
exit_status = status >> 8
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:
- 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
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
uninstall-info:
- -install-info --info-dir=$(infodir) --remove $(outdir)/$(package).info
- $(INFOINSTALL) local-uninstall
- -rmdir $(infodir)
+ $(INFO_INSTALL_COMMAND) local-uninstall
TEXINFO_ALL_MENUS_UPDATE_EL ='\
# 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)