CVSROOT: /cvsroot/lilypond
Module name: lilypond
Branch:
Changes by: Han-Wen Nienhuys <[EMAIL PROTECTED]> 05/08/24 15:54:57
Modified files:
. : ChangeLog THANKS
Documentation/topdocs: NEWS.tely
input/regression: multi-measure-rest-text.ly
lily : bezier.cc multi-measure-rest.cc
lily/include : multi-measure-rest.hh
scm : define-grobs.scm framework-ps.scm
Log message:
(set_text_rods): new function.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4074&tr2=1.4075&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/THANKS.diff?tr1=1.144&tr2=1.145&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/topdocs/NEWS.tely.diff?tr1=1.78&tr2=1.79&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/input/regression/multi-measure-rest-text.ly.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/bezier.cc.diff?tr1=1.64&tr2=1.65&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/multi-measure-rest.cc.diff?tr1=1.126&tr2=1.127&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/multi-measure-rest.hh.diff?tr1=1.43&tr2=1.44&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.231&tr2=1.232&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/framework-ps.scm.diff?tr1=1.133&tr2=1.134&r1=text&r2=text
Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4074 lilypond/ChangeLog:1.4075
--- lilypond/ChangeLog:1.4074 Wed Aug 24 12:49:53 2005
+++ lilypond/ChangeLog Wed Aug 24 15:54:55 2005
@@ -1,5 +1,11 @@
2005-08-24 Han-Wen Nienhuys <[EMAIL PROTECTED]>
+ * lily/multi-measure-rest.cc (set_text_rods): new function.
+
+ * lily/vertical-align-engraver.cc (process_music): call
+ Align_interface::set_axis(). This forces #'elements to be ordered,
+ preventing random vertical reordering of staves.
+
* scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
add avoid-slur property.
Index: lilypond/Documentation/topdocs/NEWS.tely
diff -u lilypond/Documentation/topdocs/NEWS.tely:1.78
lilypond/Documentation/topdocs/NEWS.tely:1.79
--- lilypond/Documentation/topdocs/NEWS.tely:1.78 Wed Aug 24 14:30:55 2005
+++ lilypond/Documentation/topdocs/NEWS.tely Wed Aug 24 15:54:56 2005
@@ -23,7 +23,7 @@
@macro textanchor{NAME}
@html
-<a name href="\NAME\"></a>
+<a name="\NAME\"></a>
@end html
@end macro
@@ -42,7 +42,21 @@
@end ifhtml
+
+
@itemize @bullet
+
+
[EMAIL PROTECTED]
+Texts over multi measure rests now stretch corresponding measure.
+
[EMAIL PROTECTED],fragment,raggedright]
+c1 R1 R1^"Very long long long text"
[EMAIL PROTECTED] lilypond
+
+This feature was sponsored by Kris Shaffer.
+
+
@item @textanchor{tie-chords}
Formatting of ties in chords has been improved. Ties no longer collide
with note heads and stems. In addition, it is possible to manually
Index: lilypond/THANKS
diff -u lilypond/THANKS:1.144 lilypond/THANKS:1.145
--- lilypond/THANKS:1.144 Wed Aug 24 12:22:51 2005
+++ lilypond/THANKS Wed Aug 24 15:54:56 2005
@@ -25,6 +25,7 @@
Jamie Bullock
D. Josiah Boothby
Kieren MacMillan
+Kris Shaffer
Nancho Alvarez
Steve Doonan
Sven Axelsson
Index: lilypond/input/regression/multi-measure-rest-text.ly
diff -u lilypond/input/regression/multi-measure-rest-text.ly:1.27
lilypond/input/regression/multi-measure-rest-text.ly:1.28
--- lilypond/input/regression/multi-measure-rest-text.ly:1.27 Thu Aug 18
13:43:05 2005
+++ lilypond/input/regression/multi-measure-rest-text.ly Wed Aug 24
15:54:56 2005
@@ -10,6 +10,7 @@
}
+\layout { raggedright = ##t }
{
\time 3/4
\set Score.skipBars = ##t
@@ -18,5 +19,6 @@
R2.^"4"
R2.*3_\markup { \roman "a1b2c3" }
R2.*10^"inner"^"top"_"inner"_"bot"
+ R2.^"very very very very very very long text"
c'2.
}
Index: lilypond/lily/bezier.cc
diff -u lilypond/lily/bezier.cc:1.64 lilypond/lily/bezier.cc:1.65
--- lilypond/lily/bezier.cc:1.64 Sat Aug 13 21:35:23 2005
+++ lilypond/lily/bezier.cc Wed Aug 24 15:54:56 2005
@@ -12,7 +12,9 @@
#include "warn.hh"
#include "libc-extension.hh"
-Real binomial_coefficient_3[] = {1, 3, 3, 1};
+Real binomial_coefficient_3[] = {
+ 1, 3, 3, 1
+};
Real
binomial_coefficient (Real over, int under)
Index: lilypond/lily/include/multi-measure-rest.hh
diff -u lilypond/lily/include/multi-measure-rest.hh:1.43
lilypond/lily/include/multi-measure-rest.hh:1.44
--- lilypond/lily/include/multi-measure-rest.hh:1.43 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/include/multi-measure-rest.hh Wed Aug 24 15:54:56 2005
@@ -20,6 +20,7 @@
DECLARE_SCHEME_CALLBACK (percent, (SCM));
static void add_column (Grob *, Item *);
DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM));
+ DECLARE_SCHEME_CALLBACK (set_text_rods, (SCM));
DECLARE_SCHEME_CALLBACK (centered_stencil, (SCM));
static Stencil big_rest (Grob *, Real);
Index: lilypond/lily/multi-measure-rest.cc
diff -u lilypond/lily/multi-measure-rest.cc:1.126
lilypond/lily/multi-measure-rest.cc:1.127
--- lilypond/lily/multi-measure-rest.cc:1.126 Sat Aug 13 21:35:22 2005
+++ lilypond/lily/multi-measure-rest.cc Wed Aug 24 15:54:56 2005
@@ -328,7 +328,66 @@
return SCM_UNSPECIFIED;
}
+/*
+ Ugh. Cut & paste.
+ */
+MAKE_SCHEME_CALLBACK (Multi_measure_rest, set_text_rods, 1);
+SCM
+Multi_measure_rest::set_text_rods (SCM smob)
+{
+ Grob *me = unsmob_grob (smob);
+
+ Spanner *sp = dynamic_cast<Spanner *> (me);
+ if (! (sp->get_bound (LEFT) && sp->get_bound (RIGHT)))
+ {
+ programming_error ("Multi_measure_rest::get_rods (): I am not spanned!");
+ return SCM_UNSPECIFIED;
+ }
+
+ Item *li = sp->get_bound (LEFT)->get_column ();
+ Item *ri = sp->get_bound (RIGHT)->get_column ();
+ Item *lb = li->find_prebroken_piece (RIGHT);
+ Item *rb = ri->find_prebroken_piece (LEFT);
+
+ Item *combinations[4][2] = {{li, ri},
+ {lb, ri},
+ {li, rb},
+ {lb, rb}};
+
+ SCM st = me->get_uncached_stencil ();
+ Real len = unsmob_stencil (st)
+ ? unsmob_stencil (st)->extent (X_AXIS).length ()
+ : 0.0;
+
+
+ for (int i = 0; i < 4; i++)
+ {
+ Item *li = combinations[i][0];
+ Item *ri = combinations[i][1];
+
+ if (!li || !ri)
+ continue;
+
+ Rod rod;
+ rod.item_drul_[LEFT] = li;
+ rod.item_drul_[RIGHT] = ri;
+
+ rod.distance_ = len;
+
+ Real minlen = robust_scm2double (me->get_property ("minimum-length"), 0);
+ rod.distance_ = max (rod.distance_, minlen);
+ rod.add_to_cols ();
+ }
+ return SCM_UNSPECIFIED;
+}
+
+
ADD_INTERFACE (Multi_measure_rest, "multi-measure-rest-interface",
"A rest that spans a whole number of measures.",
- "expand-limit measure-count hair-thickness thick-thickness
use-breve-rest minimum-length");
+ "expand-limit "
+ "measure-count "
+ "hair-thickness "
+ "thick-thickness "
+ "use-breve-rest "
+ "minimum-length");
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.231 lilypond/scm/define-grobs.scm:1.232
--- lilypond/scm/define-grobs.scm:1.231 Mon Aug 22 00:58:02 2005
+++ lilypond/scm/define-grobs.scm Wed Aug 24 15:54:57 2005
@@ -833,9 +833,11 @@
self-alignment-interface
font-interface
text-interface))))))
+
(MultiMeasureRestText
. (
(print-function . ,Text_interface::print)
+ (spacing-procedure . ,Multi_measure_rest::set_text_rods)
(X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
,Self_alignment_interface::centered_on_other_axis_parent))
(Y-offset-callbacks . (,Side_position_interface::aligned_side))
Index: lilypond/scm/framework-ps.scm
diff -u lilypond/scm/framework-ps.scm:1.133 lilypond/scm/framework-ps.scm:1.134
--- lilypond/scm/framework-ps.scm:1.133 Sat Aug 20 23:20:19 2005
+++ lilypond/scm/framework-ps.scm Wed Aug 24 15:54:57 2005
@@ -493,7 +493,6 @@
(scale (ly:output-def-lookup paper 'outputscale))
(to-dump-systems '()))
- (display systems)
;; skip booktitles.
(if (and
(not
_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs