]> git.donarmstrong.com Git - lilypond.git/blobdiff - hdr/score.hh
release: 0.0.20
[lilypond.git] / hdr / score.hh
index 176d7fa47a0f7e55f9217eb2666f8c9346e6bf10..5363b475cb44d7c7a3114139bc82d32f044de8d8 100644 (file)
@@ -3,44 +3,42 @@
 #include "vray.hh"
 #include "proto.hh"
 #include "plist.hh"
-
+#include "moment.hh"
 
 /// the total music def of one movement
 struct Score {
     /// paper_, staffs_ and commands_ form the problem definition.
     Paperdef *paper_;
-    PointerList<Staff *> staffs_;
-    Score_commands *commands_;
+    IPointerList<Staff*> staffs_;
     
     /// "runtime" fields for setting up spacing    
-    PointerList<Score_column*> cols_;
+    IPointerList<Score_column*> cols_;
     PScore *pscore_;
 
     /****************************************************************/
 
     /// construction
-    void add_staff(Staff *st);
-    void set(Paperdef*);
-    Score();
+    Score(Paperdef*);
     ~Score();    
     void add(Staff*);        
-    void set(Score_commands*);
+
 
 
     void OK() const;
-    Score_column *find_col(Real,bool);
+    PCursor<Score_column *> find_col(Moment,bool);
     void process();
     void output(String fn);
-    PCursor<Score_column*> create_cols(Real);
+    PCursor<Score_column*> create_cols(Moment);
     void print() const;
-    Real last() const;
+    Moment last() const;
     
 private:
     void do_pcols();    
     void clean_cols();
     void distribute_commands();
-    void do_connect(PCol *c1, PCol *c2, Real d);
-    void connect_nonmus(PCol* c1, PCol *c2, Real d);
+    void do_connect(PCol *c1, PCol *c2, Real d,Real);
+    void connect(PCol* c1, PCol *c2, Real d,Real = 1.0);
+    
     /// add #Idealspacings# to #pscore_#
     void calc_idealspacing();
     /** add the score wide commands (bars, breaks) to each staff so