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