From 582b47b67d9d9f217a93ead0e7aa9a50abfbf0c5 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 1 Mar 2006 20:08:35 +0000 Subject: [PATCH] * lily/volta-bracket.cc (modify_edge_height): change from after_line_breaking_callback. Suicide last bracket if appropriate. * scripts/midi2ly.py: optparse, strip lilylib copy. --- ChangeLog | 3 +++ VERSION | 2 +- lily/include/volta-bracket.hh | 2 +- lily/volta-bracket.cc | 18 ++++++++++-------- scm/define-grobs.scm | 1 - 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index e3defa773f..66afb60fca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-03-01 Han-Wen Nienhuys + * lily/volta-bracket.cc (modify_edge_height): change from + after_line_breaking_callback. Suicide last bracket if appropriate. + * python/lilylib.py: strip getopt support * scripts/etf2ly.py (do_options): use optparse diff --git a/VERSION b/VERSION index a01de27d66..8c2457bbf0 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=7 -PATCH_LEVEL=36 +PATCH_LEVEL=37 MY_PATCH_LEVEL= diff --git a/lily/include/volta-bracket.hh b/lily/include/volta-bracket.hh index 156a8c5a6e..f9999b92f6 100644 --- a/lily/include/volta-bracket.hh +++ b/lily/include/volta-bracket.hh @@ -14,7 +14,7 @@ class Volta_bracket_interface public: static bool has_interface (Grob *); DECLARE_SCHEME_CALLBACK (print, (SCM)); - DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM)); + static void modify_edge_height (Spanner *); static void add_column (Grob *, Grob *col); static void add_bar (Grob *me, Item *bar); }; diff --git a/lily/volta-bracket.cc b/lily/volta-bracket.cc index 03137d1b12..d601e476e6 100644 --- a/lily/volta-bracket.cc +++ b/lily/volta-bracket.cc @@ -63,6 +63,10 @@ Volta_bracket_interface::print (SCM smob) */ } + modify_edge_height (me); + if (!me->is_live ()) + return SCM_EOL; + Drul_array edge_height = robust_scm2interval (me->get_property ("edge-height"), Interval (1.0, 1.0)); Drul_array flare = robust_scm2interval (me->get_property ("bracket-flare"), @@ -101,17 +105,13 @@ Volta_bracket_interface::print (SCM smob) } -MAKE_SCHEME_CALLBACK(Volta_bracket_interface,after_line_breaking, 1); -SCM -Volta_bracket_interface::after_line_breaking (SCM smob) +void +Volta_bracket_interface::modify_edge_height (Spanner *me) { - Spanner *me = unsmob_spanner (smob); Spanner *orig_span = dynamic_cast (me->original ()); bool broken_first_bracket = orig_span && (orig_span->broken_intos_[0] == (Spanner *)me); - bool broken_last_bracket = orig_span && (orig_span->broken_intos_.back () == (Spanner *)me); - bool no_vertical_start = orig_span && !broken_first_bracket; bool no_vertical_end = orig_span && !broken_last_bracket; @@ -144,8 +144,10 @@ Volta_bracket_interface::after_line_breaking (SCM smob) me->set_property ("edge-height", ly_interval2scm (edge_height)); } - - return SCM_UNSPECIFIED; + + if (broken_last_bracket && no_vertical_end && no_vertical_start + && !broken_first_bracket) + me->suicide (); } void diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 077e06982e..9a4f2c86ca 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1822,7 +1822,6 @@ (VoltaBracket . ( (stencil . ,ly:volta-bracket-interface::print) - (after-line-breaking . ,ly:volta-bracket-interface::after-line-breaking) (direction . ,UP) (padding . 1) (font-encoding . fetaNumber) -- 2.39.5