From 92119f6ef18e90c451768043e2d879abc965dcbd Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:43:35 +0000 Subject: [PATCH] lilypond-0.0.64 --- lily/staff-column.cc | 50 ++++++++++++++++++++++++++++++++++++++++++++ make/lilypond.lsm | 6 +++--- make/lilypond.spec | 4 ++-- 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/lily/staff-column.cc b/lily/staff-column.cc index 31454230ce..bfff878ea8 100644 --- a/lily/staff-column.cc +++ b/lily/staff-column.cc @@ -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(); +} + diff --git a/make/lilypond.lsm b/make/lilypond.lsm index f3dea72647..b6fee6afc2 100644 --- a/make/lilypond.lsm +++ b/make/lilypond.lsm @@ -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++ diff --git a/make/lilypond.spec b/make/lilypond.spec index fef4517805..5b6d3b19ce 100644 --- a/make/lilypond.spec +++ b/make/lilypond.spec @@ -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 -- 2.39.5