[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Editorial ties in scheme
From: |
Michael Lapsley |
Subject: |
Editorial ties in scheme |
Date: |
Sat, 2 Jun 2012 09:10:24 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
This is my first attempt at scheme hacking and I would appreciate a little help.
What I am trying to do is implement editorial ties ( a small vertical line
mid tie). I can find the X mid point easily enough, but cannot work out how to
find the Y position (relative to currentpoint). I've tried looking at Y-extent
but that gives a 'still calculating' error.
The second question is how best to integrate this into the user language? The
score I am working on has many, many ties, about a quarter of which are
editorial,
so it would be nice to be able to switch between them easily.
{
\override Tie #'stencil = #(lambda(grob)
(let* (
(tie-stencil (ly:tie::print grob))
(cpoints (ly:grob-property grob 'control-points))
; (Xpoint3-Xpoint0) / 2 + Xpoint0
(mid-tie
(+(car(list-ref cpoints 0))( / (- (car(list-ref
cpoints 3)) (car( list-ref
cpoints 0))) 2)))
(ps (format #f "gsave
currentpoint translate
newpath
0.2 setlinewidth
~s -2.3 moveto
0 0.5 rlineto
stroke
grestore" mid-tie))
(tick-stencil(ly:make-stencil(list 'embedded-ps
ps )
(cons 0 1)(cons -1 -1)))
)
(ly:stencil-add tie-stencil tick-stencil)
)
)
g'1~g'
}
Thanks,
Mike
PS: mail server *seems* to be swallowing posts: apologies if this appears
several times.