[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Staccato alignment on stem side
From: |
Janek Warchoł |
Subject: |
Re: Staccato alignment on stem side |
Date: |
Tue, 22 May 2012 21:14:51 +0200 |
Hi David,
On Tue, May 22, 2012 at 8:33 PM, David Nalesnik
<address@hidden> wrote:
> Hmmm... I'm really not sure. I tried it with a multi-voice example and no
> problems there... I guess I would really need to see an example where it's
> breaking down.
Unfortunately, as it's a part of the big project, it has all sorts of
file dependencies and would take a lot of time to untangle it.
> But since staccato is the only articulation that has a value set for
> 'toward-stem-shift, you could just override it to 0 and revert it for when
> you want the staccato-alone orientation. (I must say that the engraver
> seems like overkill! :) )
that's what i did. But general solutions are better :)
On Tue, May 22, 2012 at 8:42 PM, David Kastrup <address@hidden> wrote:
> from the docs:
>
> script-interface:
>
> This grob interface is used in the following graphical object(s): *note
> AccidentalSuggestion::, *note DynamicText:: and *note Script::.
>
> Quite a lot of stuff created without an articulation-type, so you should
> be using eqv? rather than string= ...
I've tried to do as you suggest:
#(define stacc-corrector
(lambda (ctx)
(let ((articulations '())
(staccato '()))
(make-engraver
(acknowledgers ((script-interface engraver grob source-engraver)
(set! articulations (cons grob articulations))
(if (eqv? (ly:prob-property (event-cause grob)
'articulation-type) "staccato")
(set! staccato grob))))
((stop-translation-timestep trans)
(if (and (ly:grob? staccato)
(or (> (length articulations) 1)
(boolean? (ly:prob-property (event-cause staccato)
'parenthesize))))
(set! (ly:grob-property staccato 'toward-stem-shift) 0))
(set! articulations '())
(set! staccato '()))))))
\relative e'' {
e-. -| -- e-\parenthesize -. -|--
\voiceTwo
e-. -| -- e-\parenthesize -. -|--
e-\parenthesize -. e-.
\voiceOne
e,-- e-. e-\parenthesize -.
}
\layout {
\context {
\Voice
\consists #stacc-corrector
}
}
and the error is gone, but unfortunately the side-effect is that the
code doesn't work anymore.
Janek
- Re: Staccato alignment on stem side, (continued)
- Re: Staccato alignment on stem side, Urs Liska, 2012/05/16
- Re: Staccato alignment on stem side, Janek Warchoł, 2012/05/22
- Re: Staccato alignment on stem side, David Nalesnik, 2012/05/22
- Re: Staccato alignment on stem side, Janek Warchoł, 2012/05/22
- Re: Staccato alignment on stem side, David Nalesnik, 2012/05/22
- Re: Staccato alignment on stem side, David Kastrup, 2012/05/22
- Re: Staccato alignment on stem side,
Janek Warchoł <=
- Re: Staccato alignment on stem side, David Kastrup, 2012/05/22
- Re: Staccato alignment on stem side, Janek Warchoł, 2012/05/22
- Re: Staccato alignment on stem side, David Nalesnik, 2012/05/22
- Re: Staccato alignment on stem side, Mark Mathias, 2012/05/26
- Re: Staccato alignment on stem side, Janek Warchoł, 2012/05/26
- Re: Staccato alignment on stem side, Colin Hall, 2012/05/27