/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--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
protected:
void start_translation_timestep ();
void process_music ();
- DECLARE_TRANSLATOR_LISTENER (rest);
+ void listen_rest (Stream_event *);
public:
TRANSLATOR_DECLARATIONS (Rest_engraver);
};
/*
Should merge with Note_head_engraver
*/
-Rest_engraver::Rest_engraver ()
+Rest_engraver::Rest_engraver (Context *c)
+ : Engraver (c)
{
rest_event_ = 0;
rest_ = 0;
if (rest_event_ && !rest_)
{
rest_ = make_item ("Rest", rest_event_->self_scm ());
- Pitch *p = unsmob_pitch (rest_event_->get_property ("pitch"));
+ Pitch *p = unsmob<Pitch> (rest_event_->get_property ("pitch"));
if (p)
{
}
}
-IMPLEMENT_TRANSLATOR_LISTENER (Rest_engraver, rest);
void
Rest_engraver::listen_rest (Stream_event *ev)
{
ASSIGN_EVENT_ONCE (rest_event_, ev);
}
+void
+Rest_engraver::boot ()
+{
+ ADD_LISTENER (Rest_engraver, rest);
+}
+
ADD_TRANSLATOR (Rest_engraver,
/* doc */
"Engrave rests.",