From: Reinhold Kainhofer Date: Wed, 24 Nov 2010 15:50:23 +0000 (+0100) Subject: FiguredBass: Extenders for figs of different width should stop at same position X-Git-Tag: release/2.13.41-1~1^2~16 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=736a3513783c7411eb9feeab2d98363da9dc7ec5;p=lilypond.git FiguredBass: Extenders for figs of different width should stop at same position FB extenders use the extent of the hidden figure grob, so extenders of different figures might stop at different positions. Ideally, the note of the associated staff should be retrieved and used as the position to stop the extender. However, FB can also exist standalone without any attached staff. So, as a workaround, this patch simply sets the text of all hidden figures to 0, so they all have the same extent and all extenders will stop at the same position. --- diff --git a/input/regression/figured-bass-continuation-end-position.ly b/input/regression/figured-bass-continuation-end-position.ly new file mode 100644 index 0000000000..3456b3cc2f --- /dev/null +++ b/input/regression/figured-bass-continuation-end-position.ly @@ -0,0 +1,18 @@ +\version "2.13.41" + +\header { + texidoc = "Figured bass extender for figures of different width (e.g. with +alteration or two-digit figures) should still stop at the same position." + +} + +\figures { + \set useBassFigureExtenders = ##t + \set figuredBassAlterationDirection = #RIGHT + <6 5+ 3>4. + <6 5+ 2>4. + r4 + <12 5>4. + <12 5>4. + r4 +} \ No newline at end of file diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index 3f173c9986..b4c92f8862 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -459,8 +459,12 @@ Figured_bass_engraver::create_grobs () { /* UGH should connect to the bass staff, and get the note heads. + For now, simply set the hidden figure to a default value to + ensure the extenders of different figures always end at the same + position, e.g. in <12 5> <12 5> */ group.figure_item_->set_property ("transparent", SCM_BOOL_T); + group.figure_item_->set_property ("text", ly_string2scm ("0")); group.continuation_line_->set_bound (RIGHT, group.figure_item_); }