]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.50
authorfred <fred>
Sun, 24 Mar 2002 19:39:03 +0000 (19:39 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:39:03 +0000 (19:39 +0000)
lily/dynamic-reg.cc
lily/include/dynamic-reg.hh
lily/include/staff-info.hh
lily/text-reg.cc

index e0e38a7a595fc950559b74754ab6e103199f02e3..4088a3be704102ef3b3529c769bc3b6ff9ff2448 100644 (file)
@@ -13,6 +13,7 @@
 #include "lookup.hh"
 #include "paper-def.hh"
 #include "score-column.hh"
+#include "staff-sym.hh"
 
 Dynamic_register::Dynamic_register()
 {
@@ -55,7 +56,7 @@ Dynamic_register::process_requests()
 
            assert (!dynamic_p_) ; // TODO
                
-           dynamic_p_ = new Text_item(td_p, 10 ); // TODO!
+           dynamic_p_ = new Text_item(td_p);
            announce_element(Staff_elem_info(dynamic_p_, dreq_l));
        } else if (dreq_l->span_dynamic()) {
 
@@ -71,7 +72,7 @@ Dynamic_register::process_requests()
            } else if (span_l->spantype == Span_req::START) {
                cresc_req_l_ = span_l;
                assert(!new_cresc_p);
-               new_cresc_p  = new Crescendo(10);
+               new_cresc_p  = new Crescendo;
                new_cresc_p->grow_dir_i_ = span_l->dynamic_dir_i_;
                announce_element(Staff_elem_info(new_cresc_p, span_l));
            }
@@ -90,7 +91,9 @@ Dynamic_register::process_requests()
 void
 Dynamic_register::pre_move_processing()
 {
+    Staff_symbol* s_l = get_staff_info().staff_sym_l_;
     if (dynamic_p_) {
+       dynamic_p_->set_staffsym(s_l);
        typeset_element(dynamic_p_);
        dynamic_p_ = 0;
     }
@@ -99,7 +102,7 @@ Dynamic_register::pre_move_processing()
            to_end_cresc_p_->right_dyn_b_=true;
        
        to_end_cresc_p_->right_col_l_ = get_staff_info().musical_l()->pcol_l_;
+       to_end_cresc_p_->set_staffsym(s_l);
        typeset_element(to_end_cresc_p_);
        to_end_cresc_p_ = 0;
     }
index 164ac6af3d927cd56de1df460f2584bf1083e770..8b39f4fe11dbb6afcfeaac2bfeb5a11bcc0c076e 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "register.hh"
 
-struct Dynamic_register : Request_register {
+class Dynamic_register : public Request_register {
     int dir_i_;
     Text_item * dynamic_p_;
     Crescendo * to_end_cresc_p_;
@@ -20,15 +20,17 @@ struct Dynamic_register : Request_register {
     Span_dynamic_req * cresc_req_l_;
     Array<Dynamic_req*> dynamic_req_l_arr_;
     /* ************** */
+public:
     Dynamic_register();
     ~Dynamic_register();
+    NAME_MEMBERS(Dynamic_register);
+protected:
     virtual bool try_request(Request *req_l);
     virtual void process_requests();
     virtual void pre_move_processing();
     virtual void post_move_processing();
     virtual bool acceptable_request_b(Request*) const;
     virtual void set_feature(Features);
-    NAME_MEMBERS(Dynamic_register);
 };
 
 #endif // DYNAMIC_REG_HH
index 2229c99ab0e81f1b88774094bf76b60ee67dc1d2..2fc4fd79265696b7a0351d4d0bb2594b0bdc787b 100644 (file)
@@ -14,7 +14,7 @@
 struct Staff_info {
     int *c0_position_i_l_;
     Staff_walker *walk_l_;
-    
+    Staff_symbol*staff_sym_l_;
     
     /// when is now?
     Time_description const *time_C_;
index 5c61f6179dcc97e0451ae291efaec10b29fa1705..6c86fad828fc1c4be60b43cdc1e7bab83fa04802 100644 (file)
@@ -32,9 +32,8 @@ Text_register::try_request(Request*req_l)
 void
 Text_register::process_requests()
 {
-    
     if (text_req_l_) {
-       text_p_ = new Text_item(text_req_l_, 10); // UGH
+       text_p_ = new Text_item(text_req_l_); // UGH
        announce_element(Staff_elem_info(text_p_, text_req_l_));
     }
 }
@@ -43,7 +42,10 @@ Text_register::pre_move_processing()
 {
     if (text_p_) {
        text_p_->dir_i_ = dir_i_;
+       Staff_symbol* s_l = get_staff_info().staff_sym_l_;
+       text_p_->set_staffsym(s_l);
        typeset_element(text_p_);
+           
        text_p_ = 0;
     }
 }