From: Jan Nieuwenhuizen Date: Mon, 20 Mar 2000 08:51:49 +0000 (+0100) Subject: patch::: 1.3.36.jcn2 X-Git-Tag: release/1.3.37~3 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=659deec35ec15c1477ae26203887e9bac9a6ead0;p=lilypond.git patch::: 1.3.36.jcn2 1.3.36.jcn2 =========== * Bugfix: broken (de)crescendi on a dynamic-line-spanner. * Bugfix: compilation dynamic-engraver. --- diff --git a/CHANGES b/CHANGES index 651c19451b..df1d574cf1 100644 --- 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 3ffada1af9..f77757c131 100644 --- 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. diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 26753ccdee..2c11a70504 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -100,6 +100,7 @@ class Dynamic_engraver : public Engraver Drul_array 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; } }