CVSROOT: /cvsroot/lilypond
Module name: lilypond
Branch:
Changes by: Jan Nieuwenhuizen <[EMAIL PROTECTED]> 05/08/18 09:26:26
Modified files:
scm : define-grobs.scm define-grob-properties.scm
lily : slur.cc slur-engraver.cc
side-position-interface.cc
phrasing-slur-engraver.cc
input/regression: slur-script.ly
Documentation/topdocs: NEWS.tely
. : ChangeLog
Log message:
* scm/define-grob-properties.scm (avoid-slur): New property.
* 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.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.223&tr2=1.224&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grob-properties.scm.diff?tr1=1.112&tr2=1.113&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/slur.cc.diff?tr1=1.223&tr2=1.224&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/slur-engraver.cc.diff?tr1=1.114&tr2=1.115&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/side-position-interface.cc.diff?tr1=1.100&tr2=1.101&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/phrasing-slur-engraver.cc.diff?tr1=1.55&tr2=1.56&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/input/regression/slur-script.ly.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/topdocs/NEWS.tely.diff?tr1=1.67&tr2=1.68&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4027&tr2=1.4028&r1=text&r2=text
Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4027 lilypond/ChangeLog:1.4028
--- lilypond/ChangeLog:1.4027 Thu Aug 18 09:11:49 2005
+++ lilypond/ChangeLog Thu Aug 18 09:26:26 2005
@@ -1,3 +1,17 @@
+2005-08-18 Jan Nieuwenhuizen <[EMAIL PROTECTED]>
+
+ * scm/define-grob-properties.scm (avoid-slur): New property.
+
+ * 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.
+
2005-08-17 Graham Percival <[EMAIL PROTECTED]>
* Documentation/user/lilypond-book: fix notime entry.
@@ -138,7 +152,8 @@
* lily/rest-collision.cc (do_shift): spello.
- * input/proportional.ly: use #'used property. Set break-overshoot
property.
+ * input/proportional.ly: use #'used property. Set break-overshoot
+ property.
* mf/feta-arrow.mf: center on arrow tip center, iso. tip edge.
Index: lilypond/Documentation/topdocs/NEWS.tely
diff -u lilypond/Documentation/topdocs/NEWS.tely:1.67
lilypond/Documentation/topdocs/NEWS.tely:1.68
--- lilypond/Documentation/topdocs/NEWS.tely:1.67 Tue Aug 16 23:35:09 2005
+++ lilypond/Documentation/topdocs/NEWS.tely Thu Aug 18 09:26:25 2005
@@ -50,13 +50,13 @@
@item
Text scripts such as fingering instructions and dynamics avoid
-collisions with Slurs
+collisions with slurs
@lilypond[fragment,relative=1]
{
- b_1( b <b d f>_1_3_5)
+ b_1( f'_1_2_3 c_3_4_5 a)
+ b( f'\p b,)
c-2_\markup { \italic {"cresc."}}( f c)
- c-3( c\f c)
}
@end lilypond
Index: lilypond/input/regression/slur-script.ly
diff -u lilypond/input/regression/slur-script.ly:1.13
lilypond/input/regression/slur-script.ly:1.14
--- lilypond/input/regression/slur-script.ly:1.13 Mon Aug 15 19:23:02 2005
+++ lilypond/input/regression/slur-script.ly Thu Aug 18 09:26:25 2005
@@ -1,12 +1,13 @@
\header {
- texidoc = "A slur avoids collisions with scripts. Only articulations
- go inside the slur, dynamic markings, fingerings texts etc. go outside
- of slur.
+ texidoc = "A slur avoids collisions with scripts. Articulations
+ go inside the slur, dynamic markings go outside the slur.
+ Fingerings and texts are placed either inside or outside.
- For different configurations, the scripts can be moved manually."
- }
+ For different configurations, the defaults can be changed, and
+ scripts can be moved manually."
+ }
\version "2.6.0"
\layout {
@@ -17,12 +18,15 @@
b4-.( b-. b-.)
b(-. d-.)
- b_1( b b_1_2_3)
- %% Allow Fingering to go inside slur.
- \override Fingering #'inside-slur = ##t
- b( d_1 b)
- c_\markup { \italic {"cresc."}}( f c)
- c( c\f c)
+ b_1( f'_1_2_3 c_3_4_5 a)
+ b( f'\p b,)
+
+ %% Do not force dynamics outside slur, only avoid collisions.
+ \override DynamicLineSpanner #'avoid-slur = #'()
+ \override DynamicLineSpanner #'padding = #0.3
+ b( e\p e\f b)
+
+ c_\markup { \italic {"cresc."}}( c c)
\once \override Script #'padding = #1.2
b-.( b-.
\once \override Script #'padding = #1.2
Index: lilypond/lily/phrasing-slur-engraver.cc
diff -u lilypond/lily/phrasing-slur-engraver.cc:1.55
lilypond/lily/phrasing-slur-engraver.cc:1.56
--- lilypond/lily/phrasing-slur-engraver.cc:1.55 Mon Aug 15 19:23:02 2005
+++ lilypond/lily/phrasing-slur-engraver.cc Thu Aug 18 09:26:25 2005
@@ -94,16 +94,16 @@
Phrasing_slur_engraver::acknowledge_extra_object (Grob_info info)
{
Grob *e = info.grob ();
- SCM inside = e->get_property ("inside-slur");
+ SCM avoid = e->get_property ("avoid-slur");
if (Tie::has_interface (e)
- || to_boolean (inside))
+ || avoid == ly_symbol2scm ("inside"))
{
for (int i = slurs_.size (); i--;)
Slur::add_extra_encompass (slurs_[i], e);
for (int i = end_slurs_.size (); i--;)
Slur::add_extra_encompass (end_slurs_[i], e);
}
- else if (inside == SCM_BOOL_F
+ else if (avoid != ly_symbol2scm ("inside")
&& e->name () != "DynamicText")
{
Grob *slur = slurs_.size () ? slurs_[0] : 0;
Index: lilypond/lily/side-position-interface.cc
diff -u lilypond/lily/side-position-interface.cc:1.100
lilypond/lily/side-position-interface.cc:1.101
--- lilypond/lily/side-position-interface.cc:1.100 Sat Aug 13 21:35:22 2005
+++ lilypond/lily/side-position-interface.cc Thu Aug 18 09:26:25 2005
@@ -263,4 +263,5 @@
"side-relative-direction "
"side-support-elements "
"slur-padding "
- "staff-padding ");
+ "staff-padding "
+ );
Index: lilypond/lily/slur-engraver.cc
diff -u lilypond/lily/slur-engraver.cc:1.114
lilypond/lily/slur-engraver.cc:1.115
--- lilypond/lily/slur-engraver.cc:1.114 Mon Aug 15 18:06:06 2005
+++ lilypond/lily/slur-engraver.cc Thu Aug 18 09:26:25 2005
@@ -93,16 +93,16 @@
Slur_engraver::acknowledge_extra_object (Grob_info info)
{
Grob *e = info.grob ();
- SCM inside = e->get_property ("inside-slur");
+ SCM avoid = e->get_property ("avoid-slur");
if (Tie::has_interface (e)
- || to_boolean (inside))
+ || avoid == ly_symbol2scm ("inside"))
{
for (int i = slurs_.size (); i--;)
Slur::add_extra_encompass (slurs_[i], e);
for (int i = end_slurs_.size (); i--;)
Slur::add_extra_encompass (end_slurs_[i], e);
}
- else if (inside == SCM_BOOL_F
+ else if (avoid != ly_symbol2scm ("inside")
&& e->name () != "DynamicText")
{
Grob *slur = slurs_.size () ? slurs_[0] : 0;
Index: lilypond/lily/slur.cc
diff -u lilypond/lily/slur.cc:1.223 lilypond/lily/slur.cc:1.224
--- lilypond/lily/slur.cc:1.223 Fri Aug 12 00:04:45 2005
+++ lilypond/lily/slur.cc Thu Aug 18 09:26:25 2005
@@ -184,6 +184,7 @@
bool consider[] = { false, false, false };
Real ys[] = {0, 0, 0};
bool do_shift = false;
+ SCM avoid = script->get_property ("avoid-slur");
for (int d = LEFT, k = 0; d <= RIGHT; d++, k++)
{
@@ -201,8 +202,10 @@
consider[k] = true;
/* Request shift if slur is contained script's Y, or if
- script is fully inside slur. */
- if (yext.contains (ys[k]) || dir * ys[k] > dir * yext[-dir])
+ script is inside slur and avoid == outside. */
+ if (yext.contains (ys[k])
+ || (avoid == ly_symbol2scm ("outside")
+ && dir * ys[k] > dir * yext[-dir]))
do_shift = true;
}
}
Index: lilypond/scm/define-grob-properties.scm
diff -u lilypond/scm/define-grob-properties.scm:1.112
lilypond/scm/define-grob-properties.scm:1.113
--- lilypond/scm/define-grob-properties.scm:1.112 Mon Aug 15 13:07:32 2005
+++ lilypond/scm/define-grob-properties.scm Thu Aug 18 09:26:25 2005
@@ -276,9 +276,9 @@
(horizontal-shift ,integer? "An integer that identifies ranking
of note-column for horizontal shifting. This is used by
@internalsref{note-collision-interface}.")
- (inside-slur ,boolean? "If set, this script should be inside the
-slur. If set to false, the script places itself around the slur. If
-unset, script and slur ignore each other ")
+ (avoid-slur ,symbol? "Method of handling slur collisions.
+Choices are @{around}, @{ignore}, @{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: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.223 lilypond/scm/define-grobs.scm:1.224
--- lilypond/scm/define-grobs.scm:1.223 Tue Aug 16 15:47:43 2005
+++ lilypond/scm/define-grobs.scm Thu Aug 18 09:26:25 2005
@@ -20,7 +20,7 @@
(Accidental
. (
(print-function . ,Accidental_interface::print)
- (inside-slur . #t)
+ (avoid-slur . inside)
(cautionary-style . parentheses)
(after-line-breaking-callback .
,Accidental_interface::after_line_breaking)
(meta . ((class . Item)
@@ -478,7 +478,7 @@
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
(staff-padding . 0.1)
(padding . 0.6)
- (inside-slur . #f)
+ (avoid-slur . outside)
(slur-padding . 0.3)
(minimum-space . 1.2)
(direction . -1)
@@ -536,7 +536,6 @@
;; sync with TextScript (?)
(padding . 0.5)
- (inside-slur . #f)
(slur-padding . 0.2)
(staff-padding . 0.5)
(self-alignment-X . 0)
@@ -1409,7 +1408,6 @@
(padding . 0.5)
(staff-padding . 0.5)
(before-line-breaking-callback .
,Script_interface::before_line_breaking)
- (inside-slur . #f)
(slur-padding . 0.5)
(script-priority . 200)
;; todo: add X self alignment?
_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs