bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Figured bass and rehearsal marks


From: Neil Puttock
Subject: Re: Figured bass and rehearsal marks
Date: Sun, 1 Jan 2012 16:40:41 +0000

On 1 January 2012 16:08, Xavier Scheuer <address@hidden> wrote:
> On 1 January 2012 16:19, Nicolas Sceaux <address@hidden> wrote:
>> Hi,
>>
>> LilyPond from today's git.
>>
>> ReahearsalMarks, with DOWN direction, are placed between the lower staff
>> and its figured bass, whereas one would expect the mark to appear below
>> the figured bass.
>>
>> Example:
>>
>> […]
>>
>> A possible workaround:
>>
>> (Is there a better way?)
>
> Not better, but another workaround: you could add "Mark_engraver" to
> the FiguredBass context (with RehearsalMark #'direction = #DOWN).
>
> The right solution would be to extend "Staff_collecting_engraver" so
> that it handles "non-staff" as well (lyrics, chords, figured bass and
> Dynamics context).

It's not the Staff_collecting_engraver that's the problem here.  The
after-line-breaking callback for RehearsalMark
(ly:side-position-interface::move-to-extremal-staff) ignores axis
groups which have no horizontal extent (such as the VerticalAxisGroup
for the FiguredBass context).

I'm not sure whether adding a non-empty extent will cause problems
elsewhere, but the following seems to work:

\version "2.15.24"
\score {
  <<
    \new Voice {
      \clef "bass" d,1 g
      \once \override Score . RehearsalMark #'break-visibility =
#begin-of-line-invisible
      \once \override Score . RehearsalMark #'direction = #DOWN
      \once \override Score . RehearsalMark #'self-alignment-X = #RIGHT
      \mark\markup { On reprend le Prelude. }
    }
    \figures { <4>2 <_+> }
  >>
  \layout {
    \context {
      \FiguredBass
      \override BassFigureAlignment #'X-extent = #'(0 . 0)
    }
  }
}

Then there's also the crude hack of nobbling the after-line-breaking callback,

\override Score.RehearsalMark #'after-line-breaking = ##t

though this might lead to collisions.

Cheers,
Neil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]