lilypond-devel
[Top][All Lists]
Advanced

[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)





reply via email to

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