]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.32
authorfred <fred>
Sun, 24 Mar 2002 19:31:54 +0000 (19:31 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:31:54 +0000 (19:31 +0000)
hdr/timedescription.hh
src/timedescription.cc

index 4eb5db119464916f1e8b8b362de77f1ab399280c..7e366ec4c2b12ca86fd8e5f69c79328c6d0dfe46 100644 (file)
@@ -7,32 +7,32 @@
 #ifndef tdes_HH
 #define tdes_HH
 
-#include "real.hh"
 #include "moment.hh"
 
 /// full info on where we are
 struct Time_description {
-    Moment when;
+    Moment when_;
 
     /// if true, no bars needed, no reduction of whole_in_measure
     bool cadenza_b_;
     
     /// current measure info
-    Moment whole_per_measure;
+    Moment whole_per_measure_;
 
     /// where am i 
-    Moment whole_in_measure;
+    Moment whole_in_measure_;
 
     /// how long is one beat?
-    Moment one_beat;
+    Moment one_beat_;
 
     /// idem
-    int bars;
+    int bars_i_;
 
     /* *************** */
     void set_cadenza(bool);
     void OK() const;
-    Time_description(Moment, const Time_description*);
+    Time_description();
+    void add(Moment dt);
     String str()const;
     void print() const;
     void setpartial(Moment p);
index 5026656c2bb052341538b5e01fbf3ba9fbae2808..c9c3d52860866797be8f30f283774f44da35dbfc 100644 (file)
@@ -8,10 +8,10 @@ Time_description::str()const
     if (cadenza_b_)
        s+=String( " (cadenza) ");
     s+= "at ";
-    s+=when;
-    s+="\nmeter " + String(whole_per_measure/one_beat) +":" +
-       String(Rational(Rational(1)/one_beat));
-    s+= "\nposition "+String( bars) + ":"+ whole_in_measure +"\n}\n";
+    s+=when_;
+    s+="\nmeter " + String(whole_per_measure_/one_beat_) +":" +
+       String(Rational(Rational(1)/one_beat_));
+    s+= "\nposition "+String( bars_i_) + ":"+ whole_in_measure_ +"\n}\n";
     return s;
 }
 
@@ -25,9 +25,9 @@ Time_description::OK() const
 {
 #ifdef NDEBUG
     if (!cadenza_b_)
-       assert(whole_in_measure < whole_per_measure);
-    assert(0 <= whole_in_measure);
-    assert(one_beat);
+       assert(whole_in_measure_ < whole_per_measure_);
+    assert(0 <= whole_in_measure_);
+    assert(one_beat_);
 #endif
 }
 
@@ -35,33 +35,33 @@ void
 Time_description::set_cadenza(bool b)
 {
     if (cadenza_b_ && !b) {
-       if (whole_in_measure) {
-           bars ++;
-           whole_in_measure = 0;
+       if (whole_in_measure_) {
+           bars_i_ ++;
+           whole_in_measure_ = 0;
        }
     }
     cadenza_b_ = b ;
 }
 
-Time_description::Time_description(Moment dt, Time_description const *prev)
+Time_description::Time_description()
 {
-    if (prev) {
-       assert(dt >= Rational(0));
-       *this = *prev;
-       when +=  dt;
-       whole_in_measure += dt;
+    whole_per_measure_ = 1;
+    whole_in_measure_ =0;
+    one_beat_ = Moment(1,4);
+    when_ = 0;
+    bars_i_ = 0;
+    cadenza_b_ = false;
+}
+void
+Time_description::add(Moment dt)
+{
+    assert(dt >= Rational(0));
+    when_ +=  dt;
+    whole_in_measure_ += dt;
        
-       while ( !cadenza_b_ && whole_in_measure >= whole_per_measure ) {
-           whole_in_measure -= whole_per_measure;
-           bars ++;
-       }
-    } else {                           // default 4/4
-       whole_per_measure = 1;
-       whole_in_measure =0;
-       one_beat = Moment(1,4);
-       when = 0.0;
-       bars = 0;
-       cadenza_b_ = false;
+    while ( !cadenza_b_ && whole_in_measure_ >= whole_per_measure_ ) {
+       whole_in_measure_ -= whole_per_measure_;
+       bars_i_ ++;
     }
 }
 
@@ -69,39 +69,39 @@ void
 Time_description::set_meter(int l, int o)
 {
     assert(o);
-    one_beat = Rational(1)/Moment(o);
-    whole_per_measure = Moment(l) * one_beat;
-    if(whole_in_measure)
+    one_beat_ = Rational(1)/Moment(o);
+    whole_per_measure_ = Moment(l) * one_beat_;
+    if(whole_in_measure_)
        error_t("Meterchange should be at start of measure", *this);
 }
 
 void
 Time_description::setpartial(Moment p)
 {
-    if (when)
+    if (when_)
        error_t ("Partial measure only allowed at beginning.", *this);
-    if (p<Rational(0)||p > whole_per_measure)
+    if (p<Rational(0)||p > whole_per_measure_)
        error_t ("Partial measure has incorrect size", *this);
-    whole_in_measure = whole_per_measure - p;
+    whole_in_measure_ = whole_per_measure_ - p;
 }
 
 Moment
 Time_description::barleft()
 {
     assert(!cadenza_b_);
-    return whole_per_measure-whole_in_measure;
+    return whole_per_measure_-whole_in_measure_;
 }
 
 int
 Time_description::compare(Time_description &t1, Time_description&t2)
 {
-    int i = sign(t1.when-t2.when);
+    int i = sign(t1.when_-t2.when_);
 
     if (!i) {
-       assert(t1.bars==t2.bars);
-       assert(t1.one_beat == t2.one_beat);
-       assert(t1.whole_in_measure == t2.whole_in_measure);
-       assert(t1.whole_per_measure == t2.whole_per_measure);
+       assert(t1.bars_i_==t2.bars_i_);
+       assert(t1.one_beat_ == t2.one_beat_);
+       assert(t1.whole_in_measure_ == t2.whole_in_measure_);
+       assert(t1.whole_per_measure_ == t2.whole_per_measure_);
     }
 
     return i;