From 1cd3c3fbeb86ae434589ee3946ca7b85bce18699 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 22 Feb 2002 15:25:50 +0100 Subject: [PATCH] release: 1.4.11 ========== * pktrace for makefile, spec, etc. * fresh/used translator bugfix (backport from 1.5) * rest-collision fix (backport from 1.5) 1.4.10.j --- CHANGES | 12 ++++++-- Documentation/header.html.in | 1 - Documentation/windows/installing.texi | 24 +++++++++++----- Documentation/windows/lily-gs.sh | 0 Documentation/windows/registry.in | 0 VERSION | 4 +-- lily/auto-change-iterator.cc | 2 +- lily/beam-engraver.cc | 40 ++++++++------------------- lily/change-iterator.cc | 2 +- lily/include/translator-group.hh | 3 +- lily/part-combine-music-iterator.cc | 2 +- lily/rest-collision.cc | 38 ++++++++++++------------- lily/translator-group.cc | 30 ++++++++++++++------ make/lilypond.redhat.spec.in | 4 +-- make/lilypond.suse.spec.in | 4 +-- make/out/lilypond.lsm | 8 +++--- make/out/lilypond.redhat.spec | 8 +++--- make/out/lilypond.suse.spec | 8 +++--- mf/GNUmakefile | 23 +++++++++++---- stepmake/stepmake/metafont-rules.make | 9 ++++-- 20 files changed, 124 insertions(+), 98 deletions(-) delete mode 100644 Documentation/windows/lily-gs.sh delete mode 100644 Documentation/windows/registry.in diff --git a/CHANGES b/CHANGES index 69041efe70..41a91106ab 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,12 @@ +1.4.10.uu1 +========== + +* pktrace for makefile, spec, etc. + +* fresh/used translator bugfix (backport from 1.5) + +* rest-collision fix (backport from 1.5) + 1.4.10.jcn2 =========== @@ -10,9 +19,6 @@ * Documentation/footer.html.in: Comment fix. -1.4.10.jcn1 -=========== - * po: regenerate. * lilypond-1.4.10/midi2ly/lilypond-stream.cc (header): Add xgettext diff --git a/Documentation/header.html.in b/Documentation/header.html.in index 27ca0159f7..4d7ed69952 100644 --- a/Documentation/header.html.in +++ b/Documentation/header.html.in @@ -17,7 +17,6 @@ which substitutes some @AT_VARIABLES@ as well.

GNU LilyPond

-

Welcome to the home of the GNU Music Typesetter

--> diff --git a/Documentation/windows/installing.texi b/Documentation/windows/installing.texi index ecaac57d2d..232fd67d4e 100644 --- a/Documentation/windows/installing.texi +++ b/Documentation/windows/installing.texi @@ -19,14 +19,15 @@ bugreport, following the guidelines in the section on bugreports below. @section Windows binary setup -All the software you need is installed by downloading and running -@uref{http://www.lilypond.org/gnu-windows/setup.exe, setup.exe}. You -will be asked some questions. If you are unsure just click "Next". Do -not change the default install directory @file{c:/cygwin}. +If you run Windows NT, 2000 or XP, please become administrator first +(currently, installing as an ordinary user will not work). Download and +run @uref{http://www.lilypond.org/gnu-windows/setup.exe, setup.exe}. +You will be asked some questions. If you are unsure just click "Next". +Do not change the default install directory @file{c:/cygwin}. -This installs LilyPond, and Cygwin, GUILE, Python, teTeX and GSView. If -you already have some of that software under @file{c:/cygwin}, then -don't worry: nothing will be installed twice. +This installs LilyPond, and Cygwin, GUILE, Python, teTeX (MikTeX is not +supported) and GSView. If you already have some of that software under +@file{c:/cygwin}, then don't worry: nothing will be installed twice. If you want to install any of this software by hand, do this @strong{before} you run @file{setup.exe}, otherwise your LilyPond setup @@ -138,6 +139,15 @@ want to see the output of the following commands: You can also check out @uref{http://lilypond.org/wiki/?TroubleshootingWindows} for more instructions on how to make a bug report. + + +@c +@c IGNORE. +@c +@c +@c +@c +@c @ignore @subsection Additional software diff --git a/Documentation/windows/lily-gs.sh b/Documentation/windows/lily-gs.sh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Documentation/windows/registry.in b/Documentation/windows/registry.in deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/VERSION b/VERSION index 4f527b5d4a..56f2ec2691 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=4 -PATCH_LEVEL=10 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=11 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lily/auto-change-iterator.cc b/lily/auto-change-iterator.cc index d39c10d5d5..013618a54d 100644 --- a/lily/auto-change-iterator.cc +++ b/lily/auto-change-iterator.cc @@ -49,7 +49,7 @@ Auto_change_iterator::change_to (Music_iterator *it, String to_type, Translator_group * dest = it->report_to_l ()->find_create_translator_l (to_type, to_id); current->remove_translator_p (last); - dest->add_group_translator (last); + dest->add_used_group_translator (last); } else { diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index b5ebc0156f..5a52bedf02 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -45,7 +45,6 @@ protected: virtual void stop_translation_timestep (); virtual void start_translation_timestep (); virtual void finalize (); - virtual void create_grobs (); virtual void acknowledge_grob (Grob_info); virtual bool try_music (Music*); virtual void process_music (); @@ -86,12 +85,6 @@ Beam_engraver::try_music (Music *m) Direction d =c->get_span_dir (); - if (d == STOP && !beam_p_) - { - m->origin ()->warning (_ ("can't find start of beam")); - return false; - } - if (d == STOP) { SCM m = get_property ("automaticMelismata"); @@ -145,12 +138,7 @@ Beam_engraver::process_music () else e->forbid_breaks (); } -} - -void -Beam_engraver::create_grobs () -{ if (reqs_drul_[START]) { if (beam_p_) @@ -173,8 +161,6 @@ Beam_engraver::create_grobs () announce_grob (beam_p_, reqs_drul_[START]); } - reqs_drul_[STOP] = 0; - reqs_drul_[START] = 0; } void @@ -189,8 +175,6 @@ Beam_engraver::typeset_beam () delete finished_beam_info_p_; finished_beam_info_p_ =0; finished_beam_p_ = 0; - - reqs_drul_[STOP] = 0; } } @@ -198,13 +182,15 @@ void Beam_engraver::start_translation_timestep () { reqs_drul_ [START] =0; - if (beam_p_) { - SCM m = get_property ("automaticMelismata"); - SCM b = get_property ("noAutoBeaming"); - if (to_boolean (m) && to_boolean (b)) { - set_melisma (true); + reqs_drul_ [STOP] =0; + if (beam_p_) + { + SCM m = get_property ("automaticMelismata"); + SCM b = get_property ("noAutoBeaming"); + if (to_boolean (m) && to_boolean (b)) { + set_melisma (true); + } } - } } void @@ -220,14 +206,12 @@ Beam_engraver::finalize () if (beam_p_) { prev_start_req_->origin ()->warning (_ ("unterminated beam")); -#if 0 - finished_beam_p_ = beam_p_; - finished_beam_info_p_ = beam_info_p_; - typeset_beam (); -#else + + /* + we don't typeset it, (we used to, but it was commented + out. Reason unknown) */ beam_p_->suicide (); delete beam_info_p_; -#endif } } diff --git a/lily/change-iterator.cc b/lily/change-iterator.cc index 96e7affd07..433e8a17f7 100644 --- a/lily/change-iterator.cc +++ b/lily/change-iterator.cc @@ -65,7 +65,7 @@ Change_iterator::process (Moment m) Translator_group * dest = report_to_l ()->find_create_translator_l (to_type, to_id); current->remove_translator_p (last); - dest->add_group_translator (last); + dest->add_used_group_translator (last); } else { diff --git a/lily/include/translator-group.hh b/lily/include/translator-group.hh index edc09238fa..19d32472bf 100644 --- a/lily/include/translator-group.hh +++ b/lily/include/translator-group.hh @@ -48,8 +48,9 @@ public: VIRTUAL_COPY_CONS (Translator); Translator_group (Translator_group const &); Translator_group (); - void add_group_translator (Translator *trans_p); + void add_fresh_group_translator (Translator *trans_p); + void add_used_group_translator (Translator *trans_p); /// Score_register = 0, Staff_registers = 1, etc) Translator_group* ancestor_l (int l=1); diff --git a/lily/part-combine-music-iterator.cc b/lily/part-combine-music-iterator.cc index 3a871b4aeb..a9508ab7b0 100644 --- a/lily/part-combine-music-iterator.cc +++ b/lily/part-combine-music-iterator.cc @@ -103,7 +103,7 @@ Part_combine_music_iterator::change_to (Music_iterator *it, String to_type, Translator_group * dest = it->report_to_l ()->find_create_translator_l (to_type, to_id); current->remove_translator_p (last); - dest->add_group_translator (last); + dest->add_used_group_translator (last); } else { diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index 591d90b386..4f7409738c 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -193,14 +193,10 @@ Rest_collision::do_shift (Grob *me, SCM elts) { warning (_ ("too many colliding rests")); } - if (notes.size () > 1) - { - warning (_ ("too many notes for rest collision")); - } + Grob * rcol = rests[0]; - // try to be opposite of noteheads. - Direction dir = - Note_column::dir (notes[0]); + Direction dir = Note_column::dir (rcol); Grob * r = unsmob_grob (rcol->get_grob_property ("rest")); Interval restdim = r->extent (r, Y_AXIS); // ?? @@ -209,20 +205,21 @@ Rest_collision::do_shift (Grob *me, SCM elts) return SCM_UNSPECIFIED; // FIXME: staff ref'd? - Real staff_space = 1.0; + Real staff_space = Staff_symbol_referencer::staff_space (rcol); + + Real minimum_dist = gh_scm2double (me->get_grob_property ("minimum-distance")) * staff_space; - /* - assumption: ref points are the same. - */ + Grob *common = rcol; + for (int i = 0; i < notes.size (); i++) + common = common->common_refpoint (notes[i], Y_AXIS); + Interval notedim; for (int i = 0; i < notes.size (); i++) - { - Grob * stem = Note_column::stem_l (notes[i]); - Grob * head = Stem::first_head (stem); - notedim.unite (head->extent (commony, Y_AXIS)); - } + { + notedim.unite (notes[i]->extent (common, Y_AXIS)); + } Interval inter (notedim); inter.intersect (restdim); @@ -231,12 +228,13 @@ Rest_collision::do_shift (Grob *me, SCM elts) minimum_dist + dir * (notedim[dir] - restdim[-dir]) >? 0; - // FIXME - //int stafflines = 5; // rcol->rests[0]->line_count; int stafflines = Staff_symbol_referencer::line_count (me); - // hurg? - stafflines = stafflines != 0 ? stafflines : 5; - + if (!stafflines) + { + programming_error ("No staff line count ? "); + stafflines =5; + } + // move discretely by half spaces. int discrete_dist = int (ceil (dist / (0.5 *staff_space))); diff --git a/lily/translator-group.cc b/lily/translator-group.cc index 31b887671e..56df4ea378 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -67,22 +67,34 @@ Translator_group::check_removal () SCM Translator_group::add_translator (SCM list, Translator *t) { + /* + Must append, since list ordering must be preserved. + */ list = gh_append2 (list, gh_cons (t->self_scm (), SCM_EOL)); t->daddy_trans_l_ = this; t->output_def_l_ = output_def_l_; - if (Translator_group*tg = dynamic_cast (t)) - { - unsmob_translator_def (tg->definition_)->apply_property_operations (tg); - } - - t->initialize (); + return list; } + void -Translator_group::add_group_translator (Translator *t) +Translator_group::add_used_group_translator (Translator *t) { trans_group_list_ = add_translator (trans_group_list_,t); } + + +void +Translator_group::add_fresh_group_translator (Translator*t) +{ + Translator_group*tg = dynamic_cast (t); + assert (tg); + + trans_group_list_ = add_translator (trans_group_list_,t); + unsmob_translator_def (tg->definition_)->apply_property_operations (tg); + t->initialize (); + +} @@ -131,7 +143,7 @@ Translator_group::find_create_translator_l (String n, String id) { Translator_group * new_group = path[i]->instantiate (output_def_l_); - current->add_group_translator (new_group); + current->add_fresh_group_translator (new_group); current = new_group; } current->id_str_ = id; @@ -232,7 +244,7 @@ Translator_group::get_default_interpreter () t = unsmob_translator_def (this->definition_); } Translator_group *tg = t->instantiate (output_def_l_); - add_group_translator (tg); + add_fresh_group_translator (tg); if (!tg->is_bottom_translator_b ()) return tg->get_default_interpreter (); diff --git a/make/lilypond.redhat.spec.in b/make/lilypond.redhat.spec.in index 1b4342f66e..d1d86da51c 100644 --- a/make/lilypond.redhat.spec.in +++ b/make/lilypond.redhat.spec.in @@ -40,7 +40,7 @@ The documentation of LilyPond, both in HTML and PostScript. ./configure --disable-checking --prefix=%{_prefix} --enable-optimise -make all +make MAKE_PFA_FILES=1 all # make info make -C Documentation @@ -55,7 +55,7 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc strip lily/out/lilypond midi2ly/out/midi2ly -make prefix="$RPM_BUILD_ROOT%{_prefix}" install +make MAKE_PFA_FILES=1 prefix="$RPM_BUILD_ROOT%{_prefix}" install %if info=="yes" gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* diff --git a/make/lilypond.suse.spec.in b/make/lilypond.suse.spec.in index 4c3253f95b..fea102c2d8 100644 --- a/make/lilypond.suse.spec.in +++ b/make/lilypond.suse.spec.in @@ -94,7 +94,7 @@ The documentation of LilyPond, both in HTML and PostScript. CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --enable-optimise --enable-shared -make LDFLAGS=-s "CFLAGS=$RPM_OPT_FLAGS" all +make MAKE_PFA_FILES=1 LDFLAGS=-s "CFLAGS=$RPM_OPT_FLAGS" all # urg # %build doc @@ -119,7 +119,7 @@ cp tex/titledefs.tex scripts/share/lilypond/tex strip lily/out/lilypond midi2ly/out/midi2ly -make prefix="$RPM_BUILD_ROOT%{_prefix}" install +make MAKE_PFA_FILES=1 prefix="$RPM_BUILD_ROOT%{_prefix}" install %{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/fonts/source/public/lilypond (cd $RPM_BUILD_ROOT/usr/share/lilypond \ diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index a33184f58c..dfd1c5ab50 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.4.10 -Entered-date: 29DEC01 +Version: 1.4.11 +Entered-date: 22FEB02 Description: @BLURB@ Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.4.10.tar.gz + 1000k lilypond-1.4.11.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.4.10.tar.gz + 1000k lilypond-1.4.11.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.redhat.spec b/make/out/lilypond.redhat.spec index 49c8993248..75b77053d0 100644 --- a/make/out/lilypond.redhat.spec +++ b/make/out/lilypond.redhat.spec @@ -1,11 +1,11 @@ %define info yes Name: lilypond -Version: 1.4.10 +Version: 1.4.11 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.10.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.11.tar.gz Summary: Create and print music notation URL: http://www.cs.uu.nl/~hanwen/lilypond BuildRoot: /tmp/lilypond-install @@ -40,7 +40,7 @@ The documentation of LilyPond, both in HTML and PostScript. ./configure --disable-checking --prefix=%{_prefix} --enable-optimise -make all +make MAKE_PFA_FILES=1 all # make info make -C Documentation @@ -55,7 +55,7 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc strip lily/out/lilypond midi2ly/out/midi2ly -make prefix="$RPM_BUILD_ROOT%{_prefix}" install +make MAKE_PFA_FILES=1 prefix="$RPM_BUILD_ROOT%{_prefix}" install %if info=="yes" gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* diff --git a/make/out/lilypond.suse.spec b/make/out/lilypond.suse.spec index d3475368a1..32318f452e 100644 --- a/make/out/lilypond.suse.spec +++ b/make/out/lilypond.suse.spec @@ -14,11 +14,11 @@ Distribution: SuSE Linux 7.0 (i386) Name: lilypond -Version: 1.4.10 +Version: 1.4.11 Release: 2 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.10.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.4.11.tar.gz # music notation software for.. ? Summary: A program for printing sheet music. URL: http://www.lilypond.org/ @@ -94,7 +94,7 @@ The documentation of LilyPond, both in HTML and PostScript. CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --enable-optimise --enable-shared -make LDFLAGS=-s "CFLAGS=$RPM_OPT_FLAGS" all +make MAKE_PFA_FILES=1 LDFLAGS=-s "CFLAGS=$RPM_OPT_FLAGS" all # urg # %build doc @@ -119,7 +119,7 @@ cp tex/titledefs.tex scripts/share/lilypond/tex strip lily/out/lilypond midi2ly/out/midi2ly -make prefix="$RPM_BUILD_ROOT%{_prefix}" install +make MAKE_PFA_FILES=1 prefix="$RPM_BUILD_ROOT%{_prefix}" install %{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/fonts/source/public/lilypond (cd $RPM_BUILD_ROOT/usr/share/lilypond \ diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 46156dedea..9af2a11212 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -2,7 +2,7 @@ depth = .. -STEPMAKE_TEMPLATES=metafont metapost asciifont install install-out +STEPMAKE_TEMPLATES=metafont asciifont install install-out include $(depth)/make/stepmake.make AF_FILES = $(wildcard *.af) @@ -25,13 +25,11 @@ LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log)) TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex)) AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm) $(addsuffix .afm, $(CM_AFM_FILES))) TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm)) -PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa)) -PFB_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfb)) # Make tfm files first, log files last, # so that normally log files aren't made twice -ALL_GEN_FILES= $(TFM_FILES) $(TEXTABLES) $(AFM_FILES) $(TFM_FILES) $(PFA_FILES) $(LOG_FILES) +ALL_GEN_FILES= $(TFM_FILES) $(TEXTABLES) $(AFM_FILES) $(TFM_FILES) $(LOG_FILES) #PRE_INSTALL=$(MAKE) "$(ALL_GEN_FILES)" INSTALLATION_DIR=$(datadir)/mf/ @@ -48,11 +46,24 @@ INSTALLATION_OUT_FILES2=$(AFM_FILES) INSTALLATION_OUT_DIR3=$(datadir)/tfm INSTALLATION_OUT_FILES3=$(TFM_FILES) -# comment these out if you don't want pfa's to be generated -# or you don't have metapost. +# comment this out if you don't want pfa's to be generated +# +#MAKE_PFA_FILES=1 +# +# making pfas takes a lot of CPU time. Let's skip it for now. + + +ifdef MAKE_PFA_FILES + +PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa)) +ALL_GEN_FILES += $(PFA_FILES) INSTALLATION_OUT_DIR4=$(datadir)/pfa INSTALLATION_OUT_FILES4=$(PFA_FILES) +pfa: $(PFA_FILES) + +endif + export MFINPUTS:=.:$(MFINPUTS) default: $(ALL_GEN_FILES) diff --git a/stepmake/stepmake/metafont-rules.make b/stepmake/stepmake/metafont-rules.make index de8bb4da4c..2a0de50f12 100644 --- a/stepmake/stepmake/metafont-rules.make +++ b/stepmake/stepmake/metafont-rules.make @@ -28,10 +28,15 @@ $(outdir)/%.$(XPM_RESOLUTION)pk: $(outdir)/%.$(XPM_RESOLUTION)gf -$(outdir)/%.pfb: - pktrace $(basename $(@F)) +$(outdir)/%.pfa: %.mf + pktrace --simplify --keep-trying $(basename $(@F)) + mv $(basename $(@F)).pfa $(outdir) + +$(outdir)/%.pfb: %.mf + pktrace --simplify --keep-trying $(basename $(@F)) mv $(basename $(@F)).pfb $(outdir) + #%.afm: # $(SHELL) $(depth)/buildscripts/tfmtoafm.sh $(shell basename $@ .afm) # mv $@ $@.in -- 2.39.5