bug-lilypond
[Top][All Lists]
Advanced

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

Re: Staccato alignment on stem side


From: Urs Liska
Subject: Re: Staccato alignment on stem side
Date: Thu, 17 May 2012 10:34:38 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Am 16.05.2012 16:22, schrieb David Nalesnik:
Hi Urs,

On Wed, May 16, 2012 at 4:02 AM, Urs Liska <address@hidden <mailto:address@hidden>> wrote:

    Am 16.05.2012 10:50, schrieb Colin Hall:

        Urs Liska<lilyliska<at> googlemail.com
        <http://googlemail.com>>  writes:

            The following example shows that staccato points are
            aligned differently
            from other articulations when on the stem side.

        Thanks, Urs. I reproduced this on 2.12.3 and 2.15.38 so I have
        created a tracker
        here:

        http://code.google.com/p/lilypond/issues/detail?id=2535

        Cheers,
        Colin.


        _______________________________________________
        bug-lilypond mailing list
        address@hidden <mailto:address@hidden>
        https://lists.gnu.org/mailman/listinfo/bug-lilypond

    But then again, what _is_ intended behaviour?
    As I understand it the staccato is deliberately placed nearer to
    the stem.


Yes, in script.scm it is assigned a default of 0.5 for 'toward-stem-shift, so it appears mid-way between the stem and center of the notehead.

    What should be the solution:
    - align all articulations like the staccato if on the stem side?
    - align a staccato non-default if there are other articulations
    present?


If you like this last orientation (I do), try this as a workaround:

\version "2.15.38"

#(define stacc-corrector
  (lambda (ctx)
    (let ((articulations '())
          (staccato '()))
      (make-engraver
        (acknowledgers ((script-interface engraver grob source-engraver)
          (set! articulations (cons grob articulations))
(if (string= (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 {
    \Staff
    \consists #stacc-corrector
  }
}
As usual, simpler suggestions welcome!

HTH,
David
I'll definitely look into this, thank you.
@ Janek: as you know we can't wait for inclusion in LilyPond, I'll at least incorporate it you know where ;-)
It's for the articulation in op. 3,1 ...

To sum up the discussion:
Am I right that:
- staccato dots are intendedly aligned more towards the stem by default when on the stem side
- other articulations aren't
- if there happens to be staccato and other articulations present at the same time
  (when on the stem side) you have an inconsistency.
- This inconsistency isn't a bug but just a problematic situation that has to be dealt with manually
?

So the issue report has to be either
- marked as invalid or
- changed to a feature request to incorporate David's workaround
?

Best
Urs



reply via email to

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