[LAD] send midi message
pedro.lopez.cabanillas at gmail.com
Thu Jan 5 20:00:20 UTC 2012
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
> > that includes a duration as the 5th parameter. This function will create
> > MIDI events in a queue, the first one will be the noteon event, and the
> > one will be a noteoff event, scheduled adding the specified duration to
> > 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_continue() or snd_seq_ev_set_queue_tempo() also require a
queue, because all these macros have a queue parameter.
More information about the Linux-audio-dev