|
@@ -30,12 +30,15 @@ static int midi_capture_close(struct snd_rawmidi_substream *substream)
|
|
}
|
|
}
|
|
|
|
|
|
static int midi_playback_close(struct snd_rawmidi_substream *substream)
|
|
static int midi_playback_close(struct snd_rawmidi_substream *substream)
|
|
|
|
+{
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static void midi_playback_drain(struct snd_rawmidi_substream *substream)
|
|
{
|
|
{
|
|
struct snd_tscm *tscm = substream->rmidi->private_data;
|
|
struct snd_tscm *tscm = substream->rmidi->private_data;
|
|
|
|
|
|
snd_fw_async_midi_port_finish(&tscm->out_ports[substream->number]);
|
|
snd_fw_async_midi_port_finish(&tscm->out_ports[substream->number]);
|
|
-
|
|
|
|
- return 0;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static void midi_capture_trigger(struct snd_rawmidi_substream *substrm, int up)
|
|
static void midi_capture_trigger(struct snd_rawmidi_substream *substrm, int up)
|
|
@@ -77,6 +80,7 @@ int snd_tscm_create_midi_devices(struct snd_tscm *tscm)
|
|
static const struct snd_rawmidi_ops playback_ops = {
|
|
static const struct snd_rawmidi_ops playback_ops = {
|
|
.open = midi_playback_open,
|
|
.open = midi_playback_open,
|
|
.close = midi_playback_close,
|
|
.close = midi_playback_close,
|
|
|
|
+ .drain = midi_playback_drain,
|
|
.trigger = midi_playback_trigger,
|
|
.trigger = midi_playback_trigger,
|
|
};
|
|
};
|
|
struct snd_rawmidi *rmidi;
|
|
struct snd_rawmidi *rmidi;
|