]> git.donarmstrong.com Git - lilypond.git/commitdiff
Remove docs/default for AccidentalPlacement #'left-padding.
authorNeil Puttock <n.puttock@gmail.com>
Tue, 27 Jul 2010 20:37:18 +0000 (21:37 +0100)
committerNeil Puttock <n.puttock@gmail.com>
Tue, 27 Jul 2010 20:37:18 +0000 (21:37 +0100)
Following refactoring of the accidental-placement code, AccidentalPlacement
only supports 'right-padding.

(See also http://code.google.com/p/lilypond/issues/detail?id=730)

Documentation/learning/tweaks.itely
lily/accidental-placement.cc
scm/define-grob-properties.scm
scm/define-grobs.scm

index 8440dd72ff63f08981c4933ccc048f44e223f251..b50bd41ba92c8bda51ee880e942de22238c2334d 100644 (file)
@@ -2370,11 +2370,9 @@ This has already been covered in some detail -- see
 @ref{Within-staff objects}.
 
 @item
-@code{padding}, @code{left-padding},
-@code{right-padding}, @code{staff-padding}
+@code{padding}, @code{right-padding}, @code{staff-padding}
 
 @cindex padding
-@cindex left-padding property
 @cindex padding property
 @cindex right-padding property
 @cindex staff-padding property
@@ -2389,15 +2387,14 @@ applied to all objects which support the
 @code{side-position-interface}.
 
 Instead of @code{padding}, the placement of groups of accidentals
-is controlled by @code{left-padding} and @code{right-padding}.
-These properties are to be found in the @code{AccidentalPlacement}
-object which, note, lives in the @strong{staff} context.  In the
-type-setting process the note heads are type-set first and then
-the accidentals, if any, are added to the left of the note heads
-using the @code{right-padding} property to determine the separation
-from the note heads. So only the @code{right-padding} property of the
-@code{AccidentalPlacement} object has any effect on the placement
-of the accidentals.
+is controlled by @code{right-padding}.  This property is to be found
+in the @code{AccidentalPlacement} object which, note, lives in the
+@strong{Staff} context.  In the typesetting process the note heads
+are typeset first and then the accidentals, if any, are added to the
+left of the note heads using the @code{right-padding} property to determine
+the separation from the note heads and between individual accidentals.
+So only the @code{right-padding} property of the @code{AccidentalPlacement}
+object has any effect on the placement of the accidentals.
 
 The @code{staff-padding} property is closely related to the
 @code{padding} property: @code{padding} controls the minimum amount of
@@ -2589,11 +2586,11 @@ b2\fermata
 @lilypond[quote,fragment,relative=1,verbatim]
 % This will not work, see below
 \override MetronomeMark #'padding = #3
-\tempo 4=120
+\tempo 4 = 120
 c1 |
 % This works
 \override Score.MetronomeMark #'padding = #3
-\tempo 4=80
+\tempo 4 = 80
 d1 |
 @end lilypond
 
@@ -2609,9 +2606,8 @@ their @code{outside-staff-priority}, then that object and all
 objects outside it are moved.
 
 
-@subheading left-padding and right-padding
+@subheading right-padding
 
-@cindex left-padding property
 @cindex right-padding property
 
 The @code{right-padding} property affects the spacing between the
index 8e9c854415111cb975677ac391840de826a46f03..8ece98e510c5dd34b02cf9408ecaf7e505ff8a8e 100644 (file)
   along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-
 #include "accidental-placement.hh"
 
-#include "item.hh"
-#include "rhythmic-head.hh"
 #include "accidental-interface.hh"
+#include "item.hh"
 #include "music.hh"
 #include "note-collision.hh"
 #include "note-column.hh"
 #include "pointer-group-interface.hh"
+#include "rhythmic-head.hh"
 #include "skyline.hh"
 #include "stream-event.hh"
 #include "warn.hh"
 
-static Pitch*
+static Pitch *
 accidental_pitch (Grob *acc)
 {
   SCM cause = acc->get_parent (Y_AXIS)->get_property ("cause");
@@ -77,8 +76,8 @@ Accidental_placement::add_accidental (Grob *me, Grob *a)
 */
 void
 Accidental_placement::split_accidentals (Grob *accs,
-                                        vector<Grob*> *break_reminder,
-                                        vector<Grob*> *real_acc)
+                                        vector<Grob *> *break_reminder,
+                                        vector<Grob *> *real_acc)
 {
   for (SCM acs = accs->get_object ("accidental-grobs"); scm_is_pair (acs);
        acs = scm_cdr (acs))
@@ -94,18 +93,18 @@ Accidental_placement::split_accidentals (Grob *accs,
       }
 }
 
-vector<Grob*>
-Accidental_placement::get_relevant_accidentals (vector<Grob*> const &elts, Grob *left)
+vector<Grob *>
+Accidental_placement::get_relevant_accidentals (vector<Grob *> const &elts, Grob *left)
 {
-  vector<Grob*> br;
-  vector<Grob*> ra;
-  vector<Grob*> ret;
+  vector<Grob *> br;
+  vector<Grob *> ra;
+  vector<Grob *> ret;
   bool right = dynamic_cast<Item *> (left)->break_status_dir () == RIGHT;
 
   for (vsize i = 0; i < elts.size (); i++)
     {
       split_accidentals (elts[i], &br, &ra);
-      
+
       ret.insert (ret.end (), ra.begin (), ra.end ());
 
       if (right)
@@ -120,7 +119,7 @@ struct Accidental_placement_entry
   Skyline right_skyline_;
   Interval vertical_extent_;
   vector<Box> extents_;
-  vector<Grob*> grobs_;
+  vector<Grob *> grobs_;
 };
 
 Real ape_priority (Accidental_placement_entry const *a)
@@ -172,15 +171,15 @@ acc_less (Grob *const &a, Grob *const &b)
 /*
   TODO: should favor
 
-  b
-  b
+  *  b
+  b
 
   placement
 */
 void
-stagger_apes (vector<Accidental_placement_entry*> *apes)
+stagger_apes (vector<Accidental_placement_entry *> *apes)
 {
-  vector<Accidental_placement_entry*> asc = *apes;
+  vector<Accidental_placement_entry *> asc = *apes;
 
   vector_sort (asc, &ape_less);
 
@@ -205,10 +204,10 @@ stagger_apes (vector<Accidental_placement_entry*> *apes)
   reverse (*apes);
 }
 
-static vector<Accidental_placement_entry*>
+static vector<Accidental_placement_entry *>
 build_apes (SCM accs)
 {
-  vector<Accidental_placement_entry*> apes;
+  vector<Accidental_placement_entry *> apes;
   for (SCM s = accs; scm_is_pair (s); s = scm_cdr (s))
     {
       Accidental_placement_entry *ape = new Accidental_placement_entry;
@@ -226,7 +225,7 @@ static void
 set_ape_skylines (Accidental_placement_entry *ape,
                  Grob **common)
 {
-  vector<Grob*> accs (ape->grobs_);
+  vector<Grob *> accs (ape->grobs_);
   vector_sort (accs, &acc_less);
 
   /* We know that each accidental has the same note name and we assume that
@@ -276,11 +275,11 @@ set_ape_skylines (Accidental_placement_entry *ape,
   ape->right_skyline_ = Skyline (ape->extents_, 0, Y_AXIS, RIGHT);
 }
 
-static vector<Grob*>
-extract_heads_and_stems (vector<Accidental_placement_entry*> const &apes)
+static vector<Grob *>
+extract_heads_and_stems (vector<Accidental_placement_entry *> const &apes)
 {
-  vector<Grob*> note_cols;
-  vector<Grob*> ret;
+  vector<Grob *> note_cols;
+  vector<Grob *> ret;
 
   for (vsize i = apes.size (); i--;)
     {
@@ -321,14 +320,13 @@ extract_heads_and_stems (vector<Accidental_placement_entry*> const &apes)
     if (Grob *s = Rhythmic_head::get_stem (ret[i]))
       ret.push_back (s);
 
-
-  vector_sort (ret, less<Grob*> ());
+  vector_sort (ret, less<Grob *> ());
   uniq (ret);
   return ret;
 }
 
-static Grob*
-common_refpoint_of_accidentals (vector<Accidental_placement_entry*> const &apes, Axis a)
+static Grob *
+common_refpoint_of_accidentals (vector<Accidental_placement_entry *> const &apes, Axis a)
 {
   Grob *ret = 0;
 
@@ -345,7 +343,7 @@ common_refpoint_of_accidentals (vector<Accidental_placement_entry*> const &apes,
 }
 
 static Skyline
-build_heads_skyline (vector<Grob*> const &heads_and_stems,
+build_heads_skyline (vector<Grob *> const &heads_and_stems,
                     Grob **common)
 {
   vector<Box> head_extents;
@@ -362,13 +360,13 @@ build_heads_skyline (vector<Grob*> const &heads_and_stems,
 */
 static Interval
 position_apes (Grob *me,
-              vector<Accidental_placement_entry*> const &apes,
+              vector<Accidental_placement_entry *> const &apes,
               Skyline const &heads_skyline)
 {
   Real padding = robust_scm2double (me->get_property ("padding"), 0.2);
   Skyline left_skyline = heads_skyline;
   left_skyline.raise (-robust_scm2double (me->get_property ("right-padding"), 0));
-  
+
   /*
     Add accs entries right-to-left.
   */
@@ -402,7 +400,6 @@ position_apes (Grob *me,
   return width;
 }
 
-
 /*
   This routine computes placements of accidentals. During
   add_accidental (), accidentals are already grouped by note, so that
@@ -415,12 +412,11 @@ position_apes (Grob *me,
   TODO: more advanced placement. Typically, the accs should be placed
   to form a C shape, like this
 
-
-  ##
-  b b
-  # #
-  b
-  b b
+  *     ##
+  *  b b
+  * # #
+  *  b
+  *    b b
 
   The naturals should be left of the C as well; they should
   be separate accs.
@@ -453,16 +449,16 @@ Accidental_placement::calc_positioning_done (SCM smob)
     return SCM_BOOL_T;
 
   me->set_property ("positioning-done", SCM_BOOL_T);
-  
+
   SCM accs = me->get_object ("accidental-grobs");
   if (!scm_is_pair (accs))
     return SCM_BOOL_T;
 
-  vector<Accidental_placement_entry*> apes = build_apes (accs);
+  vector<Accidental_placement_entry *> apes = build_apes (accs);
 
   Grob *common[] = {me, 0};
 
-  vector<Grob*> heads_and_stems = extract_heads_and_stems (apes);
+  vector<Grob *> heads_and_stems = extract_heads_and_stems (apes);
 
   common[Y_AXIS] = common_refpoint_of_accidentals (apes, Y_AXIS);
   common[Y_AXIS] = common_refpoint_of_array (heads_and_stems, common[Y_AXIS], Y_AXIS);
@@ -489,9 +485,8 @@ ADD_INTERFACE (Accidental_placement,
               /* properties */
               "accidental-grobs "
               "direction "
-              "left-padding "
               "padding "
               "positioning-done "
               "right-padding "
               "script-priority "
-              )
+              );
index 7eff40e9574a8751a63cd6267039e43ec3fcd0e2..8c23fb6c9c4a0336e9272c356c4e59e87fd1fc42 100644 (file)
@@ -514,7 +514,7 @@ are added.")
      (left-bound-info ,list? "An alist of properties for determining
 attachments of spanners to edges.")
      (left-padding ,ly:dimension? "The amount of space that is put
-left to an object (e.g., a group of accidentals).")
+left to an object (e.g., a lyric extender).")
      (length ,ly:dimension? "User override for the stem length of
 unbeamed stems.")
      (length-fraction ,number? "Multiplier for lengths.  Used for
index 2f87b27407206500c97c1f471c76911c15deaf52..c13e099a0a4e5a2f7bc2e2fb458ad387f8ff9ec0 100644 (file)
@@ -53,7 +53,6 @@
     (AccidentalPlacement
      . (
        (direction .  ,LEFT)
-       (left-padding . 0.2)
        (positioning-done . ,ly:accidental-placement::calc-positioning-done)
 
        ;; this is quite small, but it is very ugly to have