lilypond-user
[Top][All Lists]
Advanced

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

aligning text and devnull with extender


From: Jan-Peter Voigt
Subject: aligning text and devnull with extender
Date: Fri, 28 May 2010 10:51:45 +0200
User-agent: Thunderbird 2.0.0.24 (X11/20100411)

Hello Lilypond-Users,

I know this is discussed often. So I have some examples how I tried it.

I am typesetting a few choral pieces (using the stable version 2.12.2 Ubuntu repo), where there is often a sign, that singers should close from vowel to 'N'.
This is written: a - - - men ____ (n) ____
The choir should do this in designated times/positions, so it should be written in the score.

I  prefer the solution with a Voice wich hides everything (example C). I have to take care to tag out all note-associated text and it leads to a lot of compile warnings. (german: "zu viele kollidierende Notenspalten werden ignoriert" colliding notes? But so what, it leads to the right placement of the '(n)'.

What do you think about it? Are there other solutions I didn't find googling my lilypond?

Regards,
Jan-Peter.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.12.2"

noten = \relative c'' {
 d1
 \tag #'print { c1 ~ c1 }
 \tag #'lyrics { c2 ~ c8 c4. ~ c1 }
}
notend = \relative c'' {
 d1 | c1\( | c1\)
}
text = \lyricmode {
 a -- men __ "(n)" __
}
textb = \lyricmode {
 a -- \markup { men \translate #'( 14 . 0 ) "(n)" } __
}

\score {
 \new StaffGroup
 <<
   % the lyrics rhythm
   \new Staff <<
     \new Voice="melodieA" { \keepWithTag #'lyrics \noten }
   >>
   \new Lyrics \lyricsto "melodieA" { \text }
     % using a devnull context to align '(n)'
   % melismas and ties are not supported, so no extenders are drawn
   \new Staff <<
     \new Devnull="melodie" { \keepWithTag #'lyrics \noten }
     \new Voice { \keepWithTag #'print \noten }
   >>
   \new Lyrics \lyricsto "melodie" { \text }
     % using markup translate to move the '(n)'
   % trial and error to move to the right position and no extender between 'men' and '(n)'
   \new Staff <<
     \new Voice="melodieB" { \keepWithTag #'print \noten }
   >>
   \new Lyrics \lyricsto "melodieB" { \textb }
         % using a voice with notes, slurs, ties and phrasingslurs hidden.
   % if there are other objects in the voice, like text (e.g. c^schneller ), it has to be 'tagged out'.
   % Otherwise those objects appear twice
   \new Staff <<
     \new Voice="melodieC" \with {
       \override Slur #'stencil = ##f
       \override Tie #'stencil = ##f
       \override PhrasingSlur #'stencil = ##f
     } { \hideNotes { \keepWithTag #'lyrics \noten } }
     \new Voice { \keepWithTag #'print \noten }
   >>
   \new Lyrics \lyricsto "melodieC" { \text }
      % using phrasing slurs if the position is next measure
   % this only works, if the position of the '(n)' is on a tied note
   % the extender is not extended very far to the '(n)'
   % the phrasingSlur is *not* a tie and looks different!
   \new Staff <<
     \new Voice="melodieD" { \notend }
   >>
   \new Lyrics \lyricsto "melodieD" { \text }
     %some random notes
   \new Staff { \relative c'' { \repeat unfold 2 { g8 a bes c b bes b16 c d b } | c1 } }
 >>
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



reply via email to

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