lilypond-devel
[Top][All Lists]
Advanced

[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




reply via email to

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