lilypond-user
[Top][All Lists]
Advanced

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

Re: mark text (not markup) to fill Rest bars?


From: Rutger Hofman
Subject: Re: mark text (not markup) to fill Rest bars?
Date: Wed, 7 Dec 2011 11:35:42 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Thunderbird/3.1.15

On 12/06/2011 03:10 AM, Keith OHara wrote:
Rutger Hofman<rutger<at>  cs.vu.nl>  writes:

Thanks, this works well for multimeasure rests. But I would also like
the same mark to work for another staff that has music in it. With these
overrides, that looks weird: the markup is stretched over an empty
space, the music starts after it.

Is there some trickery to find out whether the mark has rests following it?
Or is there some trickery to selectively disable these overrides by
hand, e.g. when there are notes?

The mark does not use much trickery, it is in concept part of the
column of bar lines, and the extra-spacing-* settings define how much
space the mark gets to the other columns, whether these columns
contain notes or bar line.

Unfortunately RehearsalMark spacing has a few small bugs, such as
forgetting its space reservation after a couple columns of notes have
gone by.  Probably, though, something along these lines will work for
you.  You can treat special cases with \once\override...

\relative c' {
  \override Score . RehearsalMark #'self-alignment-X = #LEFT
  \override Score . RehearsalMark #'extra-spacing-width = #'(-1 . 0)
  %% Shift the space-reservation vertically up, to clear the stems
  %%  (stems get space reserved to the top of the staff in ver 2.12)
  \override Score . RehearsalMark #'extra-spacing-height = #'(3 . 3)
  %% Make bar lines taller than (most) stems
  \override Score . BarLine #'extra-spacing-height = #'(0 . +3)
  R1
  \mark \markup "foo foo foo bar"
  c1
  \mark \markup "foo foo foo bar"
  c4 d e f
  c4 d e f
}

%% Enable drawing of spacing outlines
\layout { \context { \Score
    \override NonMusicalPaperColumn #'stencil = #ly:separation-item::print
    \override PaperColumn #'stencil = #ly:separation-item::print
}} #(ly:set-option 'debug-skylines)

Ah, thanks a lot. This does (nearly always) what I want, and yes, I can use \once \override Score.RehearsalMark #'extra-spacing-width = #'( +inf.0 . -inf.0 ) to restore default behaviour where needed.

Rutger



reply via email to

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