/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2005--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
vector<Grob *> semi_ties_;
void stop_translation_timestep ();
- DECLARE_ACKNOWLEDGER (note_head);
- DECLARE_TRANSLATOR_LISTENER (repeat_tie);
+ void acknowledge_note_head (Grob_info);
+ void listen_repeat_tie (Stream_event *);
public:
TRANSLATOR_DECLARATIONS (Repeat_tie_engraver);
semi_ties_.clear ();
}
-IMPLEMENT_TRANSLATOR_LISTENER (Repeat_tie_engraver, repeat_tie);
void
Repeat_tie_engraver::listen_repeat_tie (Stream_event *ev)
{
if (!semi_tie_column_)
{
- semi_tie_column_ = make_item ("RepeatTieColumn", event_->self_scm ());
+ semi_tie_column_ = make_item ("RepeatTieColumn", SCM_EOL);
}
SCM cause = event_->self_scm ();
semi_tie->set_parent (semi_tie_column_, Y_AXIS);
semi_ties_.push_back (semi_tie);
- if (is_direction (unsmob_stream_event (cause)->get_property ("direction")))
+ if (is_direction (unsmob<Stream_event> (cause)->get_property ("direction")))
{
- Direction d = to_dir (unsmob_stream_event (cause)->get_property ("direction"));
+ Direction d = to_dir (unsmob<Stream_event> (cause)->get_property ("direction"));
semi_tie->set_property ("direction", scm_from_int (d));
}
}
-ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head);
+void
+Repeat_tie_engraver::boot ()
+{
+ ADD_LISTENER (Repeat_tie_engraver, repeat_tie);
+ ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head);
+}
+
ADD_TRANSLATOR (Repeat_tie_engraver,
/* doc */
"Create repeat ties.",