#include <linux/init.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/seq_kernel.h>
#include <sound/seq_midi_emul.h>
#include <sound/initval.h>
#include <sound/asoundef.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static void note_off(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel *chan,
int note, int vel);
static void do_control(const struct snd_midi_op *ops, void *private,
struct snd_midi_channel_set *chset,
struct snd_midi_channel *chan,
int control, int value);
static void rpn(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel *chan,
struct snd_midi_channel_set *chset);
static void nrpn(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel *chan,
struct snd_midi_channel_set *chset);
static void sysex(const struct snd_midi_op *ops, void *private,
unsigned char *sysex,
int len, struct snd_midi_channel_set *chset);
static void all_sounds_off(const struct snd_midi_op *ops, void *private,
struct snd_midi_channel *chan);
static void all_notes_off(const struct snd_midi_op *ops, void *private,
struct snd_midi_channel *chan);
static void snd_midi_reset_controllers(struct snd_midi_channel *chan);
static void reset_all_channels(struct snd_midi_channel_set *chset);
void
snd_midi_process_event(const struct snd_midi_op *ops,
struct snd_seq_event *ev,
struct snd_midi_channel_set *chanset)
{ … }
EXPORT_SYMBOL(…);
static void
note_off(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel *chan,
int note, int vel)
{ … }
static void
do_control(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel_set *chset,
struct snd_midi_channel *chan, int control, int value)
{ … }
void
snd_midi_channel_set_clear(struct snd_midi_channel_set *chset)
{ … }
EXPORT_SYMBOL(…);
static void
rpn(const struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan,
struct snd_midi_channel_set *chset)
{ … }
static void
nrpn(const struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan,
struct snd_midi_channel_set *chset)
{ … }
static int
get_channel(unsigned char cmd)
{ … }
static void
sysex(const struct snd_midi_op *ops, void *private, unsigned char *buf, int len,
struct snd_midi_channel_set *chset)
{ … }
static void
all_sounds_off(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel *chan)
{ … }
static void
all_notes_off(const struct snd_midi_op *ops, void *drv,
struct snd_midi_channel *chan)
{ … }
static void snd_midi_channel_init(struct snd_midi_channel *p, int n)
{ … }
static struct snd_midi_channel *snd_midi_channel_init_set(int n)
{ … }
static void
reset_all_channels(struct snd_midi_channel_set *chset)
{ … }
struct snd_midi_channel_set *snd_midi_channel_alloc_set(int n)
{ … }
EXPORT_SYMBOL(…);
static void snd_midi_reset_controllers(struct snd_midi_channel *chan)
{ … }
void snd_midi_channel_free_set(struct snd_midi_channel_set *chset)
{ … }
EXPORT_SYMBOL(…);