]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.36.jcn2
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 20 Mar 2000 08:51:49 +0000 (09:51 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 20 Mar 2000 08:51:49 +0000 (09:51 +0100)
1.3.36.jcn2
===========

* Bugfix: broken (de)crescendi on a dynamic-line-spanner.

* Bugfix: compilation dynamic-engraver.

CHANGES
VERSION
lily/dynamic-engraver.cc

diff --git a/CHANGES b/CHANGES
index 651c19451b492cb6cabcde6c9e590f83fabb3408..df1d574cf1888dda07c01448b0c66e4078a491be 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+1.3.36.jcn2
+===========
+
+* Bugfix: broken (de)crescendi on a dynamic-line-spanner.
+
+* Bugfix: compilation dynamic-engraver.
+
 1.3.36.jcn1
 ===========
 
diff --git a/VERSION b/VERSION
index 3ffada1af9785b2027cad3e0ba3e35a776b30544..f77757c131de374e330ce76b85158a2c4e796f89 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=36
-MY_PATCH_LEVEL=jcn1
+MY_PATCH_LEVEL=jcn2
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 26753ccdee91b5f7ad10d8d29e136ef5168599a6..2c11a70504d4a33babe8e453d7b3ef5ee1738e5a 100644 (file)
@@ -100,6 +100,7 @@ class Dynamic_engraver : public Engraver
   Drul_array<Span_req*> span_req_l_drul_;
 
   Dynamic_line_spanner* line_spanner_;
+  Dynamic_line_spanner* finished_line_spanner_;
   Moment last_request_mom_;
 
   Note_column* pending_column_;
@@ -138,6 +139,7 @@ Dynamic_engraver::Dynamic_engraver ()
   text_p_ = 0;
   finished_cresc_p_ = 0;
   line_spanner_ = 0;
+  finished_line_spanner_ = 0;
   span_start_req_l_ = 0;
   cresc_p_ =0;
   pending_column_ = 0;
@@ -223,14 +225,14 @@ Dynamic_engraver::do_process_music ()
        with the hairpin.  When axis-group code is in place, the \p
        should move below the hairpin, which is probably better?
        */
-      if (now > last_request_mom_)
+      if (now_mom () > last_request_mom_)
 #else
       /*
        During a (de)crescendo, pending request will not be cleared,
        and a line-spanner will always be created, as \< \! are already
        two requests.
        */
-      if (now > last_request_mom_ && !span_start_req_l_)
+      if (now_mom () > last_request_mom_ && !span_start_req_l_)
 #endif 
        {
          for (int i = 0; i < pending_element_arr_.size (); i++)
@@ -261,6 +263,8 @@ Dynamic_engraver::do_process_music ()
                e->set_elt_property ("minimum-space", s);
            }
          pending_element_arr_.clear ();
+         finished_line_spanner_ = line_spanner_;
+         line_spanner_ = 0;
        }
     } 
 
@@ -415,11 +419,12 @@ Dynamic_engraver::typeset_all ()
       * break when group of dynamic requests ends
       * break now 
       * continue through piece */
-  if (line_spanner_ && last_request_mom_ < now_mom ())
+  //  if (line_spanner_ && last_request_mom_ < now_mom ())
+  if (finished_line_spanner_)
     {
-      side_position (line_spanner_).add_staff_support ();
-      typeset_element (line_spanner_);
-      line_spanner_ = 0;
+      side_position (finished_line_spanner_).add_staff_support ();
+      typeset_element (finished_line_spanner_);
+      finished_line_spanner_ = 0;
     }
 }