Hi,

At Wed, 12 Dec 2001 05:57:47 -0500 (EST),
Ricardo Colon wrote:
> 
> Hi Takashi,
> 
> Thanks for the info...  I'm a bit confused still, though.
> I think my biggest question is this:  I have an array of structures, where
> each element is a MIDI message (contained in a 4-byte integer) and a
> timestamp.  We believe that ALSA's sequencer is the highest performing way
> to make this stream output to a MIDI device, but it seems silly to take
> each raw MIDI message, encode it as a high-level event structure, and let
> ALSA decode it back to generic MIDI data before sending it to the device.
> Is there any way in ALSA 0.5 (which we're kind of stuck with now -- we'll
> move to 0.9 eventually, but we can't yet) to create an event that simply
> contains maybe just the midi message and its length, and let ALSA just
> send it, without having to do encoding or decoding?
 
No.  If the receiver accept multiple inputs, the running status may
vary from the raw byte data.  Thus we need to handle anyway decode-
and-merge phase.


> If not, then I assume our best bet is to manually encode it... I saw the
> code in seq_midi_event.c for snd_seq_event_encode...   is that what I
> should be trying to use?

Yes.  

> Or can I dump things into the event via the
> raw8/raw32 things?  How do we use raw8/32?  What does ALSA do with this
> data, and how does ALSA know that raw8/32 is the part of the union in
> the event structure that is used?

ALSA sequencer core doesn't touch this data type at all.
This data type is provided only for a specific sender/receiver to
handle its own raw data.

For encoding, you can feed the byte (char*) simply to encoder
function.


ciao,

Takashi

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to