]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/fretboard-engraver.cc
Doc-es: various updates.
[lilypond.git] / lily / fretboard-engraver.cc
index 27a922339aac23160feb8e2cfbafc7bb31bcb6ee..28b4bd1931f208e544ee219ee2eb7a65556d10ab 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2006--2014 Han-Wen Nienhuys
+  Copyright (C) 2006--2015 Han-Wen Nienhuys
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -48,9 +48,9 @@ protected:
   void stop_translation_timestep ();
   void process_music ();
   virtual void derived_mark () const;
-  DECLARE_TRANSLATOR_LISTENER (note);
-  DECLARE_TRANSLATOR_LISTENER (string_number);
-  DECLARE_TRANSLATOR_LISTENER (fingering);
+  void listen_note (Stream_event *);
+  void listen_string_number (Stream_event *);
+  void listen_fingering (Stream_event *);
 
 private:
   SCM last_placements_;
@@ -62,27 +62,25 @@ Fretboard_engraver::derived_mark () const
   scm_gc_mark (last_placements_);
 }
 
-Fretboard_engraver::Fretboard_engraver ()
+Fretboard_engraver::Fretboard_engraver (Context *c)
+  : Engraver (c)
 {
   fret_board_ = 0;
   last_placements_ = SCM_BOOL_F;
 }
 
-IMPLEMENT_TRANSLATOR_LISTENER (Fretboard_engraver, note);
 void
 Fretboard_engraver::listen_note (Stream_event *ev)
 {
   note_events_.push_back (ev);
 }
 
-IMPLEMENT_TRANSLATOR_LISTENER (Fretboard_engraver, string_number);
 void
 Fretboard_engraver::listen_string_number (Stream_event *ev)
 {
   tabstring_events_.push_back (ev);
 }
 
-IMPLEMENT_TRANSLATOR_LISTENER (Fretboard_engraver, fingering);
 void
 Fretboard_engraver::listen_fingering (Stream_event *ev)
 {
@@ -128,6 +126,14 @@ Fretboard_engraver::stop_translation_timestep ()
   fingering_events_.clear ();
 }
 
+void
+Fretboard_engraver::boot ()
+{
+  ADD_LISTENER (Fretboard_engraver, note);
+  ADD_LISTENER (Fretboard_engraver, string_number);
+  ADD_LISTENER (Fretboard_engraver, fingering);
+}
+
 ADD_TRANSLATOR (Fretboard_engraver,
                 /* doc */
                 "Generate fret diagram from one or more events of type"