]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.64
authorfred <fred>
Sun, 24 Mar 2002 19:43:37 +0000 (19:43 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:43:37 +0000 (19:43 +0000)
lily/include/pulk-voices.hh
lily/score.cc

index e6f9be9c1180bbedf038cfc61f8257876e1fc64d..9f01f4419e1f39627dcb4937c15b13a40e721c1e 100644 (file)
 
 #ifndef PULK_VOICES_HH
 #define PULK_VOICES_HH
+
 #include "pqueue.hh"
 #include "plist.hh"
 #include "moment.hh"
 #include "proto.hh"
 #include "lily-proto.hh"
 #include "voice.hh"
-
+#include "time-description.hh"
 
 
 struct Voice_l { 
@@ -36,12 +37,14 @@ class Pulk_voices
 PQueue< Voice_l > voice_pq_;
     Pointer_list< Pulk_voice * > pulk_p_list_;
     Link_list<Staff *> staff_l_list_;
+    Array < Time_description > time_arr_;
     Moment next_mom_;
 
 public:
     Moment last_;
+    bool time_checks_failed_b() const;
     bool ok() const;
-    Moment next_mom() { return next_mom_; }
+    Moment next_mom() const;
     Pulk_voices(Link_list<Staff*> const&);
     void get_aligned_request(Request_column *col_l );
 };
index 8ec3049f487d661ed99b00f36aa6e3c229a7e453..e04f20468cedfd84af6d2bfee72cfbd6a9ccc847 100644 (file)
@@ -36,8 +36,11 @@ Score::setup_music()
        input_.error("Need to have music in a score.");
     }
     
+    Moment previous_mom = -1;
     while (pulk.ok()) {
+
        Moment w= pulk.next_mom();
+       assert(w > previous_mom);
        Request_column* rcol_p = new Request_column( staffs_ );
 
        Score_column* c1 = new Score_column(w);
@@ -54,7 +57,10 @@ Score::setup_music()
        rcol_p->set_score_cols(c1, c2);
        rcols_.bottom().add(rcol_p);
        pulk.get_aligned_request( rcol_p );
+       previous_mom =w;
     }
+
+    errorlevel_i_ |= pulk.time_checks_failed_b(); 
 }
 
 void
@@ -80,7 +86,11 @@ Score::paper()
 {
     if (!paper_p_)
        return;
-    
+    if( errorlevel_i_){
+       // should we? hampers debugging. 
+       warning("Errors found, /*not processing score*/");
+//     return;
+    }
     pscore_p_ = new PScore(paper_p_);
     do_cols();