Am Dienstag, 1. März 2011, um 14:03:39 schrieb Bertrand Bordage:
> \new Staff << { \clef F f4 g g2 c1 d }
>   \figuremode {
>     <5/>4 <6 4> <4> <_+> <_!>1 <6/>
>   } >>
> 
> Figures should be aligned to whole notes.
> 
> Workaround attached.

This is really just a quick workaround, no solution, as it badly breaks as 
soon as a figure has an accidental:

\new Staff << { \clef F c1 c c \bar "|."}
  \new FiguredBass \figuremode {
    \figuredBassCenterOnNote
    \set figuredBassPlusDirection = #RIGHT
    <5>1 <6 4+ 2\+> <6>
  } >>



By default, the numbers are all aligned, irrespective of whether one of them 
has an alteration (#, b, +). With your figuredBassCenterOnNote (which is a 
good idea), that alignment of the numbers is totally lost.

Cheers,
Reinhold

-- 
------------------------------------------------------------------
Reinhold Kainhofer, [email protected], http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org

Attachment: centered-figures.pdf
Description: Adobe PDF document

figuredBassCenterOnNote = \override BassFigure #'X-offset =
#(lambda (grob)
 (let* ((paper-col (ly:grob-parent grob X))
        (elts (ly:grob-object paper-col 'elements))
        (figure grob))

   (for-each
    (lambda (idx)
      (let ((elt (ly:grob-array-ref elts idx)))
            (set! figure elt)))
    (iota (ly:grob-array-length elts)))

   (-
     (interval-center (ly:grob-robust-relative-extent figure figure X))
     (interval-center (ly:stencil-extent(ly:text-interface::print grob) X)))))

\pointAndClickOff
\header { tagline = ##f }

\new Staff << { \clef F c1 c c \bar "|."}
  \new FiguredBass \figuremode {
    \figuredBassCenterOnNote
    \set figuredBassPlusDirection = #RIGHT
    <5>1 <6 4+ 2\+> <6>
  } >>

\new Staff << { \clef F c1 c c \bar "|."}
  \new FiguredBass \figuremode {
      \set figuredBassPlusDirection = #RIGHT
    <5>1 <6 4+ 2\+> <6>
  } >>
_______________________________________________
bug-lilypond mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to