[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: staccato dots over beams
From: |
Neil Puttock |
Subject: |
Re: staccato dots over beams |
Date: |
Sun, 18 Apr 2010 21:47:22 +0100 |
On 16 April 2010 17:21, Werner LEMBERG <address@hidden> wrote:
> How can I \override this for a particular glyph, avoiding changes to
> script.scm?
This is really what your bug report is about, I think. :)
There are several ways, all of them slightly awkward:
1. Redefine the articulation and add a tweak:
staccato =
#(let ((stacc (make-articulation "staccato")))
(set! (ly:music-property stacc 'tweaks)
(acons 'toward-stem-shift 1
(ly:music-property stacc 'tweaks)))
stacc)
This isn't much use for any script which has a shortcut though.
2. Shadow the default alist entry in default-script-alist:
\layout {
\context {
\Score
scriptDefinitions =
#(cons
`("tenuto"
. ((script-stencil . (feta . ("tenuto" . "tenuto")))
(quantize-position . #t)
(avoid-slur . inside)
(padding . 0.20)
(side-relative-direction . ,DOWN)
(toward-stem-shift . 1)))
default-script-alist)
}
}
Really we should have some kind of infrastructure for easily tweaking
individual Scripts (a music function would probably do it, in a
similar way to the second method above), though there's an interesting
alternative suggested in script-engraver.cc whereby each script type
would generate an equivalent grob which inherits defaults from Script
but is called Script*Name* (e.g, ScriptStaccato or ScriptPrall). This
would allow you to override properties for a specific type easily
(and, as it says in the engraver, save a bit of memory too).
> Very nice! This should probably go to the LSR.
OK, will do. I assume your edition of Wozzeck is from UE (just
checking so I know what to mention in the docstring)?
Cheers,
Neil