2004-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * Documentation/user/GNUmakefile
+ ($(outdir)/lilypond/lilypond.html): posix conforming globs. Link
+ iso. copy.
+
+ * stepmake/stepmake/metafont-rules.make: remove --keep-trying.
+
+ * lily/separating-group-spanner.cc (set_spacing_rods): add padding.
+
* mf/,scripts/,make/,ly/,scm/: remove AsciiScript remnants.
* lily/lily-guile.cc (robust_scm2double): new function. Use throughout.
Bugs that are not fault of LilyPond are documented here.
+@subsection Bison 1.875
+
+There is a bug in bison-1.875: compilation fails with "parse error
+before `goto'" in line 4922 due to a bug in bison. To fix, either
+recompile bison 1.875 with the following fix:
+
+@example
+ $ cd lily; make out/parser.cc
+ $ vi +4919 out/parser.cc
+ # append a semicolon to the line containing "__attribute__ ((__unused__))
+ # save
+ $ make
+@end example
+
@subsection Linking to kpathsea
If kpathsea and the corresponding header files are installed in some
mkdir -p $(dir $@)
$(MAKEINFO) --output=$(outdir)/lilypond --html $<
$(MAKEINFO) -I $(outdir) --output=$@ --html --no-split --no-headers $<
- -cp -f $(outdir)/*.{png,ly} $(outdir)/lilypond
+ -ln -f $(outdir)/*.png $(outdir)/*.ly $(outdir)/lilypond/
$(outdir)/lilypond-internals/lilypond-internals.html: $(outdir)/lilypond-internals.texi
mkdir -p $(dir $@)
BUG HUNTERS/SUGGESTIONS
+Matthias Kilian
Eric Wurbel
John Williams
José Luis Cruz
class Separating_group_spanner
{
+ static void find_rods (Item*, SCM, Real);
public:
static void add_spacing_unit (Grob*me, Item*);
- static void find_rods (Item*, SCM);
static bool has_interface (Grob*);
static void find_musical_sequences (Grob*);
#include "group-interface.hh"
void
-Separating_group_spanner::find_rods (Item * r, SCM next)
+Separating_group_spanner::find_rods (Item * r, SCM next, Real padding)
{
/*
*/
if (Separation_item::width (r).is_empty ())
return;
-
+
+
for(; gh_pair_p (next); next = ly_cdr (next))
{
Item *l = dynamic_cast<Item*> (unsmob_grob (ly_car( next)));
rod.item_l_drul_[LEFT] = lb;
rod.item_l_drul_[RIGHT] = r;
- rod.distance_ = li[RIGHT] - ri[LEFT];
+ rod.distance_ = li[RIGHT] - ri[LEFT] + padding;
rod.add_to_cols ();
}
}
rod.item_l_drul_[LEFT] =l;
rod.item_l_drul_[RIGHT]=r;
- rod.distance_ = li[RIGHT] - ri[LEFT];
+ rod.distance_ = li[RIGHT] - ri[LEFT] + padding;
rod.add_to_cols ();
break;
Separating_group_spanner::set_spacing_rods (SCM smob)
{
Grob*me = unsmob_grob (smob);
+ Real padding = robust_scm2double (me->get_grob_property ("padding"), 0.1);
for (SCM s = me->get_grob_property ("elements"); gh_pair_p (s) && gh_pair_p (ly_cdr (s)); s = ly_cdr (s))
{
Item *rb
= dynamic_cast<Item*> (r->find_prebroken_piece (LEFT));
- find_rods (r, ly_cdr (s));
+ find_rods (r, ly_cdr (s), padding);
if (rb)
- find_rods (rb, ly_cdr (s));
+ find_rods (rb, ly_cdr (s), padding);
}
return SCM_UNSPECIFIED ;
minimumVerticalExtent = #'(0 . 2.5)
extraVerticalExtent = ##f
+ SeparatingGroupSpanner \override #'padding = #0.8
verticalExtent = ##f
}
pfa_warning:
-ifneq ($(basename $(MFTRACE)),mftrace)
+ifneq ($(notdir $(MFTRACE)),mftrace)
@echo ""
@echo "ERROR: mftrace not found"
@echo ""
$(outdir)/%.pfa: %.mf
- $(MFTRACE) $(MFTRACE_FLAGS) -I $(outdir)/ --pfa --simplify --keep-trying $(basename $(@F))
+ $(MFTRACE) $(MFTRACE_FLAGS) -I $(outdir)/ --pfa --simplify $(basename $(@F))
mv $(basename $(@F)).pfa $(outdir)
$(outdir)/%.pfb: %.mf
- $(MFTRACE) $(MFTRACE_FLAGS) -I $(outdir)/ --pfa --pfb --simplify --keep-trying $(basename $(@F))
+ $(MFTRACE) $(MFTRACE_FLAGS) -I $(outdir)/ --pfa --pfb --simplify $(basename $(@F))
-mv $(basename $(@F)).pfa $(outdir)
mv $(basename $(@F)).pfb $(outdir)