static int snd_opl4_seq_event_input(struct snd_seq_event *ev, int direct, void *private_data, int atomic, int hop) { struct snd_opl4 *opl4 = private_data; snd_midi_process_event(&opl4_ops, ev, opl4->chset); return 0; }
static int snd_opl3_oss_event_input(struct snd_seq_event *ev, int direct, void *private_data, int atomic, int hop) { struct snd_opl3 *opl3 = private_data; if (ev->type != SNDRV_SEQ_EVENT_OSS) snd_midi_process_event(&opl3_ops, ev, opl3->oss_chset); return 0; }
/* * input sequencer event */ int snd_emux_event_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int hop) { snd_emux_port_t *port; port = private_data; snd_assert(port != NULL && ev != NULL, return -EINVAL); snd_midi_process_event(&emux_ops, ev, &port->chset); return 0; }
/* * input sequencer event */ int snd_emux_event_input(struct snd_seq_event *ev, int direct, void *private_data, int atomic, int hop) { struct snd_emux_port *port; port = private_data; if (snd_BUG_ON(!port || !ev)) return -EINVAL; snd_midi_process_event(&emux_ops, ev, &port->chset); return 0; }
static int snd_opl3_synth_event_input(struct snd_seq_event * ev, int direct, void *private_data, int atomic, int hop) { struct snd_opl3 *opl3 = private_data; if (ev->type >= SNDRV_SEQ_EVENT_INSTR_BEGIN && ev->type <= SNDRV_SEQ_EVENT_INSTR_CHANGE) { if (direct) { snd_seq_instr_event(&opl3->fm_ops, opl3->ilist, ev, opl3->seq_client, atomic, hop); } } else { snd_midi_process_event(&opl3_ops, ev, opl3->chset); } return 0; }