#include "audio-item.hh"
#include "audio-column.hh"
#include "global-context.hh"
-#include "pitch.hh"
#include "stream-event.hh"
#include "translator.icc"
#include "warn.hh"
if (Pitch *pit = unsmob_pitch (defn))
{
- Audio_note *p = new Audio_note (*pit, get_event_length (n), 0);
+ SCM articulations = n->get_property ("articulations");
+ Stream_event *tie_event = 0;
+ for (SCM s = articulations;
+ !tie_event && scm_is_pair (s);
+ s = scm_cdr (s))
+ {
+ Stream_event *ev = unsmob_stream_event (scm_car (s));
+ if (!ev)
+ continue;
+
+ if (ev->in_event_class ("tie-event"))
+ tie_event = ev;
+ }
+
+ Audio_note *p = new Audio_note (*pit, get_event_length (n),
+ tie_event, Pitch (0, 0, 0));
Audio_element_info info (p, n);
announce_element (info);
notes_.push_back (p);
void
Drum_note_performer::stop_translation_timestep ()
{
- // why don't grace notes show up here?
- // --> grace notes effectively do not get delayed
- Moment now = now_mom ();
- for (vsize i = 0; i < notes_.size (); i++)
- play_element (notes_[i]);
notes_.clear ();
note_evs_.clear ();
}
}
ADD_TRANSLATOR (Drum_note_performer,
- "Play drum notes.", "",
- "note-event", "", "");
+ "Play drum notes.", "", "", "");