]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/volta-bracket.cc
* THANKS: add Don.
[lilypond.git] / lily / volta-bracket.cc
index 7d7100e468086b9472c495b52b5c131088e97452..03137d1b12cc6f09af2fcb05ceb51cfd8266e710 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 1997--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include <cstring>
@@ -36,22 +36,11 @@ SCM
 Volta_bracket_interface::print (SCM smob)
 {
   Spanner *me = unsmob_spanner (smob);
-
-  /*
-    UGH UGH  dependency tracking.
-  */
-  SCM proc = me->get_property ("after-line-breaking-callback");
-  if (ly_is_procedure (proc))
-    {
-      me->set_property ("after-line-breaking-callback", SCM_EOL);
-      scm_call_1  (proc, me->self_scm ());
-    }
-
-  Spanner *orig_span = dynamic_cast<Spanner *> (me->original_);
+  Spanner *orig_span = dynamic_cast<Spanner *> (me->original ());
   bool broken_first_bracket = orig_span && (orig_span->broken_intos_[0]
                                            == (Spanner *)me);
   
-  Output_def *layout = me->get_layout ();
+  Output_def *layout = me->layout ();
   Real half_space = 0.5;
 
   Item *bound = dynamic_cast<Spanner *> (me)->get_bound (LEFT);
@@ -117,20 +106,20 @@ SCM
 Volta_bracket_interface::after_line_breaking (SCM smob)
 {
   Spanner *me = unsmob_spanner (smob);
-  Spanner *orig_span = dynamic_cast<Spanner *> (me->original_);
+  Spanner *orig_span = dynamic_cast<Spanner *> (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_.top () == (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;
 
   extract_grob_set (me, "bars", bars);
-  Grob *endbar = bars.size () ? bars.top () : 0;
+  Grob *endbar = bars.size () ? bars.back () : 0;
   SCM glyph = endbar ? endbar->get_property ("glyph") : SCM_EOL;
 
-  String str;
+  string str;
   if (scm_is_string (glyph))
     str = ly_scm2string (glyph);
   else