lilypond-user
[Top][All Lists]
Advanced

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

Re: sprechstimme


From: Jonatan Liljedahl
Subject: Re: sprechstimme
Date: Tue, 12 Apr 2005 20:03:19 -0300

On Mon, 11 Apr 2005 11:54:57 -0700 (PDT)
D Josiah Boothby <address@hidden> wrote:

> I searched the lilypond-user and lilypond-devel archives and wasn't
> able 
>  to find anything regarding sprechstimme, though I seem to recall that
>  
>  there was a thread a couple months ago asking about it.
> 
>  Is it supported in Lilypond? If not, has anyone found a way to insert
>  the little "x" onto the halfway point of a stem?

Try this, it works here.

%% based on the code in regression/stencil-hacking.ly
#(define (cross-callback callback)
   (define (cross-stencil grob)
     (let* ((fn (ly:get-default-font grob))
            (cross (ly:font-get-glyph fn "noteheads.s2cross"))
            (s (callback grob))
            (sx (ly:stencil-extent s 0))
            (sy (ly:stencil-extent s 1))
            (cx (ly:stencil-extent cross 0))
            (xadj (/ (- (cdr cx) (car cx)) 2))
            (midy (+ (car sy) (/ (- (cdr sy) (car sy)) 2))))
        (set! s (ly:stencil-add s 
            (ly:stencil-translate cross (cons (- xadj) midy))))
       (ly:make-stencil (ly:stencil-expr s) sx sy)))
   cross-stencil)

stemCross = \once \override Stem  #'print-function
    = #(cross-callback Stem::print)
stemCrossStart = \override Stem  #'print-function
    = #(cross-callback Stem::print)
stemCrossStop = \revert Stem #'print-function

%%%% EXAMPLE %%%%

\layout { raggedright = ##t }
\relative c' {
    c4 \stemCrossStart e g bes \stemCrossStop
    a8 \stemCross gis8 a2.
}

/Jonatan    -=( http://kymatica.com )=-




reply via email to

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