From: fred Date: Sun, 24 Mar 2002 19:31:54 +0000 (+0000) Subject: lilypond-0.0.32 X-Git-Tag: release/1.5.59~5382 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=e2eab10299688a0d578586bc93755e9ca20ebafc;p=lilypond.git lilypond-0.0.32 --- diff --git a/hdr/timedescription.hh b/hdr/timedescription.hh index 4eb5db1194..7e366ec4c2 100644 --- a/hdr/timedescription.hh +++ b/hdr/timedescription.hh @@ -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); diff --git a/src/timedescription.cc b/src/timedescription.cc index 5026656c2b..c9c3d52860 100644 --- a/src/timedescription.cc +++ b/src/timedescription.cc @@ -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 whole_per_measure) + if (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;