Clemens Ladisch wrote:
Crypto wrote:
I understand that the module snd-virmidi can be
loaded via modprobe from
the command line. BUT: I cannot get it to work. The module does not pass
any data transferred to it.
What am i doing wrong? I simply connected one MIDI output of things like
the vkeybd to the virtual MIDI port and then connected kmidimon to the
virtual port to see if something is happening. But nothing.
snd-virmidi is used to make ALSA sequencer ports available as OSS MIDI
ports, i.e., anything sent to the sequencer port can be read from the
corresponding /dev/midi* device, and vice versa.
In addition to Clemens' explanation, I would say that kmidimon understands
only ALSA sequencer ports. Including snd-virmidi ALSA sequencer outputs.
On the other side, vkeybd can be enabled at compile time to use several MIDI
systems, OSS among them (in Makefile, set USE_MIDI = 1). So you could use
vkeybd to write events to an OSS MIDI device node, using a command line like
this one:
$ vkeybd --device midi --mididev /dev/midiX
And then read those events from the ALSA sequencer side of snd-virmidi using
kmidimon. Are you doing exactly that? If so, then several things may go
wrong: the MIDI node name not corresponding to the virmidi module, one or
both programs not working properly, or even a bug in ALSA...
If you are using Ubuntu or Debian, please avoid kmidimon from the official
repositories. It is an old and buggy release, that has been fixed one year
ago! Please compile it from sources, version 0.5.1 or later. Thanks.
Regards,
Pedro