]> git.donarmstrong.com Git - lilypond.git/commitdiff
(stop_translation_timestep): remember tie
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 28 Jul 2004 20:04:43 +0000 (20:04 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 28 Jul 2004 20:04:43 +0000 (20:04 +0000)
definition, so \override works as expected.

ChangeLog
lily/tie-engraver.cc

index cc7046637b20cd5f2747118150818937a56af925..991b89c24e45f5331e91d29e5fdff4041f628c5b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-07-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/tie-engraver.cc (stop_translation_timestep): remember tie
+       definition, so \override works as expected.
+
        * lily/measure-grouping-engraver.cc: clarify
 
 2004-07-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
index 8c418564753480dbbd6ed64c5e7ed9c08ebce8e9..7d2b83d82c4ef5aab50359e6a1c2269981c29951 100644 (file)
@@ -11,6 +11,7 @@
 #include "tie.hh"
 #include "context.hh"
 
+#include "protected-scm.hh"
 #include "spanner.hh"
 #include "tie-column.hh"
 #include "engraver.hh"
@@ -35,6 +36,7 @@ class Tie_engraver : public Engraver
   Link_array<Grob> now_heads_;
   Link_array<Grob> heads_to_tie_;
   Link_array<Grob> ties_;
+  Protected_scm tie_start_definition_;
   
   Spanner * tie_column_;
   
@@ -74,7 +76,9 @@ void
 Tie_engraver::process_music ()
 {
   if (event_)
-    context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
+    {
+      context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
+    }
 }
 
 void
@@ -97,7 +101,8 @@ Tie_engraver::acknowledge_grob (Grob_info i)
              && ly_c_equal_p (right_mus->get_property ("pitch"),
                             left_mus->get_property ("pitch")))
            {
-             Grob * p = make_spanner ("Tie", last_event_->self_scm ());
+             Grob * p = new Spanner  (tie_start_definition_);
+             announce_grob (p, last_event_->self_scm ());
              Tie::set_interface (p); // cannot remove yet!
          
              Tie::set_head (p, LEFT, th);
@@ -145,6 +150,7 @@ Tie_engraver::stop_translation_timestep ()
   
   if (event_)
     {
+      tie_start_definition_ = updated_grob_properties (context (), ly_symbol2scm ("Tie"));
       heads_to_tie_ = now_heads_;
       last_event_ = event_;
     }