]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/span-score-bar-engraver.cc
release: 1.3.19
[lilypond.git] / lily / span-score-bar-engraver.cc
index ecccf6e4a9eff92e93652f3c632d0ca44663b677..98782a58da259b81111eb6243e6b2a769c8d3963 100644 (file)
@@ -4,7 +4,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "span-bar.hh"
 #include "paper-def.hh"
 #include "dimension-cache.hh"
 
-ADD_THIS_TRANSLATOR (Piano_bar_engraver);
-ADD_THIS_TRANSLATOR (Staff_group_bar_engraver);
-ADD_THIS_TRANSLATOR (Span_score_bar_engraver);
-
 Span_bar*
 Span_score_bar_engraver::get_span_bar_p () const
 {
   Span_bar*s =  new Span_bar;
-  s->set_elt_property ("default-glyph",  gh_str02scm ("scorebar"));
+  s->set_elt_property ("glyph",  gh_str02scm ("scorebar"));
   s->set_elt_property ("break-aligned",SCM_BOOL_T);
 
   return s;
 }
 
+
 Span_score_bar_engraver::Span_score_bar_engraver ()
 {
   use_priority_b_ = true;
@@ -36,29 +33,16 @@ Piano_bar_engraver::get_span_bar_p () const
 {
   Span_bar *s= new Span_bar;
   s->set_empty (X_AXIS);
-  s->set_elt_property ("default-glyph", gh_str02scm ("brace"));
+  s->set_elt_property ("glyph", gh_str02scm ("brace"));
   return s;
 }
 
-void
-Piano_bar_engraver::acknowledge_element (Score_element_info i)
-{
-  Base_span_bar_engraver::acknowledge_element (i);
-
-  if (Span_bar * b = dynamic_cast<Span_bar *> (i.elem_l_))
-    {
-      SCM g = b->get_elt_property ("default-glyph");
-      if (gh_string_p (g) && (ly_scm2string (g) == "bracket"))
-       spanbar_p_->set_elt_property ("other", b->self_scm_);
-    }
-}
-
 Span_bar*
 Staff_group_bar_engraver::get_span_bar_p () const
 {
   Span_bar *s= new Span_bar;
   s->set_empty (X_AXIS);
-  s->set_elt_property ("default-glyph",  gh_str02scm ("bracket"));
+  s->set_elt_property ("glyph",  gh_str02scm ("bracket"));
   return s;
 }
 
@@ -66,16 +50,17 @@ void
 Staff_group_bar_engraver::acknowledge_element (Score_element_info i)
 {
   Base_span_bar_engraver::acknowledge_element (i);
-
-  if (!spanbar_p_)
-    return;
-
   if (Span_bar * b = dynamic_cast<Span_bar *> (i.elem_l_))
     {
-      SCM g = b->get_elt_property ("default-glyph");
-      if (gh_string_p (g) && (ly_scm2string (g) == "brace"))
-       spanbar_p_->set_elt_property ("other", b->self_scm_);
+      SCM gl = b->get_elt_property ("glyph");
+      if (gh_string_p (gl) && ly_scm2string (gl)  == "brace")
+       b->translate_axis ( -paper_l ()->get_var ("interline"),
+                           X_AXIS); // ugh
     }
 }
 
+ADD_THIS_TRANSLATOR (Piano_bar_engraver);
+ADD_THIS_TRANSLATOR (Staff_group_bar_engraver);
+ADD_THIS_TRANSLATOR (Span_score_bar_engraver);
+