X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftuplet-engraver.cc;h=61f623c54638d435d90b71212ac429b7cb48bf3c;hb=77267b700c377fd170abcbf4863728937038eb5e;hp=c3529de747dde4747f223550595dd84514e81fad;hpb=058370efc7e9710f149d0f444328bb1fcd7bdec1;p=lilypond.git diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index c3529de747..61f623c546 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--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 @@ -63,17 +63,16 @@ protected: vector stopped_tuplets_; vector last_tuplets_; - DECLARE_ACKNOWLEDGER (note_column); - DECLARE_ACKNOWLEDGER (script); - DECLARE_ACKNOWLEDGER (finger); - DECLARE_ACKNOWLEDGER (string_number); - DECLARE_TRANSLATOR_LISTENER (tuplet_span); + void acknowledge_note_column (Grob_info); + void acknowledge_script (Grob_info); + void acknowledge_finger (Grob_info); + void acknowledge_string_number (Grob_info); + void listen_tuplet_span (Stream_event *); virtual void finalize (); void start_translation_timestep (); void process_music (); }; -IMPLEMENT_TRANSLATOR_LISTENER (Tuplet_engraver, tuplet_span); void Tuplet_engraver::listen_tuplet_span (Stream_event *ev) { @@ -138,7 +137,7 @@ Tuplet_engraver::process_music () if (stopped_tuplets_[i].full_length_) { Item *col - = unsmob_item (stopped_tuplets_[i].full_length_note_ + = unsmob (stopped_tuplets_[i].full_length_note_ ? get_property ("currentMusicalColumn") : get_property ("currentCommandColumn")); @@ -263,19 +262,26 @@ Tuplet_engraver::finalize () if (to_boolean (get_property ("tupletFullLength"))) for (vsize i = 0; i < last_tuplets_.size (); i++) { - Item *col = unsmob_item (get_property ("currentCommandColumn")); + Item *col = unsmob (get_property ("currentCommandColumn")); last_tuplets_[i]->set_bound (RIGHT, col); } } -Tuplet_engraver::Tuplet_engraver () +Tuplet_engraver::Tuplet_engraver (Context *c) + : Engraver (c) { } -ADD_ACKNOWLEDGER (Tuplet_engraver, note_column); -ADD_ACKNOWLEDGER (Tuplet_engraver, script); -ADD_ACKNOWLEDGER (Tuplet_engraver, finger); -ADD_ACKNOWLEDGER (Tuplet_engraver, string_number); +void +Tuplet_engraver::boot () +{ + ADD_LISTENER (Tuplet_engraver, tuplet_span); + ADD_ACKNOWLEDGER (Tuplet_engraver, note_column); + ADD_ACKNOWLEDGER (Tuplet_engraver, script); + ADD_ACKNOWLEDGER (Tuplet_engraver, finger); + ADD_ACKNOWLEDGER (Tuplet_engraver, string_number); +} + ADD_TRANSLATOR (Tuplet_engraver, /* doc */ "Catch tuplet events and generate appropriate bracket.",