From f8f39cc1859172628bbaeda76521736c62ac6d9a Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 11 Dec 2000 22:17:51 +0100 Subject: [PATCH] patch::: 1.3.116.jcn2 1.3.116.jcn2 ============ * Bugfix: generic text-spanner: set padding property to non-empty value. * Bugfix: only assume making deep split html documentation when makeinfo --version 4.0.jcn2 is available. Although the documentation should now build with plain makeinfo 4.0, some links will be broken. --- Generated by janneke@gnu.org, From = lilypond-1.3.116.jcn1, To = lilypond-1.3.116.jcn2 usage cd lilypond-source-dir; patch -E -p1 < lilypond-1.3.116.jcn2.diff Patches do not contain automatically generated files or (urg) empty directories, i.e., you should rerun autoconf, configure --- CHANGES | 16 +++++++++- Documentation/user/GNUmakefile | 56 ++++++++++++++++++++++------------ VERSION | 2 +- lily/dynamic-engraver.cc | 3 +- lily/text-spanner-engraver.cc | 13 ++++++++ lily/text-spanner.cc | 18 +++++++++-- scm/element-descriptions.scm | 4 ++- 7 files changed, 85 insertions(+), 27 deletions(-) diff --git a/CHANGES b/CHANGES index afa7ea9766..0ea170ea0e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,18 @@ ---- ../lilypond-1.3.116/CHANGES Fri Dec 8 14:40:11 2000 +--- ../lilypond-1.3.116.jcn1/CHANGES Sat Dec 9 23:51:08 2000 +++ b/CHANGES Mon Dec 11 22:17:51 2000 +@@ -1,3 +1,12 @@ +1.3.116.jcn2 +============ + +* Bugfix: generic text-spanner: set padding property to non-empty value. + +* Bugfix: only assume making deep split html documentation when +makeinfo --version 4.0.jcn2 is available. Although the documentation +should now build with plain makeinfo 4.0, some links will be broken. + + 1.3.116.jcn1 + ============ + --- ../lilypond-1.3.116/CHANGES Fri Dec 8 14:40:11 2000 ++ b/CHANGES Sat Dec 9 23:51:08 2000 @@ -1,3 +1,8 @@ 1.3.116.jcn1 diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index e1b1d32f0d..e380492e38 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -29,18 +29,48 @@ dvi: $(DVI_FILES) ps: $(PS_FILES) -# Cancel default info rule + +# Cancel default info generation rule. We want to generate info from +# `.nexi', making sure we don't run LilyPond for inline pictures, when +# generating info. $(outdir)/%.info: $(outdir)/%.texi default: -# info is now built by default via texinfo-rules -# we must build them by default, otherwise they get built during make install +# Info is now built by default via texinfo-rules. +# We must build them by default, otherwise they get built during make install info: $(INFO_FILES) +# The next version of makeinfo should split html files into their own +# directory. For now available only as patches from +# http://appel.lilypond.org/software +SPLITTING_MAKEINFO = $(shell makeinfo --version | grep 4.0.jcn2) + + +# Generic rule using % twice not possible? +# $(outdir)/%/%.html: $(outdir)/%.texi +$(outdir)/lilypond/lilypond.html: $(outdir)/lilypond.texi + -$(MAKEINFO) --force --output=$@ --html $< +# we want footers even if website builds (or is built) partly + $(deep-footify) $(sort $(wildcard $(outdir)/$(*F)/*.html)) + +$(outdir)/lilypond-internals/lilypond-internals.html: $(outdir)/lilypond-internals.texi + -$(MAKEINFO) --force --output=$@ --html $< +# we want footers even if website builds (or is built) partly + $(deep-footify) $(sort $(wildcard $(outdir)/$(*F)/*.html)) + +ifneq ($(SPLITTING_MAKEINFO),) + DEEP_HTML_FILES = $(outdir)/lilypond/lilypond.html $(outdir)/lilypond-internals/lilypond-internals.html +else + +DEEP_HTML_FILES = $(outdir)/lilypond.html $(outdir)/lilypond-internals.html + +endif + + local-WWW: $(HTML_FILES) $(datafiles) $(PS_GZ_FILES) $(DEEP_HTML_FILES) $(SHELL) $(buildscript-dir)/install-info-html.sh --dir=$(outdir) lilypond lilypond-internals $(MAKE) footify @@ -48,10 +78,13 @@ local-WWW: $(HTML_FILES) $(datafiles) $(PS_GZ_FILES) $(DEEP_HTML_FILES) cp -f $(outdir)/*.png $(outdir)/lilypond $(MAKE) deep-footify + # $(PYTHON) $(step-bindir)/ls-latex.py --title 'User documentation' \ # $(DOC_FILES) $(TEX_FILES) $(TELY_FILES) \ # | sed "s!$(outdir)/!!g" > $(outdir)/index.html + + $(outdir)/%.bib: %.bib ln -f $< $@ # we want footers even if website builds (or is built) partly @@ -71,24 +104,7 @@ $(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: -ln $(outdir)/lilypond-internals.texi $(outdir)/lilypond-internals.nexi else $(outdir)/lilypond-internals.nexi $(outdir)/lilypond-internals.texi: -## -cd $(outdir) && lilypond ../$(src-depth)/ly/generate-documentation -##programming error: Improbable offset for translation: setting to zero (Continuing; cross thumbs) -##programming error: Molecule::add_at_edge: adding empty molecule. (Continuing; cross thumbs) touch $@ touch $(outdir)/$(*F).nexi endif -# Generic rule not possible? -# $(outdir)/%/%.html: $(outdir)/%.texi -$(outdir)/lilypond/lilypond.html: $(outdir)/lilypond.texi - -$(MAKEINFO) --force --output=$@ --html $< -# we want footers even if website builds (or is built) partly - $(deep-footify) $(sort $(wildcard $(outdir)/$(*F)/*.html)) - - -$(outdir)/lilypond-internals/lilypond-internals.html: $(outdir)/lilypond-internals.texi - -$(MAKEINFO) --force --output=$@ --html $< -# we want footers even if website builds (or is built) partly - $(deep-footify) $(sort $(wildcard $(outdir)/$(*F)/*.html)) - - diff --git a/VERSION b/VERSION index 153b797949..de2382f6f8 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=116 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 98e7d17c5f..66f2e4a732 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -254,7 +254,8 @@ Dynamic_engraver::create_grobs () // urg. Can't set this into Text_spanner, because we // only want this for (de)crescendi spanners. - cresc_p_->set_grob_property ("padding", gh_double2scm (1)); + if (!gh_number_p (cresc_p_->get_grob_property ("padding"))) + cresc_p_->set_grob_property ("padding", gh_double2scm (1)); daddy_trans_l_->set_property (start_type + "Spanner", SCM_UNDEFINED); diff --git a/lily/text-spanner-engraver.cc b/lily/text-spanner-engraver.cc index e004d14ae2..858aa18da9 100644 --- a/lily/text-spanner-engraver.cc +++ b/lily/text-spanner-engraver.cc @@ -117,6 +117,19 @@ Text_spanner_engraver::create_grobs () { current_req_ = req_drul_[START]; span_ = new Spanner (get_property ("TextSpanner")); + + /* Don't remove me without testing. + + Urg. It seems that a padding property with empty cdr + ``(padding)'' is set somewhere, overriding the default + TextSpanner properties. Also, my gdb won't print *span_ + or span_->mutable_property_alis_ here */ + if (1)//!gh_number_p (span_->get_grob_property ("padding"))) + { + span_->remove_grob_property ("padding"); + span_->set_grob_property ("padding", gh_double2scm (0)); + } + Side_position::set_axis (span_, Y_AXIS); Grob *e = unsmob_grob (get_property ("currentMusicalColumn")); span_->set_bound (LEFT, e); diff --git a/lily/text-spanner.cc b/lily/text-spanner.cc index 5280703bad..20d0dd1758 100644 --- a/lily/text-spanner.cc +++ b/lily/text-spanner.cc @@ -37,7 +37,16 @@ Text_spanner::brew_molecule (SCM smob) /* Ugh, must be same as Hairpin::brew_molecule. */ +#if 0 Real padding = gh_scm2double (me->get_grob_property ("padding")); +#else + /* something seems seriously broken, somewhere, when used by + text-spanner-engraver. For dynamic-engraver, all seems fine */ + Real padding = 0; + if (me->get_grob_property ("padding") != SCM_EOL + && gh_number_p (me->get_grob_property ("padding"))) + padding = gh_scm2double (me->get_grob_property ("padding")); +#endif Real broken_left = spanner->get_broken_left_end_align (); Real width = spanner->spanner_length (); width -= broken_left; @@ -50,7 +59,9 @@ Text_spanner::brew_molecule (SCM smob) Item *b = spanner->get_bound (d); broken[d] = b->break_status_dir () != CENTER; - if (!broken [d]) + /* This should be switchable, only for (de)cresc. not for generic + text spanners */ + if (padding && !broken [d]) { Interval e = b->extent (b, X_AXIS); @@ -63,8 +74,9 @@ Text_spanner::brew_molecule (SCM smob) } while (flip (&d) != LEFT); - // FIXME: ecs tells us - width += gh_scm2double (me->get_grob_property ("width-correct")); + // FIXME: ecs tells us -- only for (de)cresc. spanners + if (padding) + width += gh_scm2double (me->get_grob_property ("width-correct")); /* /Ugh */ diff --git a/scm/element-descriptions.scm b/scm/element-descriptions.scm index 73e7776671..5a212867ac 100644 --- a/scm/element-descriptions.scm +++ b/scm/element-descriptions.scm @@ -554,8 +554,10 @@ (font-shape . italic) (type . "line") ;;; urg + ;; this would be for (de)cresc. text spanners ;;;(padding . 1.0) - (width-correct . -1) ;ughr + ;;;(padding . 0.0) + (width-correct . -1) ;ughr, only for (de)cres. spanners (direction . 1) (meta . ,(grob-description "TextSpanner" text-spanner-interface font-interface)) )) -- 2.39.5