]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.30
authorfred <fred>
Sun, 24 Mar 2002 19:31:14 +0000 (19:31 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:31:14 +0000 (19:31 +0000)
hdr/staff.hh
src/complexstaff.cc

index cee6d27a19a15db3d7ac2049e42edd713f6c2f47..6f43293b264c6baa188181a1b8401b1eee200059 100644 (file)
@@ -16,7 +16,7 @@ struct Staff {
     PScore *pscore_l_;
     String define_spot_str_;
 
-    /****************************************************************/
+    /* *************************************************************** */
 
     void add(PointerList<Voice*> &s);
     void do_commands(PointerList<Input_command*> score_wide,
@@ -34,10 +34,10 @@ struct Staff {
     Paperdef*paper()const;
     
     /// interpret all requests and add items to #destination#.
-    void process();
     /**
     This routines calls virtual functions from Staff, to delegate the
     interpretation of requests to a derived class of Staff */
+    void process();
 
     
     void setup_staffcols();
@@ -51,13 +51,13 @@ struct Staff {
     /// remove unused cols
     void clean_cols() ;
     
-    Staff_column * get_col(Moment,bool);
+    Staff_column *get_col(Moment,bool); // ugh
 
     Staff();
 
-    /****************************************************************
+    /* 
       VIRTUALS
-    ****************************************************************/
+      */
 
     virtual void set_output(PScore * destination)=0;
     virtual void walk()=0;    
index 7e21bf225213e2ff5b825ed90d808bb8e6c5a9bc..d5d44362d9d5fce98d027fbcc60dcabef5cd9bc2 100644 (file)
@@ -8,19 +8,20 @@
 #include "complexstaff.hh"
 #include "sccol.hh" 
 #include "complexwalker.hh"
-#include "main.hh"
+#include "score.hh"
+#include "pscore.hh"
+#include "staffsym.hh"
 
 
-
-Complex_column::Complex_column(Score_column*s, Complex_staff *rs)
+Complex_column::Complex_column(Score_column*s, Complex_staff *staff_l)
     : Staff_column(s)
 {
-    staff_l_ = rs;
+    staff_l_ = staff_l;
 }
 
 Complex_staff::Complex_staff()
 {
-    theline_l_ = 0;
+    pstaff_l_ = 0;
 }
 
 void
@@ -57,7 +58,21 @@ void
 Complex_staff::walk()
 {
     for (Complex_walker sc(this); sc.ok(); sc++) {
-       sc.col()->setup_requests();// TODO
+       sc.col()->setup_requests();
        sc.process();
     }
+    Staff_symbol *span_p = new Staff_symbol(5);
+
+       
+    Score_column* col_last
+       =score_l_->find_col(score_l_->last(), false);
+    Score_column* col_first=
+       score_l_->find_col(0, false);
+    col_first->pcol_l_->set_breakable();
+    col_last->pcol_l_->set_breakable();
+       
+    span_p->set_extent( col_first->pcol_l_->postbreak_p_,
+                      col_last->pcol_l_->prebreak_p_);
+
+    pscore_l_->typeset_spanner(span_p, pstaff_l_);
 }