lilypond-user
[Top][All Lists]
Advanced

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

Re: Lyircs melsima line ending in interpunctation


From: Jan-Peter Voigt
Subject: Re: Lyircs melsima line ending in interpunctation
Date: Wed, 25 Jan 2012 10:41:45 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.24) Gecko/20111108 Lightning/1.0b2 Thunderbird/3.1.16

Hello again,

Am 24.01.2012 20:04, schrieb Hayden Muhl:
* There is always the possibility of some avant garde composition with specific notation requirements, but here we are talking about typesetting standards, and I think it's reasonable to consider such a piece as an exception to the standard.
In fact, this is all wished to express. The Sinatra example is not a good one, because it doesn't fall in this avant garde category. It came up and I thought of acting/performing ...
For the thread opening piece and for the example posted by Janek:
I've sent an example - perhaps my e-mail didn't make it to the
archives, maybe the attachment was too big.
Look here:
http://imageshack.us/photo/my-images/839/lyricextenderandpunctua.png/
I think that it would be good to support this style (not as the
default, ofc).  I mean, to have it built-in, not as a snippet.
If you agree, i'll gladly create an issue.
*I* would never typeset it like this, unless a publisher pays me a lot of money ;-)

The reason I am coming up with this again is, that the possibility of lilypond, to create such things with a reasonable effort, is IMHO a killer feature.

And if someone is typesetting such an avant garde thing or is earning a lot of money with this, he might want to have the end markup appear under the last note, not beyond. Here is a tiny modification of the snippet:

--snip--
#(define (extend text . padding)
        (let ((extender (make-music 'ExtenderEvent))
              ;; optional padding
              (padding (if (pair? padding)
                           (car padding)
                           0)))

             (set! (ly:music-property extender 'tweaks)
                   (acons 'stencil (lambda (grob)
                             (let* ((orig (ly:grob-original grob))
(siblings (ly:spanner-broken-into orig))
                                    (len (lambda (p)(- (cdr p) (car p))))
                                    (estil (ly:lyric-extender::print grob))
(estilx (len (ly:stencil-extent estil X))) (pstil (grob-interpret-markup grob text)) (pstilx (len (ly:stencil-extent pstil X))))
                                   (if (or (null? siblings)
                                           (and (>= (length siblings) 2)
(eq? (car (last-pair siblings))
                                                     grob)))
                                       (ly:stencil-combine-at-edge
(ly:stencil-scale estil (/ (- estilx pstilx) estilx) 1)
                                         X RIGHT
                                         pstil
                                         padding)
                                       estil)))
                     (ly:music-property extender 'tweaks)))
             extender))

%Define custom extender with 2.15 style markup inclusion
extendExclaim = #(extend #{ \markup \concat { \bold i ! } #})

\score {
  \relative c' {
    \autoBeamOff \dynamicUp
    r8 f g a b([\< bes c b] des[ bes] d[ b] g4\glissando g')->\!
  } \addlyrics {
    pa ta ka se \extendExclaim
  }

  \layout {
    \context {
      \Lyrics
      \consists "Tweak_engraver"
    }
  }
}
--snip--


Cheers, Jan-Peter



reply via email to

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