[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Staccato
From: |
Jay Anderson |
Subject: |
Re: Staccato |
Date: |
Mon, 19 Jan 2015 12:44:26 -0700 |
On Mon, Jan 19, 2015 at 11:45 AM, Cynthia Karl <address@hidden> wrote:
> Section 1.285 "staccato" of the 2.19.15 LilyPond Music Glossary says:
> Staccato is indicated by a dot above or below the note head. Gardner Read
> ("Music Notation: A Manual of Modern Practice") agrees with this and has a
> little picture showing a stem-up note with a dot just beneath the note-head
> and a stem-down note with a dot just above the note-head.
>
> Ordinarily, LP follows both Read's and its own guideline on the placement of
> the dot, e.g., the following snippet:
> ...
>
> However, the following snippet:
> ...
>
> Besides being pretty ugly, this violates LP's own guidelines.
>
> Is there a way to get the second snippet to produce regular staccato dots?
Lilypond is behaving correctly. In multi-voice situations the
articulation should be be placed on the stem side (Gould page 117 says
that in this situation articulations should _never_ be placed on the
notehead side so it is absolutely clear to which voice the
articulation belongs).
Another comment about this example: I'd prefer to see staccato
markings centered on the stem in this case. There is an enhancement
for this: https://code.google.com/p/lilypond/issues/detail?id=2535 and
a discussion a few years back:
http://lists.gnu.org/archive/html/bug-lilypond/2012-05/msg00098.html.
It can be used to somewhat clean this situation up:
================================
\version "2.19.15"
#(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)
(cond ((and (ly:grob? staccato) (= 1 (length articulations)))
(set! (ly:grob-property staccato 'toward-stem-shift) 1.0))
((ly:grob? staccato)
(set! (ly:grob-property staccato 'toward-stem-shift) 0.0)))
(set! articulations '())
(set! staccato '()))))))
music = \relative c''
{
<<
{
\voiceOne
g8-. a-. b-. c-. d-. e-. f-. g-.-- |
a4-. b-. c-. b-. |
}
\new Voice
{
\voiceTwo
g,2~ g2~ |
g2~ g2 |
}
>> \oneVoice
g8-. a-. b-. c-. d-. e-. f-. g-.-- |
}
\score
{
\new Staff \music
}
\score
{
\new Staff \music
\layout
{
\context
{
\Voice
\consists #stacc-corrector
}
}
}
================================
The default toward-stem-shift for staccato marks is 0.5 (I'm not quite
sure why). The above also moves the staccato back to the default
position if other articulations are present.
-----Jay