Yeah mate - I like it when you dream ....
Do you dream in mosaics of computer screens and code ?

On 15 February 2002, Takashi Iwai wrote:
> At Fri, 15 Feb 2002 07:21:24 +0100 (MET),
> Guenther Sohler wrote:
> > 
> > I have simplified the seq.c in the alsa-driver-test direcory for me
> > to also understand.
> > 
> > The program is now quite short and outputs a note and quits
> > 
> > here is it
> > -----------
> > 
> > #include <stdio.h>
> > #include "alsa/asoundlib.h"
> > 
> > 
> > int main(int argc, char *argv[])
> > {
> >         snd_seq_t *handle;
> >         snd_seq_event_t ev;
> > 
> >         snd_seq_open(&handle, "hw", SND_SEQ_OPEN_DUPLEX, 0);
> >         snd_seq_alloc_queue(handle);
> >         
> >         bzero(&ev, sizeof(ev));
> >         ev.dest.client=65;
> >         ev.dest.port=0;
> >         ev.type = SND_SEQ_EVENT_NOTEON;
> >         ev.data.note.channel = 0;
> >         ev.data.note.note = 64 ;
> >         ev.data.note.velocity = 127;
> >         snd_seq_event_output_direct(handle, &ev);
> >         sleep(1);
> >         ev.type = SND_SEQ_EVENT_NOTEOFF;
> >         snd_seq_event_output_direct(handle, &ev);
> >         snd_seq_drain_output(handle);
> >         return 0;
> > }
> > 
> > There are two questions ?
> > 
> > Why doesn't it work if I allocate no queue ? There is no need for a queue as i
> > directly output events
> 
> No, you don't need to allocate a queue if you schedule by yourself.
> your program lack the schedule of events, i.e.
> 
>       snd_seq_ev_set_direct(&ev);
> 
> before output the event packet.  this is equivalent with
> 
>       ev.queue = SND_SEQ_QUEUE_DIRECT;
> 
> if this is specified, the event is sent immediately to the
> destination, so you don't need any queue.
> as default, the event is scheduled using a specified queue, and as
> default, the queue is #0.  that's why you had to allocate a queue.
> 
> one more note: you don't need to call snd_seq_drain_output() when you
> send events via snd_seq_event_output_direct().  the drain_output() is
> necessary for buffered outputs via normal snd_seq_event_output()
> functions.
> 
> 
> > What does "hw" mean ? what are the other possibilities ?
> 
> originally it means "hardware".
> in future it can be other ones, such like "network:foo", etc.
> (well, we can dream :)
> 
> 
> ciao,
> 
> Takashi
> 
> _______________________________________________
> Alsa-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/alsa-devel

-- 
Matt

For electronic musicians ...
Vector Bass          : http://mffmvectorbass.sourceforge.net/
For developers ...
TimeScale Audio Mod  : http://mffmtimescale.sourceforge.net/
Multimedia Time Code : http://mffmtimecode.sourceforge.net/
3D Audio Library     : http://mffm3daudiolib.sourceforge.net/

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

Reply via email to