[PlanetCCRMA] 2 questions - Alsa OSS MIDI Emulation

Fernando Pablo Lopez-Lezcano nando@ccrma.Stanford.EDU
Mon Oct 28 11:53:00 2002


> 1) OSS MIDI Emulation - I am confused about when Alsa OSS MIDI Emulation
> should be working. I'm also unsure how to tell if it even is working. (!!!)
> 
> My RH7.3 system is set up using the Planet instructions. I have, to the best
> of my knowledge, eliminated all of the basic OSS stuff by following the
> instructions on
> http://www-ccrma.stanford.edu/planetccrma/software/kernelandsound.html .
> Here's my current modules.conf. Does this look correct for Alsa only? No
> OSS?
> 
> alias parport_lowlevel parport_pc
> alias eth0 3c59x
> alias usb-controller usb-uhci
> # --- BEGIN: Generated by ALSACONF, do not edit. ---
> # --- ALSACONF verion 0.9.0 ---
> alias char-major-116 snd
> alias snd-card-0 snd-emu10k1
> alias char-major-14 soundcore
> alias sound-slot-0 snd-card-0
> alias sound-service-0-0 snd-mixer-oss
> alias sound-service-0-1 snd-seq-oss
> alias sound-service-0-3 snd-pcm-oss
> alias sound-service-0-8 snd-seq-oss
> alias sound-service-0-12 snd-pcm-oss
> options snd snd_major=116 snd_cards_limit=1 snd_device_mode=0666
> options snd-emu10k1 snd_index=0
> # --- END: Generated by ALSACONF, do not edit. ---
> 
> # --- Keep modules from being autocleaned
> add options -k snd-card-0

This looks fine, the only non-alsa stuff is the parallel port, the 
ethernet card (second line) and the usb controller (third line)

> lsmod is less clear to me whether I'm using OSS or not. The Planet
> instructions tell me to look at the output of lsmod, and tell me to removing
> OSS stuff, but the instructions don't tell me how to recognize an OSS line
> from an Alsa line. The first line is 'snd-seq-oss'. Does this look like Alsa
> only or is that real OSS stuff still running?
> 
> [root@RH73WO root]# lsmod
> Module                  Size  Used by    Not tainted
> snd-seq-oss            29088   0  (autoclean) (unused)
> snd-seq-midi            5408   0  (autoclean)
> snd-emu10k1-synth       6528   0
> snd-emux-synth         35548   0  [snd-emu10k1-synth]
> snd-seq-midi-emul       6860   0  [snd-emux-synth]
> snd-seq-virmidi         5204   0  [snd-emux-synth]
> snd-seq-midi-event      5696   0  [snd-seq-oss snd-seq-midi snd-seq-virmidi]
> snd-seq                52492   2  [snd-seq-oss snd-seq-midi snd-emux-synth
> snd-seq-midi-emul snd-seq-virmidi snd-seq-midi-event]
> snd-emu10k1            76036   0  [snd-emu10k1-synth]
> snd-pcm                89600   0  [snd-emu10k1]
> snd-timer              16576   0  [snd-seq snd-pcm]
> snd-rawmidi            19520   0  [snd-seq-midi snd-seq-virmidi snd-emu10k1]
> snd-hwdep               5824   0  [snd-emu10k1]
> snd-util-mem            3360   0  [snd-emux-synth snd-emu10k1]
> snd-seq-device          5852   0  [snd-seq-oss snd-seq-midi
> snd-emu10k1-synth snd-emux-synth snd-seq snd-emu10k1 snd-rawmidi]
> snd-ac97-codec         31472   0  [snd-emu10k1]
> snd                    47624   0  [snd-seq-oss snd-seq-midi
> snd-emu10k1-synth snd-emux-synth snd-seq-midi-emul snd-seq-virmidi
> snd-seq-midi-event snd-seq snd-emu10k1 snd-pcm snd-timer snd-rawmidi
> snd-hwdep snd-util-mem snd-seq-device snd-ac97-codec]
> soundcore               6372   6  [snd]

Everything here is alsa only as well. 

> 2) I am able to use SpiralSynthModular live from a MIDI keyboard which seems
> to say that Alsa will accept MIDI Data and convert it to OSS for SSM to see.
> This works fine. However I am not able to send MIDI from Rosegarden, which
> appears to talk to alsa MIDI devices and have SSM respond. Can someone
> explain why? Does the OSS emulation stuff in Alsa not work from Alsa back to
> OSS when the MIDI data is generated in the PC?

This would be an oss emulated app sending midi to a native alsa app... I
don't know enough to be sure (never tried it) but I suspect it is not
possible. With native alsa midi apps that use the alsa sequencer api it
should be possible to connect outputs to inputs using the alsa midi
"patchbay" (man aconnect). I don't think that would work with oss 
emulation. 

-- Fernando