/*
completion-note-heads-engraver.cc -- Completion_heads_engraver
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <cctype>
+using namespace std;
#include "rhythmic-head.hh"
#include "output-def.hh"
class Completion_heads_engraver : public Engraver
{
- Link_array<Item> notes_;
- Link_array<Item> prev_notes_;
- Link_array<Grob> ties_;
+ vector<Item*> notes_;
+ vector<Item*> prev_notes_;
+ vector<Grob*> ties_;
- Link_array<Item> dots_;
- Link_array<Music> note_events_;
- Link_array<Music> scratch_note_events_;
+ vector<Item*> dots_;
+ vector<Music*> note_events_;
+ vector<Music*> scratch_note_events_;
Moment note_end_mom_;
bool is_first_;
{
if (m->is_mus_type ("note-event"))
{
- note_events_.push (m);
+ note_events_.push_back (m);
is_first_ = true;
Moment musiclen = m->get_length ();
if (orig && note_dur.get_length () != orig->get_length ())
{
if (!scratch_note_events_.size ())
- for (int i = 0; i < note_events_.size (); i++)
+ for (vsize i = 0; i < note_events_.size (); i++)
{
Music *m = note_events_[i]->clone ();
- scratch_note_events_.push (m);
+ scratch_note_events_.push_back (m);
}
}
- for (int i = 0;
- left_to_do_ && i < note_events_.size (); i++)
+ for (vsize i = 0; left_to_do_ && i < note_events_.size (); i++)
{
Music *event = note_events_[i];
if (scratch_note_events_.size ())
d->set_property ("dot-count", scm_from_int (dots));
d->set_parent (note, Y_AXIS);
- dots_.push (d);
+ dots_.push_back (d);
}
Pitch *pit = unsmob_pitch (event->get_property ("pitch"));
pos += scm_to_int (c0);
note->set_property ("staff-position", scm_from_int (pos));
- notes_.push (note);
+ notes_.push_back (note);
}
if (prev_notes_.size () == notes_.size ())
{
- for (int i = 0; i < notes_.size (); i++)
+ for (vsize i = 0; i < notes_.size (); i++)
{
Grob *p = make_spanner ("Tie", SCM_EOL);
Tie::set_head (p, LEFT, prev_notes_[i]);
Tie::set_head (p, RIGHT, notes_[i]);
- ties_.push (p);
+ ties_.push_back (p);
}
}
dots_.clear ();
- for (int i = scratch_note_events_.size (); i--;)
+ for (vsize i = scratch_note_events_.size (); i--;)
scratch_note_events_[i]->unprotect ();
scratch_note_events_.clear ();