X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbend-engraver.cc;h=f9eaaa71f4bed96eb985f7f07782527dc9b7ad63;hb=926115ff42def8bc1ce767029e4f03c8072994ba;hp=1d8eced4f61bc9c1c67cfcd1968123daa01e91db;hpb=4bb29573149a0ffa1f881c5e38a0fe68e9e76b67;p=lilypond.git diff --git a/lily/bend-engraver.cc b/lily/bend-engraver.cc index 1d8eced4f6..f9eaaa71f4 100644 --- a/lily/bend-engraver.cc +++ b/lily/bend-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2011 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 @@ -29,10 +29,10 @@ class Bend_engraver : public Engraver { public: TRANSLATOR_DECLARATIONS (Bend_engraver); - DECLARE_ACKNOWLEDGER (note_head); + void acknowledge_note_head (Grob_info); protected: - DECLARE_TRANSLATOR_LISTENER (bend_after); + void listen_bend_after (Stream_event *); void finalize (); void process_music (); void stop_translation_timestep (); @@ -53,7 +53,7 @@ Bend_engraver::finalize () // We shouldn't end a spanner on the last musical column of a piece because then // it would extend past the last breakable column of the piece. if (last_fall_) - last_fall_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn"))); + last_fall_->set_bound (RIGHT, unsmob (get_property ("currentCommandColumn"))); } void @@ -61,7 +61,7 @@ Bend_engraver::stop_fall () { bool bar = scm_is_string (get_property ("whichBar")); - fall_->set_bound (RIGHT, unsmob_grob (bar + fall_->set_bound (RIGHT, unsmob (bar ? get_property ("currentCommandColumn") : get_property ("currentMusicalColumn"))); last_fall_ = fall_; @@ -107,7 +107,8 @@ Bend_engraver::acknowledge_note_head (Grob_info info) now_mom ()); } -Bend_engraver::Bend_engraver () +Bend_engraver::Bend_engraver (Context *c) + : Engraver (c) { fall_ = 0; last_fall_ = 0; @@ -115,7 +116,6 @@ Bend_engraver::Bend_engraver () fall_event_ = 0; } -IMPLEMENT_TRANSLATOR_LISTENER (Bend_engraver, bend_after); void Bend_engraver::listen_bend_after (Stream_event *ev) { @@ -133,7 +133,13 @@ Bend_engraver::process_music () } } -ADD_ACKNOWLEDGER (Bend_engraver, note_head); + +void +Bend_engraver::boot () +{ + ADD_LISTENER (Bend_engraver, bend_after); + ADD_ACKNOWLEDGER (Bend_engraver, note_head); +} ADD_TRANSLATOR (Bend_engraver, /* doc */