lilypond-user
[Top][All Lists]
Advanced

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

Re: different rehearsal mark settings in score and part


From: Valentin Villenave
Subject: Re: different rehearsal mark settings in score and part
Date: Mon, 9 Jun 2008 09:46:58 +0200

2008/6/9 hhpmusic <address@hidden>:

>   I don't know how the remove empty staff function works. I added rehearsal
> marks only above piccolo and violin I parts, but I don't know whether the
> marks will let the parts appear during their silence. If no, the rehearsal
> marks will disappear from my score.

No they will not. If you do use \mark, it creates a RehearsalMark
object, that lives in the Score context, and not in the Staff context:
in other words, even if the staff temporarily disappears the
RehearsalMark will still be printed anyway.

Therefore, you don't have to add any \mark to your flute staff. The
piccolo is enough.

Let me explain it another way: you have to put all the \mark commands
in only one variable (for example, the \marks variable like you did).
You can remove all \mark commands in the other variables (the piccolo,
the flute etc). The marks will automatically be added to the _Score_
(not just to the _Staff_ )

> I ever read the score of The Rite Of
> Sprin in braille. The transcribe's note said that the rehearsal marks are
> above the top of the score and also the topmost string part. If the marks
> disappear, how to add marks to other staves?

That's a bit more complicated. To print marks above other staves than
the topmost staff, there is no ready-to-use solution in LilyPond.

Two solutions exist:

- you can add the mark engraver to your violin 1 staff:

 \new Staff \with {
      \consists "Mark_engraver"
    } { << \vI \marks >> }

However, this kind of marks will disappear when the violins are not playing.

- to avoid this, you can also create a special context, in the \layout
block. This solution is more complicated, but this is the one I use:

\layout {
  \context {
    \type "Engraver_group"
    \name "MarkLine"
    \consists "Output_property_engraver"
    \consists "Axis_group_engraver"
    \consists "Mark_engraver"
    \consists "Metronome_mark_engraver"
    \override VerticalAxisGroup #'minimum-Y-extent = #'(-2 . 2 )
  }
  \context {
    \Score
    \remove "Mark_engraver"
    \remove "Metronome_mark_engraver"
    \accepts "MarkLine"
  }
}

And then, you will have to create a \new MarkLine at the right place,
and put the \marks variable inside it.

\score {
  <<
  \new MarkLine { \marks } % here...
  \new Staff { \pic }
  \new Staff { \fl }
  ...
  \new MarkLine { \marks }  % and here!
  \new Staff { \vI }
  \new Staff { \vII }
  ...
  >>
}

>   I also created a "marks" variable containing all rehearsal marks, and will
> use it for printing parts:
> marks = { s1*10 \mark \default | s1*20 \mark \default | }

You should probably add all the marks in it, just not the \default marks.

>   In full score, I also don't know when the line breaks, so if I add marks
> in other lines before break, it will cause visual mistake. Can I use the
> Dynamic context as in piano score with marks (and therefore not write marks
> at other places) and then place it before piccolo and violin I? Will it
> disappear when the below staff is empty? Must I create a alias staff context
> instead?

Yes, that is the second method I explained above (except that I call
it the MarkLine context instead of the Dynamics context). This context
will not disappear, and the marks will always be printed.

Good luck,
Valentin




reply via email to

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