]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.9
authorfred <fred>
Fri, 1 Nov 1996 13:33:40 +0000 (13:33 +0000)
committerfred <fred>
Fri, 1 Nov 1996 13:33:40 +0000 (13:33 +0000)
hdr/score.hh [new file with mode: 0644]

diff --git a/hdr/score.hh b/hdr/score.hh
new file mode 100644 (file)
index 0000000..176d7fa
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef SCORE_HH
+#define SCORE_HH
+#include "vray.hh"
+#include "proto.hh"
+#include "plist.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_;
+    
+    /// "runtime" fields for setting up spacing    
+    PointerList<Score_column*> cols_;
+    PScore *pscore_;
+
+    /****************************************************************/
+
+    /// construction
+    void add_staff(Staff *st);
+    void set(Paperdef*);
+    Score();
+    ~Score();    
+    void add(Staff*);        
+    void set(Score_commands*);
+
+
+    void OK() const;
+    Score_column *find_col(Real,bool);
+    void process();
+    void output(String fn);
+    PCursor<Score_column*> create_cols(Real);
+    void print() const;
+    Real 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);
+    /// add #Idealspacings# to #pscore_#
+    void calc_idealspacing();
+    /** add the score wide commands (bars, breaks) to each staff so
+    they can process (typeset) them if needed */
+};
+/**
+        
+    */
+#endif