X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fepisema-engraver.cc;h=b58379482935219386b277c199f7ee81250e43b7;hb=926115ff42def8bc1ce767029e4f03c8072994ba;hp=4c60b2d9dbe145791dcfdf9064c7e47332a84515;hpb=5bbfc22fce036b9b69df5e420de93e11da23c05e;p=lilypond.git diff --git a/lily/episema-engraver.cc b/lily/episema-engraver.cc index 4c60b2d9db..b583794829 100644 --- a/lily/episema-engraver.cc +++ b/lily/episema-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Neil Puttock + Copyright (C) 2010--2015 Neil Puttock LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,9 +33,9 @@ public: TRANSLATOR_DECLARATIONS (Episema_engraver); protected: virtual void finalize (); - DECLARE_TRANSLATOR_LISTENER (episema); - DECLARE_ACKNOWLEDGER (note_column); - DECLARE_ACKNOWLEDGER (note_head); + void listen_episema (Stream_event *); + void acknowledge_note_column (Grob_info); + void acknowledge_note_head (Grob_info); void stop_translation_timestep (); void process_music (); @@ -48,7 +48,8 @@ private: void typeset_all (); }; -Episema_engraver::Episema_engraver () +Episema_engraver::Episema_engraver (Context *c) + : Engraver (c) { finished_ = 0; current_event_ = 0; @@ -56,7 +57,6 @@ Episema_engraver::Episema_engraver () event_drul_.set (0, 0); } -IMPLEMENT_TRANSLATOR_LISTENER (Episema_engraver, episema); void Episema_engraver::listen_episema (Stream_event *ev) { @@ -106,7 +106,7 @@ Episema_engraver::typeset_all () { Grob *col = (note_columns_.size () ? note_columns_.back () - : Grob::unsmob (get_property ("currentMusicalColumn"))); + : unsmob (get_property ("currentMusicalColumn"))); finished_->set_bound (RIGHT, col); } finished_ = 0; @@ -120,7 +120,7 @@ Episema_engraver::stop_translation_timestep () { Grob *col = (note_columns_.size () ? note_columns_.front () - : Grob::unsmob (get_property ("currentMusicalColumn"))); + : unsmob (get_property ("currentMusicalColumn"))); span_->set_bound (LEFT, col); } @@ -161,8 +161,14 @@ Episema_engraver::acknowledge_note_head (Grob_info info) } } -ADD_ACKNOWLEDGER (Episema_engraver, note_column); -ADD_ACKNOWLEDGER (Episema_engraver, note_head); + +void +Episema_engraver::boot () +{ + ADD_LISTENER (Episema_engraver, episema); + ADD_ACKNOWLEDGER (Episema_engraver, note_column); + ADD_ACKNOWLEDGER (Episema_engraver, note_head); +} ADD_TRANSLATOR (Episema_engraver, /* doc */