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 Lilypond-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-cvs