Commit b8f78234 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai

ALSA: dice: use stream formats to add MIDI substreams

In former commits, proxy structure gets members for cache of stream
formats. The cache can be used to count the number of MIDI substreams
to add.

This commit uses the cache for this purpose.
Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent afa617f2
...@@ -101,27 +101,18 @@ int snd_dice_create_midi(struct snd_dice *dice) ...@@ -101,27 +101,18 @@ int snd_dice_create_midi(struct snd_dice *dice)
.close = midi_close, .close = midi_close,
.trigger = midi_playback_trigger, .trigger = midi_playback_trigger,
}; };
__be32 reg;
struct snd_rawmidi *rmidi; struct snd_rawmidi *rmidi;
struct snd_rawmidi_str *str; struct snd_rawmidi_str *str;
unsigned int midi_in_ports, midi_out_ports; unsigned int midi_in_ports, midi_out_ports;
int i;
int err; int err;
/* midi_in_ports = 0;
* Use the number of MIDI conformant data channel at current sampling midi_out_ports = 0;
* transfer frequency. for (i = 0; i < MAX_STREAMS; ++i) {
*/ midi_in_ports = max(midi_in_ports, dice->tx_midi_ports[i]);
err = snd_dice_transaction_read_tx(dice, TX_NUMBER_MIDI, midi_out_ports = max(midi_out_ports, dice->rx_midi_ports[i]);
&reg, sizeof(reg)); }
if (err < 0)
return err;
midi_in_ports = be32_to_cpu(reg);
err = snd_dice_transaction_read_rx(dice, RX_NUMBER_MIDI,
&reg, sizeof(reg));
if (err < 0)
return err;
midi_out_ports = be32_to_cpu(reg);
if (midi_in_ports + midi_out_ports == 0) if (midi_in_ports + midi_out_ports == 0)
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment