private:
Link_array<Music> note_evs_;
Link_array<Audio_note> notes_;
- Link_array<Audio_note> delayeds_;
};
void
{
// why don't grace notes show up here?
// --> grace notes effectively do not get delayed
- Global_context * global = get_global_context ();
- for (int i = 0; i < notes_.size (); i++)
- {
- Audio_note* n = notes_[i];
- Moment m = n->delayed_until_mom_;
- if (m.to_bool ())
- {
- global->add_moment_to_process (m);
- delayeds_.push (n);
- notes_[i] = 0;
- notes_.del (i);
- i--;
- }
- }
-
Moment now = now_mom ();
for (int i = 0; i < notes_.size (); i++)
{
}
notes_.clear ();
note_evs_.clear ();
- for (int i = 0; i < delayeds_.size (); i++)
- {
- Audio_note* n = delayeds_[i];
- if (n->delayed_until_mom_ <= now)
- {
- play_element (n);
- delayeds_[i] = 0;
- delayeds_.del (i);
- i--;
- }
- }
}
bool
Pitch pitch_;
Moment length_mom_;
- Moment delayed_mom_;
- Moment delayed_until_mom_;
int transposing_;
Audio_note* tied_;
};
private:
Link_array<Music> note_evs_;
Link_array<Audio_note> notes_;
- Link_array<Audio_note> delayeds_;
};
void
{
// why don't grace notes show up here?
// --> grace notes effectively do not get delayed
- Global_context * global = get_global_context ();
- for (int i = 0; i < notes_.size (); i++)
- {
- Audio_note* n = notes_[i];
- Moment m = n->delayed_until_mom_;
- if (m.to_bool ())
- {
- global->add_moment_to_process (m);
- delayeds_.push (n);
- notes_[i] = 0;
- notes_.del (i);
- i--;
- }
- }
-
Moment now = now_mom ();
for (int i = 0; i < notes_.size (); i++)
{
}
notes_.clear ();
note_evs_.clear ();
- for (int i = 0; i < delayeds_.size (); i++)
- {
- Audio_note* n = delayeds_[i];
- if (n->delayed_until_mom_ <= now)
- {
- play_element (n);
- delayeds_[i] = 0;
- delayeds_.del (i);
- i--;
- }
- }
}
bool