X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fballoon-engraver.cc;h=610a9906f0213b520b07eb82f2f406e6ca426ecf;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=4899ab7c50495b8cdb343db439590b8aefbe441b;hpb=08560a1b8076630c4fc6cb9b902614d8b74fd6fc;p=lilypond.git diff --git a/lily/balloon-engraver.cc b/lily/balloon-engraver.cc index 4899ab7c50..610a9906f0 100644 --- a/lily/balloon-engraver.cc +++ b/lily/balloon-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2012 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 @@ -28,8 +28,8 @@ class Balloon_engraver : public Engraver { TRANSLATOR_DECLARATIONS (Balloon_engraver); - DECLARE_TRANSLATOR_LISTENER (annotate_output); - DECLARE_ACKNOWLEDGER (grob); + void listen_annotate_output (Stream_event *); + void acknowledge_grob (Grob_info); vector events_; void stop_translation_timestep (); @@ -37,7 +37,6 @@ class Balloon_engraver : public Engraver void balloonify (Grob *, Stream_event *); }; -IMPLEMENT_TRANSLATOR_LISTENER (Balloon_engraver, annotate_output); void Balloon_engraver::listen_annotate_output (Stream_event *ev) { @@ -50,7 +49,8 @@ Balloon_engraver::stop_translation_timestep () events_.clear (); } -Balloon_engraver::Balloon_engraver () +Balloon_engraver::Balloon_engraver (Context *c) + : Engraver (c) { } @@ -71,7 +71,7 @@ Balloon_engraver::acknowledge_grob (Grob_info info) SCM arts = cause ? cause->get_property ("articulations") : SCM_EOL; for (SCM s = arts; scm_is_pair (s); s = scm_cdr (s)) { - Stream_event *e = unsmob_stream_event (scm_car (s)); + Stream_event *e = unsmob (scm_car (s)); if (e->in_event_class ("annotate-output-event")) { balloonify (info.grob (), e); @@ -85,7 +85,13 @@ Balloon_engraver::acknowledge_grob (Grob_info info) } } -ADD_ACKNOWLEDGER (Balloon_engraver, grob); + +void +Balloon_engraver::boot () +{ + ADD_LISTENER (Balloon_engraver, annotate_output); + ADD_ACKNOWLEDGER (Balloon_engraver, grob); +} ADD_TRANSLATOR (Balloon_engraver, /* doc */