From: fred Date: Tue, 26 Mar 2002 21:46:04 +0000 (+0000) Subject: lilypond-1.1.21 X-Git-Tag: release/1.5.59~2641 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9b7d68326e0dc6d238d5ef46caba3658f8445ad1;p=lilypond.git lilypond-1.1.21 --- diff --git a/NEWS b/NEWS index 5df616f269..8cb80336cd 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,15 @@ -pl 20 +pl 20.jcn1 + - interstaff slurs v0: preludes-1.ly + - warnings for silly interbeam settings + +pl 20.hwn1 + - inclusion of WIP article about LilyPond. + - L.Mozart sinfonfia + - bf: [c8 [c8 c8] + +******** +pl 20 pl 19.jcn5 - interstaff beams v0: see beam-interstaff.ly and wtk1-fugue2.ly @@ -93,9 +103,6 @@ pl 16.jcn2 pl 16.jcn1 - resurrected po-stuff -******** -pl 16 - ********* pl 16 diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 3165cf6660..44fb146c47 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -29,7 +29,22 @@ Beam_engraver::do_try_music (Music *m) { if (Beam_req * c = dynamic_cast(m)) { - reqs_drul_[c->spantype_] = c; + Direction d =c->spantype_; + + /* + Perhaps not print warnings ? + */ + if (d == START && beam_p_) + { + m->warning ("Already have a Beam"); + return false; + } + if (d == STOP && !beam_p_) + { + m->warning ("No Beam to end"); + return false; + } + reqs_drul_[d ] = c; return true; } return false; @@ -63,19 +78,15 @@ Beam_engraver::do_process_requests () if (prop.isnum_b ()) beam_p_->quantisation_ = (Beam::Quantisation)(int)prop; - // silly try at interstaff beam // must set minVerticalAlign == maxVerticalAlign to get sane results // see input/test/beam-interstaff.ly prop = get_property ("minVerticalAlign", 0); if (prop.isnum_b ()) - beam_p_->vertical_align_f_ = prop; + beam_p_->vertical_align_drul_[MIN] = prop; prop = get_property ("maxVerticalAlign", 0); if (prop.isnum_b ()) - { - beam_p_->vertical_align_f_ += (Real)prop; - beam_p_->vertical_align_f_ /= (Real)2; - } + beam_p_->vertical_align_drul_[MAX] = prop; announce_element (Score_element_info (beam_p_, reqs_drul_[START])); } @@ -115,9 +126,13 @@ void Beam_engraver::do_removal_processing () { typeset_beam (); - finished_beam_p_ = beam_p_; - finished_grouping_p_ = grouping_p_; - typeset_beam (); + if (beam_p_) + { + warning ("Unfinished beam"); + finished_beam_p_ = beam_p_; + finished_grouping_p_ = grouping_p_; + typeset_beam (); + } } void