]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.34
authorfred <fred>
Sun, 24 Mar 2002 19:33:01 +0000 (19:33 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:33:01 +0000 (19:33 +0000)
hdr/score.hh
src/inputscore.cc

index b9555b20369a9fba995f031d674049d21e7fc243..bab7020ccc66de659a7bfa354b229c2fb3fcc119 100644 (file)
@@ -21,7 +21,7 @@
 struct Score {
     /// paper_, staffs_ and commands_ form the problem definition.
     Paperdef *paper_p_;
-    Mididef *midi_p_;
+    Midi_def *midi_p_;
     IPointerList<Staff*> staffs_;
     
     /// "runtime" fields for setting up spacing    
@@ -34,7 +34,7 @@ struct Score {
     /* *************************************************************** */
 
     /// construction
-    Score(Paperdef*);
+    Score();
     ~Score();    
     void add(Staff*);
 
@@ -44,11 +44,11 @@ struct Score {
     /// output to file
     void output(String fn);
 
-    /// do midi stuff
-    void midi();
-
+    
+    ///
+    void set(Midi_def* midi_p);
     ///
-    void set(Mididef* midi_p);
+    void set(Paperdef* midi_p);
 
     // standard
     void OK() const;
@@ -61,8 +61,15 @@ struct Score {
     Moment last() const;
 
 private:
+    void paper_output();
     void setup_music();
     void process_music();
+    /// do midi stuff
+    void midi();
+
+    /// do paper stuff
+    void paper();
+
     // utils:
     PCursor<Score_column*> create_cols(Moment);
 
index 82d7a6c96ab1ef67382f646896cd9ff2121b4f77..6fca9dc8eb8db3aaf96f58788d561b794b60992c 100644 (file)
@@ -30,7 +30,7 @@ Input_score::set(Paperdef*p)
 }
 
 void
-Input_score::set(Mididef* midi_p)
+Input_score::set(Midi_def* midi_p)
 {
     delete midi_p_;
     midi_p_ = midi_p;
@@ -39,6 +39,7 @@ Input_score::set(Mididef* midi_p)
 Input_score::Input_score(Input_score const&s)
 {
     paper_p_ = (s.paper_p_)? new Paperdef(*s.paper_p_) :0;
+    midi_p_ = (s.midi_p_)? new Midi_def(*s.midi_p_) : 0;
     defined_ch_c_l_ = s.defined_ch_c_l_;
     errorlevel_i_ = s.errorlevel_i_;
     score_wide_music_p_ = (s.score_wide_music_p_) ?
@@ -48,12 +49,13 @@ Input_score::Input_score(Input_score const&s)
 Score*
 Input_score::parse()
 {
-    Paperdef* paper_p=new Paperdef(*paper_p_);
-    Score *s_p = new Score(paper_p);
+    Score *s_p = new Score;
     s_p->defined_ch_c_l_= defined_ch_c_l_;
     s_p->errorlevel_i_ = errorlevel_i_;
-    s_p->set(midi_p_);
-    midi_p_ = 0;
+    if (midi_p_)
+       s_p->set(new Midi_def(*midi_p_));
+    if (paper_p_)
+       s_p->set(    new Paperdef(*paper_p_));
 
     for (iter_top(staffs_,i); i.ok(); i++) {
        Staff* staf_p=i->parse(s_p, score_wide_music_p_);