[linux-audio-user] alsa sequencer filter client

Garett Shulman shulmang at colorado.edu
Fri Jan 23 23:46:52 EST 2004

Hello, I am trying to create a very simple midi filter client for the 
alsa sequencer based on aseqview-0.1.4. I have alsa 0.9.8. This code 
shows the input and the output port in aconnect when executed. And, when 
the raw_midi client is connected The callback does get called when I 
play keys on my piano. However, Its as though the message is getting 
sent back to this client and  not on to the next client. The 
process_event function keeps getting called over and over again with the 
same message when I hit one piano key. It's as though it is sending 
itself the message. Any Ideas are greatly appreciated. -Garett

#include "portlib.h"

int process_event(port_t *p, int type, snd_seq_event_t *ev, int 
   port_write_event(p, ev, 0);

int main()
       unsigned int caps = SND_SEQ_PORT_CAP_WRITE | 

       port_client_t *client = port_client_new("MIDI filter", 
       port_t *port = port_attach(client, "FILTER port", caps, 
       int *priv_data;

       /* add callback */
       port_add_callback(port, PORT_MIDI_EVENT_CB, 
(port_callback_t)process_event, priv_data);


       return port_detach(port);

More information about the Linux-audio-user mailing list