]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/horizontal-bracket-engraver.cc
* make/mutopia-vars.make:
[lilypond.git] / lily / horizontal-bracket-engraver.cc
index 232c3e9aec601055addcd7d35c3479f8c8d6d2c1..82292aaff0ad75c81f75f1427f896dd525827df2 100644 (file)
@@ -4,13 +4,15 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2002--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 2002--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "engraver.hh"
 #include "side-position-interface.hh"
 #include "note-column.hh"
-#include "group-interface.hh"
+#include "pointer-group-interface.hh"
+
+#include "translator.icc"
 
 class Horizontal_bracket_engraver : public Engraver
 {
@@ -22,16 +24,16 @@ public:
   int push_count_;
 
   virtual bool try_music (Music *);
-  virtual void stop_translation_timestep ();
-  virtual void process_music ();
-  virtual void acknowledge_grob (Grob_info);
+  void stop_translation_timestep ();
+  void process_music ();
+  DECLARE_ACKNOWLEDGER (note_column);
 };
 
+ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column);
 ADD_TRANSLATOR (Horizontal_bracket_engraver,
                "Create horizontal brackets over notes for musical analysis purposes.",
                "HorizontalBracket",
                "note-grouping-event",
-               "note-column-interface",
                "",
                "");
 
@@ -52,7 +54,7 @@ Horizontal_bracket_engraver::try_music (Music *m)
        {
          pop_count_++;
          if (pop_count_ > bracket_stack_.size ())
-           m->origin ()->warning (_ ("Don't have that many brackets."));
+           m->origin ()->warning (_ ("don't have that many brackets"));
        }
       else
        {
@@ -61,7 +63,7 @@ Horizontal_bracket_engraver::try_music (Music *m)
        }
 
       if (pop_count_ && push_count_)
-       m->origin ()->warning (_ ("Conflicting note group events."));
+       m->origin ()->warning (_ ("conflicting note group events"));
 
       return true;
     }
@@ -69,18 +71,15 @@ Horizontal_bracket_engraver::try_music (Music *m)
 }
 
 void
-Horizontal_bracket_engraver::acknowledge_grob (Grob_info gi)
+Horizontal_bracket_engraver::acknowledge_note_column (Grob_info gi)
 {
-  if (Note_column::has_interface (gi.grob_))
+  for (int i = 0; i < bracket_stack_.size (); i++)
     {
-      for (int i = 0; i < bracket_stack_.size (); i++)
-       {
-         Side_position_interface::add_support (bracket_stack_[i], gi.grob_);
-         Pointer_group_interface::add_grob (bracket_stack_[i],
-                                            ly_symbol2scm ("columns"), gi.grob_);
-         add_bound_item (bracket_stack_[i],
-                         gi.grob_);
-       }
+      Side_position_interface::add_support (bracket_stack_[i], gi.grob ());
+      Pointer_group_interface::add_grob (bracket_stack_[i],
+                                        ly_symbol2scm ("columns"), gi.grob ());
+      add_bound_item (bracket_stack_[i],
+                     gi.grob ());
     }
 }