Re: [LAD] send midi message

From: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@email-addr-hidden>
Date: Thu Jan 05 2012 - 22:00:20 EET

On Thursday 05 January 2012, Dave Stikkolorum wrote:
> On 05-01-12 15:31, Pedro Lopez-Cabanillas wrote:
> > The problem in loop.c is that you are using the function
snd_seq_ev_set_note()
> > that includes a duration as the 5th parameter. This function will create
two
> > MIDI events in a queue, the first one will be the noteon event, and the
second
> > one will be a noteoff event, scheduled adding the specified duration to
the
> > start time of the former noteon event. That requires a queue for event
> > scheduling.
> So in fact with a message that contains a duration for a note is always
> a queue involved?

Yes, but this macro snd_seq_ev_set_note() is the only one that includes a
duration parameter. It is not really a MIDI message, but the sequencer event
is converted into two MIDI messages (noteOn + noteOff). There aren't MIDI
messages containing durations.

OTOH any event using the macros snd_seq_ev_schedule_real() or
snd_seq_ev_schedule_tick() requires a queue as well, because the message
delivering time will be scheduled in the future.

Events using the macros snd_seq_ev_set_queue_control(),
snd_seq_ev_set_queue_start(), snd_seq_ev_set_queue_stop(),
snd_seq_ev_set_queue_continue() or snd_seq_ev_set_queue_tempo() also require a
queue, because all these macros have a queue parameter.

Regards,
Pedro
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Fri Jan 6 00:15:01 2012

This archive was generated by hypermail 2.1.8 : Fri Jan 06 2012 - 00:15:01 EET