source file of the GNU LilyPond music typesetter
- (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver.hh"
-#include "musical-request.hh"
+#include "event.hh"
#include "item.hh"
class Note_name_engraver : public Engraver
public:
TRANSLATOR_DECLARATIONS(Note_name_engraver);
- Link_array<Note_req> reqs_;
+ Link_array<Music> reqs_;
Link_array<Item> texts_;
virtual bool try_music (Music*m);
virtual void process_acknowledged_grobs ();
bool
Note_name_engraver::try_music (Music *m)
{
- if (Note_req *r = dynamic_cast<Note_req* > (m))
+ if (m->is_mus_type ("note-event"))
{
- reqs_.push (r);
+ reqs_.push (m);
return true;
}
return false;
{
if (i)
s += " ";
- s += unsmob_pitch (reqs_[i]->get_mus_property ("pitch"))->string ();
+ s += unsmob_pitch (reqs_[i]->get_mus_property ("pitch"))->to_string ();
}
if (s.length ())
{
- Item * t = new Item (get_property ("NoteName"));
+ Item * t = make_item ("NoteName");
t->set_grob_property ("text", scm_makfrom0str (s.to_str0 ()));
announce_grob(t, reqs_[0]->self_scm());
texts_.push (t);
ENTER_DESCRIPTION(Note_name_engraver,
/* descr */ "",
/* creats*/ "NoteName",
-/* acks */ "",
+/* accepts */ "note-event",
+/* acks */ "",
/* reads */ "",
/* write */ "");