/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1998--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1998--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
vector<Tuplet_description> stopped_tuplets_;
vector<Spanner *> 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)
{
if (stopped_tuplets_[i].full_length_)
{
Item *col
- = Item::unsmob (stopped_tuplets_[i].full_length_note_
+ = unsmob<Item> (stopped_tuplets_[i].full_length_note_
? get_property ("currentMusicalColumn")
: get_property ("currentCommandColumn"));
if (to_boolean (get_property ("tupletFullLength")))
for (vsize i = 0; i < last_tuplets_.size (); i++)
{
- Item *col = Item::unsmob (get_property ("currentCommandColumn"));
+ Item *col = unsmob<Item> (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.",