]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.4.11 release/1.4.11
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 22 Feb 2002 14:25:50 +0000 (15:25 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 22 Feb 2002 14:25:50 +0000 (15:25 +0100)
==========

* pktrace for makefile, spec, etc.

* fresh/used translator bugfix (backport from 1.5)

* rest-collision fix (backport from 1.5)

1.4.10.j

20 files changed:
CHANGES
Documentation/header.html.in
Documentation/windows/installing.texi
Documentation/windows/lily-gs.sh [deleted file]
Documentation/windows/registry.in [deleted file]
VERSION
lily/auto-change-iterator.cc
lily/beam-engraver.cc
lily/change-iterator.cc
lily/include/translator-group.hh
lily/part-combine-music-iterator.cc
lily/rest-collision.cc
lily/translator-group.cc
make/lilypond.redhat.spec.in
make/lilypond.suse.spec.in
make/out/lilypond.lsm
make/out/lilypond.redhat.spec
make/out/lilypond.suse.spec
mf/GNUmakefile
stepmake/stepmake/metafont-rules.make

diff --git a/CHANGES b/CHANGES
index 69041efe703046dd0f4263223f2f49ad9de886a0..41a91106ab7f239049cb127044cd6c8c2e9dc18c 100644 (file)
--- 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
index 27ca0159f73d131ddaccdff281af77eaf0f5c617..4d7ed699527d58d613ae308cf59f7ffc9a010ae6 100644 (file)
@@ -17,7 +17,6 @@ which substitutes some @AT_VARIABLES@ as well.
     <h1>
     GNU LilyPond
     </h1>
-    <h2>Welcome to the home of the GNU Music Typesetter</h2>
    </td>
   </tr>
 -->
index ecaac57d2d389a862cb5af003ffbf5353565c68e..232fd67d4ebb37c16737668cdd1907aaae9e5d60 100644 (file)
@@ -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 (file)
index e69de29..0000000
diff --git a/Documentation/windows/registry.in b/Documentation/windows/registry.in
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/VERSION b/VERSION
index 4f527b5d4ad640a5b3635b8afe4dc955461a72e9..56f2ec2691511601cc4f4ba417c3f6d2830b0cd7 100644 (file)
--- 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.
index d39c10d5d5b3e98de8ee56bc7a56f3d58b2f50e8..013618a54d54d5840be997ad03dc367c017084c7 100644 (file)
@@ -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
       {
index b5ebc0156f728605754722b184c3418bb11ecb94..5a52bedf026908242f1fdd1c388fd4a35fb684a1 100644 (file)
@@ -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
     }
 }
 
index 96e7affd0741d01717ed08479ca35315fe43f278..433e8a17f71e6e732d7e01fcb6fc96b9c61f7fa4 100644 (file)
@@ -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
       {
index edc09238fad7a466d2e13607513ecf40acd3bf41..19d32472bf5b699c9aae939539825d6b831990a6 100644 (file)
@@ -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);
index 3a871b4aeb3496ec5dab67b74f5bc5b07da460cd..a9508ab7b0c2f015046eab1fccb8a462186420aa 100644 (file)
@@ -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
       {
index 591d90b3868998dc9cd58be9e715bd74139f5ec7..4f7409738ce9801b28e47763bd63417a411f7de2 100644 (file)
@@ -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)));
 
index 31b887671effbd5039a372d509fa37e9f03b736e..56df4ea3788617f7623e8aa6f210585d0a95167c 100644 (file)
@@ -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<Translator_group*> (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<Translator_group*> (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 ();
index 1b4342f66e88e2aedef5841004fdd5f4946c8b50..d1d86da51cef7225e18035e207189905fa704413 100644 (file)
@@ -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/*
index 4c3253f95b89fda31867f5ea446417b49e0aba49..fea102c2d8dc74becaa8e0710f3e9ff855c98d9b 100644 (file)
@@ -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 \
index a33184f58cb284e52b755caef9e8f63c5db6ef69..dfd1c5ab506272debe90f6b7abd605732818ace0 100644 (file)
@@ -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
index 49c8993248007681f9926085f0618bcd8e54257d..75b77053d0e201db853b868c0a96fc6b7cd41349 100644 (file)
@@ -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/*
index d3475368a1dba9236122b80a107b9b5af268fceb..32318f452edbc9077444974b3ed12703e257400c 100644 (file)
 
 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 \
index 46156dedea51a6db412d8fe9d9524cfba4351512..9af2a11212f0972d420d7fe815e928dcf6d6c204 100644 (file)
@@ -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)
index de8bb4da4cd785a0602a560f7f957c6dab12e9b6..2a0de50f12969af1fc167afeb78d8709a3103ead 100644 (file)
@@ -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