]> git.donarmstrong.com Git - lilypond.git/commit
Issue 2535: Staccato on stem side alignment when other articulations are present
authorDavid Nalesnik <david.nalesnik@gmail.com>
Mon, 26 Jan 2015 14:13:22 +0000 (08:13 -0600)
committerDavid Nalesnik <david.nalesnik@gmail.com>
Tue, 3 Feb 2015 21:25:36 +0000 (15:25 -0600)
commit9f966033f062a4f525fa878b0d7d08c19f7f21fb
treea7214954568916dc1f3647d853e65ac2520c2640
parentcd5b559ab016dad5100eab3105218df94ab9f402
Issue 2535: Staccato on stem side alignment when other articulations are present

The default positioning of staccato dots in combination with other articulations
is poor, because the dot is positioned midway between the center of the note head
and the stem, while all other scripts are centered on the note head.

A mechanism is needed to allow a staccato dot to be positioned differently when alone
and when in combination with other articulations.  This patch introduces a new property,
called 'toward-stem-shift-in-column, which works alongside 'toward-stem-shift to control
a script's position relative to the stem.  If set for a script appearing within a column,
the new property overrides any setting in 'toward-stem-shift.  The new property has
been set only for staccato and staccatissimo.

The previous default of 0.5 for staccato has been changed to 1.0, in accordance with
Gould's recommendation that a staccato dot be centered on the stem.

In order to allow a script to recognize the column organizing it, a pointer to
ScriptColumn, called 'script-column, has been added to script-interface.

Other changes:
--The regtest script-shift.ly has been modified to use scripts other than
staccato.
--A new regtest, script-shift-staccato.ly, illustrates the idiosyncratic
behavior of staccato dots.
--Documentation of the property 'toward-stem-shift has been made more
accurate.
input/regression/script-shift-staccato.ly [new file with mode: 0644]
input/regression/script-shift.ly
lily/script-column.cc
lily/script-interface.cc
scm/define-grob-properties.scm
scm/output-lib.scm
scm/script.scm