From c3af77d1668725b8d9f61bf2361ecd1099927f81 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 9 Oct 2006 12:37:40 +0000 Subject: [PATCH] * lily/figured-bass-engraver.cc (process_music): clear spanner if useBassFigureExtenders is not set. (listen_bass_figure): record as new event if useBassFigureExtenders not set. Fixes #103. * lily/spacing-determine-loose-columns.cc (is_loose_column): allow-loose-spacing property. --- ChangeLog | 10 ++++++++-- lily/figured-bass-engraver.cc | 31 +++++++++++++++++++------------ 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9031ef9a71..f9d9cb6c3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,16 @@ 2006-10-09 Han-Wen Nienhuys + * lily/figured-bass-engraver.cc (process_music): clear spanner if + useBassFigureExtenders is not set. + (listen_bass_figure): record as new event if + useBassFigureExtenders not set. Fixes #103. + * scm/stencil.scm (circle-stencil): don't center stencil argument, - instead: move circle. + instead: move circle. Fixes #107. * scm/define-grobs.scm (all-grob-descriptions): set - allow-loose-spacing for PaperColumn and NonMusicalPaperColumn. + allow-loose-spacing for PaperColumn and + NonMusicalPaperColumn. Kludge for #110. * lily/spaceable-grob.cc: add allow-loose-spacing property. diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index cf3e418883..b777832fcd 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -131,6 +131,8 @@ Figured_bass_engraver::start_translation_timestep () groups_[i].current_event_ = 0; continuation_ = false; + + } IMPLEMENT_TRANSLATOR_LISTENER (Figured_bass_engraver, rest); @@ -152,20 +154,22 @@ Figured_bass_engraver::listen_bass_figure (Stream_event *ev) Moment stop = now_mom () + get_event_length (ev); stop_moment_ = max (stop_moment_, stop); - SCM fig = ev->get_property ("figure"); - for (vsize i = 0; i < groups_.size (); i++) + if (to_boolean (get_property ("useBassFigureExtenders"))) { - if (!groups_[i].current_event_ - && ly_is_equal (groups_[i].number_, fig)) + SCM fig = ev->get_property ("figure"); + for (vsize i = 0; i < groups_.size (); i++) { - groups_[i].current_event_ = ev; - groups_[i].force_no_continuation_ - = to_boolean (ev->get_property ("no-continuation")); - continuation_ = true; - return; + if (!groups_[i].current_event_ + && ly_is_equal (groups_[i].number_, fig)) + { + groups_[i].current_event_ = ev; + groups_[i].force_no_continuation_ + = to_boolean (ev->get_property ("no-continuation")); + continuation_ = true; + return; + } } - } - + } new_events_.push_back (ev); } @@ -277,6 +281,9 @@ Figured_bass_engraver::add_brackets () void Figured_bass_engraver::process_music () { + if (!to_boolean (get_property ("useBassFigureExtenders"))) + clear_spanners (); + if (rest_event_) { clear_spanners (); @@ -344,7 +351,7 @@ Figured_bass_engraver::process_music () vector junk_continuations; for (vsize i = 0; i < groups_.size(); i++) { - Figure_group &group = groups_[i]; + Figure_group &group = groups_[i]; if (group.is_continuation ()) { -- 2.39.5