lilypond-user
[Top][All Lists]
Advanced

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

Re: aligning text and devnull with extender


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

Hi Kieren,

thank you for this hint. I embedded it in my little test-file and will use it :-) . Its a cleaner and nicer solution than the phrasing-slur hack!
But my tagged-Voice-solution still has the opportunity to place the '(n)' somewhere without a note above it. The scores I am working on need this. One might ask, if it would be easier to read, if there would be a tied note above the '(n)'-ending, but I try to typeset as close as possible to the original handwritten scores.

Regards,
Jan-Peter.


Kieren MacMillan wrote:
Hi Jan-Peter:

  
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 think perhaps it's easier than you think:

lyrL = { \once \override LyricText #'self-alignment-X = #LEFT }
noten = \relative c'' {
  \set melismaBusyProperties = #'() d1 |
  c1 ~ |
  c1
  \bar "|."
}
text = \lyricmode {
 a -- \lyrL \markup \line { men \draw-line #'(4 . 0) } "(n)"
}
\score {
  \new ChoirStaff <<
    \new Staff \new Voice = "melodieA" \noten
    \new Lyrics \lyricsto "melodieA" \text
  >>
}

No need for all those extra Voices, DevNull contexts, etc.

Hope this helps!
Kieren.
  

\version "2.12.2"

noten = \relative c'' {
  \dynamicUp
  d1\p\>
  \tag #'print { c1 ~ c1 }
  \tag #'lyrics { c2 ~ c8 c4. ~ c1 }
  s1*0\! \bar "|."
}
notend = \relative c'' {
  \dynamicUp
  d1\p\>
  \once \override Staff.PhrasingSlur #'height-limit = #1
  c1\( c1\)\!
  \bar "|."
}

lyrL = { \once \override LyricText #'self-alignment-X = #LEFT }
notene = \relative c'' {
  \dynamicUp
  \set melismaBusyProperties = #'() d1\p\> |
  c1 ~ |
  c1\!
  \bar "|."
}

text = \lyricmode {
  a -- men __ "(n)" __
}
textb = \lyricmode {
  a -- \markup { men \translate #'( 10 . 0 ) "(n)" } __
}
texte = \lyricmode {
  a -- \lyrL \markup \line { men \draw-line #'(20 . 0) } "(n)"
}

\score {
  <<
    % the lyrics rhythm
    \new Staff <<
      \new Voice="melodieA" { R1^"lyric rhythm" \keepWithTag #'lyrics \noten }
    >>
    \new Lyrics \lyricsto "melodieA" { \text }
    
    \new ChoirStaff
    <<
      
      % using a devnull context to align '(n)'
      % melismas and ties are not supported, so no extenders are drawn
      % the '(n)' is displayed to early
      \new Staff <<
        \new Devnull="melodie" { s1 \keepWithTag #'lyrics \noten }
        \new Voice { R1^"example A (devnull)" \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" { R1^"example B (markup translate)" \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
          
          \override DynamicText #'stencil = ##f
          \override Hairpin #'stencil = ##f
          % what else should be hidden?
        } { \hideNotes { s1 \keepWithTag #'lyrics \noten } }
        \new Voice { R1^"example C (hidden notes)" \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)'
      % a phrasing slur is *not* a tie and looks different!
      \new Staff <<
        \new Voice="melodieD" { R1^"example D (phrasing slurs)" \notend }
      >>
      \new Lyrics \lyricsto "melodieD" { \text }
      
      % using 'melismaBusyProperties' and drawline
      % a good alternative to the phrasing slur hack
      \new Staff \new Voice = "melodieE" { R1^"example E (drawline)" \notene }
      \new Lyrics \lyricsto "melodieE" \texte
    >>
    
    %some random notes
    \new Staff { \relative c'' { g8^"some random notes" a bes c b bes b16 c d b 
\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]