]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.64
authorfred <fred>
Sun, 24 Mar 2002 19:43:35 +0000 (19:43 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:43:35 +0000 (19:43 +0000)
lily/staff-column.cc
make/lilypond.lsm
make/lilypond.spec

index 31454230ce67a99510e18daaf6c03e09ca1e472a..bfff878ea8d512d0c9336a3448b0e4c5ddc0cfa7 100644 (file)
@@ -19,6 +19,7 @@
 #include "item.hh"
 #include "p-col.hh"
 #include "request-column.hh"
+#include "grouping.hh"
 
 void
 Staff_column::OK() const
@@ -182,3 +183,52 @@ Staff_column::musical_column_l()
 {
     return req_col_l_->musical_column_l_;
 }
+
+void
+Staff_column::update_time(Time_description &time_, 
+                   Rhythmic_grouping *default_grouping)
+{
+    // first all meter changes
+    for (int i=0; i < timing_req_l_arr_.size(); i++) {
+       Timing_req * tr_l = timing_req_l_arr_[i];
+       if (tr_l->meterchange()) {
+           int b_i=tr_l->meterchange()->beats_i_;
+           int o_i = tr_l->meterchange()->one_beat_i_;
+           if (! time_.allow_meter_change_b() )
+               tr_l->warning("Meter change not allowed here");
+           else{
+               time_.set_meter(b_i, o_i);
+               if (default_grouping)
+                   *default_grouping = 
+                   Rhythmic_grouping(MInterval(0,Moment(b_i, o_i)), b_i);
+           }
+       }
+    }
+    
+    // then do the rest
+    for (int i=0; i < timing_req_l_arr_.size(); i++) {
+       Timing_req * tr_l = timing_req_l_arr_[i];
+       if (tr_l->partial()) {
+           Moment m = tr_l->partial()->duration_;
+           String error = time_.try_set_partial_str(m);
+           if (error != "") {
+               tr_l->warning(error);
+           } else 
+               time_.setpartial(m);
+       } else if (tr_l->barcheck() && time_.whole_in_measure_) {
+           tr_l ->warning( "Barcheck failed");
+
+           time_.whole_in_measure_ = 0; // resync
+           time_.error_b_ = true;
+       } else if (tr_l->cadenza()) {
+           time_.set_cadenza(tr_l->cadenza()->on_b_);
+       } else if (tr_l->measuregrouping()) {
+           if (default_grouping)
+               *default_grouping = parse_grouping(
+                   tr_l->measuregrouping()->beat_i_arr_,
+                   tr_l->measuregrouping()->elt_length_arr_);
+       }
+    }
+    time_.OK();
+}   
+
index f3dea72647a6467cf58bcd8f14209ad6089ebf7b..b6fee6afc2e0661084a3a819005f4ee499edc54a 100644 (file)
@@ -2,8 +2,8 @@
 
 Begin3
 Title: LilyPond
-Version: 0.0.63
-Entered-date: 05/15/97
+Version: 0.0.64
+Entered-date: 05/16/97
 Description: LilyPond is a program which converts a music-script (mudela) into
 TeX output, or MIDI to produce multi-staff scores. Features include multiple
 meters, clefs, keys, lyrics, versatile input-language, cadenzas
@@ -13,7 +13,7 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: pcnov095.win.tue.nl /pub/lilypond/  
-       300k lilypond-0.0.63.tar.gz
+       300k lilypond-0.0.64.tar.gz
 Alternate-site: 
 Original-site: 
 Platform: unix/win32, GNU C++
index fef4517805b566f9bfec6164acaa3f6d7b08d484..5b6d3b19ce1e34e186eb1f3b3edf5c0c1167f99d 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.0.63
+Version: 0.0.64
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.0.63.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.0.64.tar.gz
 Summary: A preprocessor to make TeX typeset music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>