/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1999--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1999--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
TRANSLATOR_DECLARATIONS (Note_name_engraver);
vector<Stream_event *> events_;
- DECLARE_TRANSLATOR_LISTENER (note);
+ void listen_note (Stream_event *);
void process_music ();
void stop_translation_timestep ();
};
-IMPLEMENT_TRANSLATOR_LISTENER (Note_name_engraver, note);
void
Note_name_engraver::listen_note (Stream_event *ev)
{
for (vsize i = 0; i < events_.size (); i++)
{
if (i)
- s += " ";
- Pitch p = *unsmob_pitch (events_[i]->get_property ("pitch"));
+ s += " ";
+ Pitch p = *unsmob<Pitch> (events_[i]->get_property ("pitch"));
if (!to_boolean (get_property ("printOctaveNames")))
- p = Pitch (-1, p.get_notename (), p.get_alteration ());
+ p = Pitch (-1, p.get_notename (), p.get_alteration ());
s += p.to_string ();
}
events_.clear ();
}
-Note_name_engraver::Note_name_engraver ()
+Note_name_engraver::Note_name_engraver (Context *c)
+ : Engraver (c)
{
}
+void
+Note_name_engraver::boot ()
+{
+ ADD_LISTENER (Note_name_engraver, note);
+}
+
ADD_TRANSLATOR (Note_name_engraver,
- /* doc */
- "Print pitches as words.",
+ /* doc */
+ "Print pitches as words.",
- /* create */
- "NoteName ",
+ /* create */
+ "NoteName ",
- /* read */
- "printOctaveNames ",
+ /* read */
+ "printOctaveNames ",
- /* write */
- ""
- );
+ /* write */
+ ""
+ );