]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/key-engraver.cc
release: 1.3.46
[lilypond.git] / lily / key-engraver.cc
index 88ca9e102cf3b2b12ba04caf7221bf913616c0a3..6d01fb2b6de72d73ec96049f9890a9a362314933 100644 (file)
@@ -36,9 +36,9 @@ Key_engraver::create_key ()
       item_p_ = new Key_item;
       Staff_symbol_referencer_interface st (item_p_);
       st.set_interface ();
+
       
-      item_p_->set_elt_property ("break-aligned", SCM_BOOL_T); // ugh
-      
+      item_p_->set_elt_property ("break-align-symbol", ly_symbol2scm ("Key_item")); 
       item_p_->set_elt_property ("multi-octave",
                                 gh_bool2scm (key_.multi_octave_b_));
       
@@ -94,13 +94,7 @@ Key_engraver::acknowledge_element (Score_element_info info)
   else if (dynamic_cast<Bar *> (info.elem_l_)
           && accidental_idx_arr_.size ()) 
     {
-      bool def =  (!item_p_);
       create_key ();
-      if (!def)
-       {
-         item_p_->set_elt_property ("visibility-lambda",
-                                   ly_eval_str ("all-visible"));
-       }
     }
 
 }
@@ -119,6 +113,10 @@ Key_engraver::do_pre_move_processing ()
 { 
   if (item_p_) 
     {
+      if (keyreq_l_)
+       item_p_->set_elt_property ("visibility-lambda",
+                                  scm_eval (ly_symbol2scm  ("all-visible")));
+      
       typeset_element (item_p_);
       item_p_ = 0;
     }
@@ -126,7 +124,7 @@ Key_engraver::do_pre_move_processing ()
 
 
 /*
-  TODO Slightly hairy.  
+  TODO.  Use properties; and this is too hairy.
  */
 void
 Key_engraver::read_req (Key_change_req const * r)