[linux-audio-user] alsa sequencer filter client

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



     You'll probably have better luck on the LAD list :)

|)
|)enji


On Friday 23 January 2004 10:46 pm, Garett Shulman wrote:
> 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
> *priate_data)
> {
>    port_write_event(p, ev, 0);
> }
>
> int main()
> {
>        unsigned int caps = SND_SEQ_PORT_CAP_WRITE |
> SND_SEQ_PORT_CAP_SUBS_WRITE | SND_SEQ_PORT_CAP_READ |
> SND_SEQ_PORT_CAP_SUBS_READ;
>
>        port_client_t *client = port_client_new("MIDI filter",
> SND_SEQ_OPEN_DUPLEX);
>        port_t *port = port_attach(client, "FILTER port", caps,
> SND_SEQ_PORT_TYPE_MIDI_GENERIC);
>        int *priv_data;
>
>        /* add callback */
>        port_add_callback(port, PORT_MIDI_EVENT_CB,
> (port_callback_t)process_event, priv_data);
>
>        port_client_do_loop(client);
>
>        return port_detach(port);
> }


[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux