From 5aae92d54a6ecc9bd17e376192bc9b0cb6135b43 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 12 Feb 1997 09:23:37 +0000 Subject: [PATCH] lilypond-0.0.30 --- NEWS | 29 +++++++++++++++++++++++++---- src/staff.cc | 32 ++++++++++++++++++++------------ 2 files changed, 45 insertions(+), 16 deletions(-) diff --git a/NEWS b/NEWS index 932246fcb9..0646a2661d 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,27 @@ +pl 30 + +Features + - better multivoice spacing + - move rest in multivoice staff + - errors in TeX output now warnings + - progress indicator + - music processing speedup. +Internal + - make spanner for staffsym; scrap Line_pstaff + - scrap simplestaff (Rhythmic_staff temporarily disabled) + - docxx 3.0 format comments + - split register source files + - hardcoded dimensions compile time + - Lookup::tex_hairpin +Bugs + - non G-clef clefs + - script junking (2x) + - empty files + - beam::center (plet position!) + pl 29 - - multiplatform Makefile - - context errors: bugfixes + - multiplatform Makefile (JN) + - context errors: bugfixes (JN) pl 28 @@ -9,8 +30,8 @@ Internal Doc - Request_register Bugfix - - Script.cc : float exception - - Request::Request(Request) copying of definition pointer + - Script.cc : float exception (MB) + - Request::Request(Request) copying of definition pointer (JN) - cleaned dependencies for broken spanners - stupid typo in Staff_elem::post_processing() - init of hpos in PCol::PCol diff --git a/src/staff.cc b/src/staff.cc index d6ddda8f3b..be98be9fc2 100644 --- a/src/staff.cc +++ b/src/staff.cc @@ -77,18 +77,21 @@ Staff::clean_cols() Staff_column * Staff::get_col(Moment w, bool mus) { - Score_column* sccol_l = score_l_->find_col(w,mus); - - iter_top(cols,i); + iter_top(cols,i); for (; i.ok(); i++) { - - if (*i->score_column_l_ > *sccol_l) // too far + if (i->when() == w) { + if (i->musical_b() == mus) { + assert( score_l_->find_col(w,mus).ptr() == i->score_column_l_); + return i; + } + else if (!mus) + break; + } else if (i->when() > w) break; - if (sccol_l == i->score_column_l_) - return i; } - /* post: *sc > *->score_column_l_ || !i.ok() */ + + Score_column* sccol_l = score_l_->find_col(w,mus); Staff_column* newst = create_col(sccol_l); if (!i.ok()) { @@ -98,6 +101,7 @@ Staff::get_col(Moment w, bool mus) if (mus) { i.insert(newst); + return newst; } @@ -136,18 +140,22 @@ void Staff::setup_staffcols() { for (iter_top(voices,i); i.ok(); i++) { + Moment now = i->start; for (iter_top(i->elts,j); j.ok(); j++) { - - Staff_column *s_l=get_col(now,true); + + Staff_column *s_l= get_col(now, true); + assert(now == s_l->when()); s_l->add(j); now += j->duration; } - } + OK(); set_time_descriptions(); } + + void Staff::set_time_descriptions() { @@ -182,7 +190,7 @@ Staff::OK() const i++; for (; i.ok(); j++,i++) { if ( j->when() == i->when()) - assert(!j->mus() && i->mus()); + assert(!j->musical_b() && i->musical_b()); else assert(j->when () < i->when() ); } -- 2.11.4.GIT