[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Better shape control of arpeggio brackets. (issue 8859051)
From: |
lemzwerg |
Subject: |
Re: Better shape control of arpeggio brackets. (issue 8859051) |
Date: |
Mon, 29 Apr 2013 10:03:22 +0000 |
Reviewers: Trevor Daniels,
Message:
OK, will use `protrusion'. `edge-length' is already taken,
unfortunately, for exactly the same thing, namely to control tuplet
brackets. However, this is a pair value, while arpeggio brackets use a
different mechanism (namely the ly:bracket interface) which need a
single value.
Description:
Better shape control of arpeggio brackets.
Please review this at https://codereview.appspot.com/8859051/
Affected files:
M lily/arpeggio.cc
M scm/define-grob-properties.scm
M scm/define-grobs.scm
Index: lily/arpeggio.cc
diff --git a/lily/arpeggio.cc b/lily/arpeggio.cc
index
96b6bbd3d5e3be8ee09313fed12249c3f0c2e372..1c2b19254c7b6f17fccffdccfddc033b33121f8f
100644
--- a/lily/arpeggio.cc
+++ b/lily/arpeggio.cc
@@ -169,7 +169,7 @@ Arpeggio::brew_chord_bracket (SCM smob)
Real lt = me->layout ()->get_dimension (ly_symbol2scm
("line-thickness"));
Real sp = 1.5 * Staff_symbol_referencer::staff_space (me);
Real dy = heads.length () + sp;
- Real x = 0.7;
+ Real x = robust_scm2double (me->get_property ("protrude"), 0.4);
Stencil mol (Lookup::bracket (Y_AXIS, Interval (0, dy), lt, x, lt));
mol.translate_axis (heads[LEFT] - sp / 2.0, Y_AXIS);
@@ -227,9 +227,10 @@ ADD_INTERFACE (Arpeggio,
/* properties */
"arpeggio-direction "
+ "dash-definition " // TODO: make apply to non-slur arpeggios
"positions "
+ "protrude "
"script-priority " // TODO: make around-note-interface
"stems "
- "dash-definition " // TODO: make apply to non-slur arpeggios
);
Index: scm/define-grob-properties.scm
diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm
index
b4861729b7788cc19424ca0c4f3adc33592f34c1..8ea812369377d730b14e45be3b16eaded2a453d5
100644
--- a/scm/define-grob-properties.scm
+++ b/scm/define-grob-properties.scm
@@ -734,6 +734,8 @@ positions are requested, the closest one is taken.")
(prefer-dotted-right ,boolean? "For note collisions, prefer to
shift dotted up-note to the right, rather than shifting just the
dot.")
+ (protrude ,number? "In an arpeggio bracket, the length of the
+horizontal edges.")
;;
;; r
Index: scm/define-grobs.scm
diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
index
1b834a2e2d28c8fb007b1b3d7ed7ea3056551285..9e8d2a1a7205ba249e035884fa58deb79962a963
100644
--- a/scm/define-grobs.scm
+++ b/scm/define-grobs.scm
@@ -169,6 +169,7 @@
(direction . ,LEFT)
(padding . 0.5)
(positions . ,ly:arpeggio::calc-positions)
+ (protrude . 0.4)
(script-priority . 0)
(side-axis . ,X)
(staff-position . 0.0)