source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
class Tie_performer : public Performer
{
public:
- VIRTUAL_COPY_CONS(Translator);
- Tie_performer ();
+ TRANSLATOR_DECLARATIONS(Tie_performer);
private:
bool done_;
PQueue<CNote_melodic_tuple> past_notes_pq_;
done_ = false;
}
-ADD_THIS_TRANSLATOR (Tie_performer);
+ENTER_DESCRIPTION (Tie_performer, "", "", "", "", "");
-#if 0
-Tie_performer::Tie_performer ()
-{
- // URG
- // if we don't do this, lily dumps core
- // which means that ``initialize'' and
- // ``start_translation_timestep'' did not happen?!
- initialize ();
-}
-#endif
-
void
Tie_performer::initialize ()
{
{
if (Audio_note *nh = dynamic_cast<Audio_note *> (i.elem_l_))
{
- Note_req * m = dynamic_cast<Note_req* > (i.req_l_);
+ Note_req * m = dynamic_cast<Note_req *> (i.req_l_);
if (!m)
return;
- now_notes_.push (CNote_melodic_tuple (nh, m, now_mom()+ m->length_mom ()));
+ now_notes_.push (CNote_melodic_tuple (nh, m, now_mom ()+ m->length_mom ()));
}
}
if (req_l_)
{
now_notes_.sort (CNote_melodic_tuple::pitch_compare);
- stopped_notes_.sort(CNote_melodic_tuple::pitch_compare);
+ stopped_notes_.sort (CNote_melodic_tuple::pitch_compare);
int i=0;
int j=0;
int tie_count=0;
- while ( i < now_notes_.size () && j < stopped_notes_.size ())
+ while (i < now_notes_.size () && j < stopped_notes_.size ())
{
int comp
- = Pitch::compare (*unsmob_pitch (now_notes_[i].req_l_->get_mus_property ("pitch") ),
+ = Pitch::compare (*unsmob_pitch (now_notes_[i].req_l_->get_mus_property ("pitch")),
*unsmob_pitch (stopped_notes_[j].req_l_->get_mus_property ("pitch")));
if (comp)
{
- (comp < 0) ? i ++ : j++;
+ (comp < 0) ? i ++ : j++;
continue;
}
else
if (!tie_p_arr_.size ())
{
- req_l_->origin ()->warning (_("No ties were created!"));
+ req_l_->origin ()->warning (_ ("No ties were created!"));
}
}
}
+
void
Tie_performer::stop_translation_timestep ()
{
CNote_melodic_tuple::time_compare (CNote_melodic_tuple const&h1,
CNote_melodic_tuple const &h2)
{
- return (h1.end_ - h2.end_ ).sign ();
+ return (h1.end_ - h2.end_).main_part_.sign ();
}
+