/** call-seq: tag = value Set the event tag as removal condition. */ static VALUE wrap_snd_seq_remove_events_set_tag(VALUE v_rmp, VALUE v_tag) { snd_seq_remove_events_t *rmp; Data_Get_Struct(v_rmp, snd_seq_remove_events_t, rmp); snd_seq_remove_events_set_tag(rmp, NUM2INT(v_tag)); return Qnil; }
void midibus::remove_queued_on_events (int tag) { automutex locker(m_mutex); snd_seq_remove_events_t * remove_events; snd_seq_remove_events_malloc(&remove_events); snd_seq_remove_events_set_condition ( remove_events, SND_SEQ_REMOVE_OUTPUT | SND_SEQ_REMOVE_TAG_MATCH | SND_SEQ_REMOVE_IGNORE_OFF ); snd_seq_remove_events_set_tag(remove_events, tag); snd_seq_remove_events(m_seq, remove_events); snd_seq_remove_events_free(remove_events); }