]> git.donarmstrong.com Git - lilypond.git/commitdiff
* scm/define-grob-properties.scm (avoid-slur): New property.
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 18 Aug 2005 09:55:08 +0000 (09:55 +0000)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 18 Aug 2005 09:55:08 +0000 (09:55 +0000)
* lily/phrasing-slur-engraver.cc (acknowledge_extra_object):
* lily/slur-engraver.cc (acknowledge_extra_object): Invoke
outside_slur_callback if avoid-slur != #'inside.

* scm/define-grobs.scm (Fingering, Textscript): No
inside-slur/outside-slur preference.
(DynamicLineSpanner): Always outside slur.

* input/regression/slur-script.ly: More tests.

Documentation/topdocs/NEWS.tely
input/regression/slur-script.ly
lily/accidental.cc
lily/phrasing-slur-engraver.cc
lily/script-interface.cc
lily/slur-engraver.cc
scm/define-grob-properties.scm
scm/define-grobs.scm

index ce1b7c309a4b4a0163f4b39a846ff07d07fefc6b..282c2441f468f436be3964cd5425a2b7ad5cee01 100644 (file)
@@ -56,7 +56,7 @@ collisions with slurs
 {
   b_1( f'_1_2_3 c_3_4_5 a)
   b( f'\p b,)
-  c-2_\markup { \italic {"cresc."}}( f c)
+  c-2_\markup { \italic {"cresc."}} ( f_\markup {x} c)
 }
 @end lilypond
 
index bf3162ec2c4694472885cf86a5a0310f83b754a6..e0399ba7c57da5ec979fd31331aa2fa816f8d6e9 100644 (file)
@@ -11,6 +11,7 @@
 
 \version "2.6.0"
 \layout {
+    indent = 0\mm
     raggedright = ##t
 }
 \relative
     b( f'\p b,)
     
     %% Do not force dynamics outside slur, only avoid collisions.
-    \override DynamicLineSpanner #'avoid-slur = #'()
-    \override DynamicLineSpanner #'padding = #0.3
+    \override DynamicLineSpanner #'avoid-slur = #'around
+    \override DynamicLineSpanner #'padding = #0.4
     b( e\p e\f b)
     
+    %% Do not avoid collisions.
+    \override DynamicLineSpanner #'avoid-slur = #'()
+    \revert DynamicLineSpanner #'padding
+    b( d\p d\f b)
+    
     c_\markup { \italic {"cresc."}}( c c)
     \once \override Script #'padding = #1.2
     b-.( b-.
index bd02de206705d25a6bb2f16725d332135e065de6..6df7e5116d0c308822f08c09b36a9aade550e76f 100644 (file)
@@ -240,8 +240,14 @@ Accidental_interface::print (SCM smob)
 }
 
 /*
-  TODO: should move inside-slur into item?
+  TODO: should move avoid-slur into item?
 */
 ADD_INTERFACE (Accidental_interface, "accidental-interface",
               "a single accidental",
-              "inside-slur cautionary cautionary-style style tie accidentals");
+              "accidentals "
+              "avoid-slur "
+              "cautionary "
+              "cautionary-style "
+              "style "
+              "tie "
+              );
index 2be42433a2e6ebf579aa570034d0471e7535651c..c240642d8fd69be999b99709b9f0a2b81732348f 100644 (file)
@@ -103,8 +103,8 @@ Phrasing_slur_engraver::acknowledge_extra_object (Grob_info info)
       for (int i = end_slurs_.size (); i--;)
        Slur::add_extra_encompass (end_slurs_[i], e);
     }
-  else if (avoid != ly_symbol2scm ("inside")
-          && e->name () != "DynamicText")
+  else if (avoid == ly_symbol2scm ("outside")
+          || avoid == ly_symbol2scm ("around"))
     {
       Grob *slur = slurs_.size () ? slurs_[0] : 0;
       slur = (end_slurs_.size () && !slur)
index f796c58e38ff03d4ef21c01f17911af2d8f01543..1b313ffc65819099e0aa6539913eabb664aa76bc 100644 (file)
@@ -90,12 +90,22 @@ struct Text_script
 
 ADD_INTERFACE (Text_script, "text-script-interface",
               "An object that is put above or below a note",
-              "add-stem-support slur script-priority inside-slur");
+              "add-stem-support "
+              "avoid-slur "
+              "script-priority "
+              "slur "
+              );
 
 /*
   Hmm. Where should we put add-stem-support ?
 */
 ADD_INTERFACE (Script_interface, "script-interface",
               "An object that is put above or below a note",
-              "add-stem-support slur-padding slur script-priority script-stencil inside-slur");
+              "add-stem-support "
+              "avoid-slur "
+              "script-priority "
+              "script-stencil "
+              "slur "
+              "slur-padding "
+              );
 
index 6f76ed297f8c2e6cf7ebe1d2570faed2462e7304..f24a377c3d71dd8a6019911cc08e5d80479f0e93 100644 (file)
@@ -102,7 +102,8 @@ Slur_engraver::acknowledge_extra_object (Grob_info info)
       for (int i = end_slurs_.size (); i--;)
        Slur::add_extra_encompass (end_slurs_[i], e);
     }
-  else if (avoid != ly_symbol2scm ("inside")
+  else if ((avoid == ly_symbol2scm ("outside")
+           || avoid == ly_symbol2scm ("around"))
           && e->name () != "DynamicText")
     {
       Grob *slur = slurs_.size () ? slurs_[0] : 0;
index 8a477c570be47ed0b2d47c7ddd4744724072911a..fb4e97fff259051a2a6a26e735e6ef96253d8a9b 100644 (file)
@@ -277,8 +277,8 @@ slur, the closer it is to this height.")
 of note-column for horizontal shifting. This is used by
 @internalsref{note-collision-interface}.")
      (avoid-slur ,symbol? "Method of handling slur collisions.
-Choices are @{around}, @{ignore}, @{inside}, @{outside}.  If
-unset, script and slur ignore eachother.")
+Choices are @{around}, @{inside}, @{outside}.  If unset, script
+and slur ignore eachother.")
      (inspect-quants ,number-pair? "If debugging is set,
 set beam quant to this position, and print the respective scores.")
 
index 2aa0c7dc4f86594c8bbd0bfd3334019268564f23..c1df9d2044dad6db56319d2c9cfd641bfeb394b3 100644 (file)
        ;; sync with TextScript (?)
 
        (padding . 0.5)
+       (avoid-slur . around)
        (slur-padding . 0.2)
        (staff-padding . 0.5)
        (self-alignment-X . 0)
        (padding . 0.5)
        (staff-padding . 0.5)
        (before-line-breaking-callback . ,Script_interface::before_line_breaking)
+       (avoid-slur . around)
        (slur-padding . 0.5)
        (script-priority . 200)
        ;; todo: add X self alignment?