X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fepisema-engraver.cc;h=b58379482935219386b277c199f7ee81250e43b7;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hp=ca0452932d67eac54926e66b992ea876d8e0bfbd;hpb=99b6f3aa3558b01c9d4158b19a1f1794c534f89c;p=lilypond.git diff --git a/lily/episema-engraver.cc b/lily/episema-engraver.cc index ca0452932d..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 () - : unsmob_grob (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 () - : unsmob_grob (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 */