/*
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
void start_translation_timestep ();
virtual void acknowledge_audio_element (Audio_element_info);
void process_music ();
- DECLARE_TRANSLATOR_LISTENER (tie);
+ void listen_tie (Stream_event *);
public:
TRANSLATOR_DECLARATIONS (Tie_performer);
};
-Tie_performer::Tie_performer ()
+Tie_performer::Tie_performer (Context *c)
+ : Performer (c)
{
event_ = 0;
}
-IMPLEMENT_TRANSLATOR_LISTENER (Tie_performer, tie);
void
Tie_performer::listen_tie (Stream_event *ev)
{
SCM p1 = left_mus->get_property ("pitch");
SCM p2 = right_mus->get_property ("pitch");
- if (Pitch::is_smob (p1) && Pitch::is_smob (p2)
- && Pitch::unsmob (p1)->tone_pitch () == Pitch::unsmob (p2)->tone_pitch ())
+ if (unsmob<Pitch> (p1) && unsmob<Pitch> (p2)
+ && unsmob<Pitch> (p1)->tone_pitch () == unsmob<Pitch> (p2)->tone_pitch ())
{
found = true;
// (*it).moment_ already stores the end of the tied note!
now_tied_heads_.clear ();
}
+void
+Tie_performer::boot ()
+{
+ ADD_LISTENER (Tie_performer, tie);
+}
+
ADD_TRANSLATOR (Tie_performer,
/* doc */
"Generate ties between note heads of equal pitch.",