At Sun, 7 Apr 2002 22:22:42 +0200 (CEST),
Jaroslav wrote:
> 
> On Thu, 4 Apr 2002, Peter Enderborg wrote:
> 
> > Jaroslav Kysela wrote:
> > 
> > > On Wed, 3 Apr 2002, Peter Enderborg wrote:
> > >
> > > > I have tryed to get some answer from Jaroslav about subdevices on midi.
> > > > Im trying to write a driver for midisport 8x8/s and that have 9 midi
> > > > ports. On my hack to figure out the protocol I use virmidi to handle the
> > > > interface to alsa. But virmidi only have four subdevices per device. I
> > >
> > > You can set up to eight virmidi devices (snd_midi_devs parameter controls
> > > this count). On rawmidi side, there is 16 rawmidi substreams (subdevices)
> > > per one virmidi device. These subdevices are used for event merging
> > > (write) and coping (read). On sequencer side, there is one client and
> > > one port connected to virmidi device.
> > >
> > > > need to see the driver for a midi interface that using all the 16
> > > > subdevices. Since I don't get answer from Jaroslav i guess he don't have
> > > > the time or my question is stupid. But can someone help me out? Where
> > > > should I look?
> > >
> > > There are two ways:
> > >
> > > 1) we can add a new mode to virmidi code which suppress copying and
> > >    merging and connects more sequencer ports per a sequencer client
> > >    to rawmidi subdevices to handle such devices
> > > 2) without any change - simply use more than one virmidi card and connect
> > >    your code to more clients:
> > >
> > 
> > That is what I do now. But it is not pretty. My plan is to do a real driver
> > not a virmidi user.
> > 
> > 
> > >
> > >         modprobe snd-virmidi snd_index=1,2 snd_enable=1,1 snd_midi_devs=8,8
> > >
> > >         (use index values as you wish)
> > >
> > 
> > Have you done that? This is what I get.
> > 
> > [root@pescadero pme]# /sbin/modprobe snd-virmidi snd_enable=1,1
> > snd_midi_devs=8,8
> > /lib/modules/2.4.16/misc/snd-virmidi.o: init_module: No such device
> > Hint: insmod errors can be caused by incorrect module parameters, including
> > invalid IO or IRQ parameters
> > /lib/modules/2.4.16/misc/snd-virmidi.o: insmod
> > /lib/modules/2.4.16/misc/snd-virmidi.o failed
> > /lib/modules/2.4.16/misc/snd-virmidi.o: insmod snd-virmidi failed
> 
> Oops. I've fixed this problem in CVS. Change SNDRV_RAWMIDI_DEVICES in 
> alsa-kernel/include/rawmidi.h to 8.

in alsa-kernel/include/minors.h,

#define SNDRV_MINOR_RAWMIDI             8       /* 8 - 11 */
#define SNDRV_MINOR_RAWMIDIS            4
#define SNDRV_MINOR_PCM_PLAYBACK        16      /* 16 - 23 */

so we need to change this too..
it seems no problem to assign 8 rawmidi devices - 8 devices are free,
although the comment says 8 - 11..


Takashi

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to