[Top][All Lists]
[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 )=-