]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/score.hh
release: 0.1.8
[lilypond.git] / lily / include / score.hh
index cf86ad342a7a8ca4f28cf12398b98ccae8aa9dbf..e99e448a056b4cb9211855d8244c4db18eff3803 100644 (file)
@@ -1,7 +1,7 @@
 /*
   score.hh -- declare Score
 
-  source file of the LilyPond music typesetter
+  source file of the GNU LilyPond music typesetter
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 #define SCORE_HH
 
 #include "varray.hh"
-#include "proto.hh"
+#include "lily-proto.hh"
 #include "plist.hh"
 #include "moment.hh"
 #include "assoc.hh"
 #include "string.hh"
+#include "input.hh"
+#include "lily-proto.hh"
 
 /// the total music def of one movement
-struct Score {
+class Score: public Input {
+public:
     /// paper_, staffs_ and commands_ form the problem definition.
     Paper_def *paper_p_;
     Midi_def *midi_p_;
-    IPointerList<Staff*> staffs_;
-    
-    /// "runtime" fields for setting up spacing    
-    IPointerList<Score_column*> cols_;
-    PScore *pscore_p_;
+    Music * music_p_;
+    Paper_score *pscore_p_;
+    Audio_score* audio_score_p_;
 
-    char const *defined_ch_C_;
     int errorlevel_i_;
     
     /* *************************************************************** */
 
     /// construction
     Score();
+    Score (Score const&);
     ~Score();    
-    void add(Staff*);
 
     /// do everything except outputting to file
     void process();
     
     /// output to file
-    void output(String fn);
+    void output (String fn);
 
-    
     ///
-    void set(Midi_def* midi_p);
+    void set (Midi_def* midi_p);
     ///
-    void set(Paper_def* midi_p);
+    void set (Paper_def* midi_p);
 
-    // standard
-    void OK() const;
     void print() const;
 
-    /// find a column.
-    PCursor<Score_column *> find_col(Moment,bool);
-    
-    /// when does the last *musical* element finish?
-    Moment last() const;
-
 private:
+    void run_translator (Global_translator*);
+    void midi_output();
     void paper_output();
-    void setup_music();
-    void process_music();
+
     /// do midi stuff
     void midi();
 
@@ -71,9 +63,7 @@ private:
     void paper();
 
     // utils:
-    PCursor<Score_column*> create_cols(Moment, PCursor<Score_column*> &last);
-
-    Score(Score const&){}
+    PCursor<Score_column*> create_cols (Moment, PCursor<Score_column*> &last);
 
     /**
       make the pcol_l_ fields of each Score_column point to the correct PCol,