23 #include <linux/slab.h>
24 #include <linux/module.h>
27 static void free_port(
void *
private);
49 #define MIDI_CHANNELS 16
54 #define DEFAULT_MIDI_TYPE (SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC |\
55 SNDRV_SEQ_PORT_TYPE_MIDI_GM |\
56 SNDRV_SEQ_PORT_TYPE_MIDI_GS |\
57 SNDRV_SEQ_PORT_TYPE_MIDI_XG |\
58 SNDRV_SEQ_PORT_TYPE_HARDWARE |\
59 SNDRV_SEQ_PORT_TYPE_SYNTHESIZER)
75 "%s WaveTable", emu->
name);
90 memset(&pinfo, 0,
sizeof(pinfo));
92 pinfo.
use = snd_emux_use;
93 pinfo.
unuse = snd_emux_unuse;
108 snd_emux_init_port(p);
142 int max_channels,
int oss_port,
159 for (i = 0; i < max_channels; i++)
160 p->
chset.channels[i].number = i;
161 p->
chset.private_data = p;
162 p->
chset.max_channels = max_channels;
166 snd_emux_create_effect(p);
180 cap, type, max_channels,
197 #ifdef SNDRV_EMUX_USE_RAW_EFFECT
198 snd_emux_delete_effect(p);
206 #define DEFAULT_DRUM_FLAGS (1<<9)
234 #ifdef SNDRV_EMUX_USE_RAW_EFFECT
235 snd_emux_clear_effect(port);
243 for (i = 0; i < port->
chset.max_channels; i++) {
276 if (!try_module_get(emu->
ops.owner))
278 if (!try_module_get(emu->
card->module)) {
279 module_put(emu->
ops.owner);
294 module_put(emu->
card->module);
298 module_put(emu->
ops.owner);
319 snd_emux_init_port(p);