Hello ALSA Gang,
In my system i have primarily two important alsa ports for me
64:0 is the external midi keyboard
65:0 is the wavetable synth of my creative audixy
I have written following code:
#include<alsa/asoundlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <ctype.h>
#include <getopt.h>
int main(int argc, char *argv[])
{
int xxx;
snd_seq_event_t ev;
snd_seq_t *handle;
sscanf(argv[1],"%d",&xxx);
snd_seq_open(&handle,"hw",SND_SEQ_OPEN_DUPLEX,0);
bzero(&ev, sizeof(ev));
ev.queue=SND_SEQ_QUEUE_DIRECT;
ev.dest.client=xxx;
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);
return 0;
}
this code works for outputting events to the wavetable, but it very seldom
works for outputting to the external midi keyboard.
If I integrate this code to my application. it works sometimes for outputting
to the wavetable but i have never seen it working with external midi.
Is there an inportant feature missing in my code to make its work more relyable
? (apart from error checking).
Is a queue important for reliability ?
And what about a polling descriptor ?
I am looking forward to makeing my app reliable and working
rds guenther
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel