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)



_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to