[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mark text (not markup) to fill Rest bars?
From: |
Keith OHara |
Subject: |
Re: mark text (not markup) to fill Rest bars? |
Date: |
Tue, 6 Dec 2011 02:10:13 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
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)