Hello,
  Someone (perhaps Valentin) gave me a snippet to create a context containing 
only top texts such as rehearsal marks, tempo texts and metronome marks. I use 
it for my work very well. All my scores are frenched scores.
%% Layout to produce MarkLine context
%% to place rehearsal marks and texts above full score
\layout {
  \context {
    \type "Engraver_group"
    \name "MarkLine"
    \consists "Output_property_engraver"
    \consists "Axis_group_engraver"
    \consists "Mark_engraver"
    \consists "Metronome_mark_engraver"
    \consists "Script_engraver"
    \consists "Text_engraver"
    \consists "Text_spanner_engraver"
    \consists "Font_size_engraver"
    \override VerticalAxisGroup #'minimum-Y-extent = #'(-2 . 2 )
    \override TextSpanner #'breakable = ##t
  }
  \context {
    \Score
    \accepts "MarkLine"
  }
  \context {
    \StaffGroup
    \accepts "MarkLine"
  }
  \context {
    \PianoStaff
    \accepts "MarkLine"
  }
  \context {
    \GrandStaff
    \accepts "MarkLine"
  }
  \context {
    \ChoirStaff
    \accepts "MarkLine"
  }
}
(of course, you must remove rehearsal and metronome engravers out of Score)
  Now I meet a new problem: at bar 201 of my piece, only harp is used for a 
cadenza. It begins a new line, so all other instruments have gone. I put the 
mark line to both top and before the first violin. Unfortunately, it doesn't 
disappear when strings are not here. I'd like it to:
  1. Keep alive when the instruments below it are used;
  2. But disappear when the below staves are hidden.
  Two results will happen if this is not solved:
  a) When instruments before the first violin are all silent, there will be two 
parallel mark lines, since the one before first violin has lower outside-staff 
property;
  b) When strings are silent, the second mark line is still here, which I think 
is not good.
 Could anyone help me?
Regards
Haipeng


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

Reply via email to