Hello

I've browsed the list archive, but it hasn't helped me much with this.  Maybe 
I should begin by describing what I'm trying to accomplish.

I have some 3D OpenGL game engines installed.  d1x, d2x (that is Descent and 
Descent II), Vavoom (Doom, Heretic and the like) and possibly a couple more.

Most of us know the popular idea with soundcard and the original version of 
any of these games: the card played the game's sfx and other effects, mixed 
in software, while the card's onboard synthesizer played a MIDI song in the 
background.  My AWE32 PnP is in my little brother's Pentium 133, and I have 
an SB128 here, with no MIDI synthesizer, but otherwise better sound quality.

Vavoom uses Allegro, and Allegro compiles only with ALSA 0.5 support.  Let's 
assume that Allegro will soon support ALSA 0.9 and Vavoom 
(http://www.vavoom-engine.com) will use it.  Allegro basically supports ALSA 
RawMIDI and ALSA PCM.  I haven't the slightest idea how to configure Allegro 
to use the MIDI port I want it to, and I suspect that it might even not work 
at all since I have ALSA 0.9.4 and it's compiled with ALSA 0.5 headers.

allegro.cfg has lines "alsa_rawmidi_card =" and "alsa_rawmidi_device =" but 
they are unusable with timidity, since timidity just puts itself into ports 
128:0 and 128:1.  What devices on what card are these?  None.  Answer: 
virmidi.  Another problem: using pmidi to virmidi's first port, and 
connecting that port's output to timidity with aconnect or alsa-patch-bay 
produces no music.  timidity opens the SB128 PCM device as I connect virmidi 
to it, but no music ever comes out.  virmidi is configured and appears in 
/proc/asound/ exactly as in all configuration examples on the 'net.  I don't 
know what pmidi is doing when I give virmidi's port to it.  Maybe it's 
waiting or maybe it's busy, but it doesn't complain or exit immediately.

After I get Allegro to speak to timidity's 128:0, or I get it to speak to 
virmidi, and virmidi to route everything to timidity's port, I'm happy with 
the music.  Then I should find a way to multi-open ALSA PCM device, or mix in 
software the game's sfx with the timidity's output to one.

aplay needs a switch to understand that it needs to use the dmix plugin.  Is 
it possible to simply multi-open somehow a PCM device with applications that 
know about ALSA, but know nothing about dmix?  Could I somehow run three 
timidity sessions simultaneously?  AFAIK, timidity just finds a free PCM 
device and opens it, not asking anywhere which one, and on which card.

Tried starting two instances of timidity.  The 2nd one started playing after 
the 1st one exited and released the SB128 PCM device.  If there was a 
transparent software multi-open, they would both play at the same time.

Tried running two times pmidi to one 128:0 of timidity.  Nice-sounding chaos.

Would there be any point in making a transparent multi-open for soundcards 
that don't support it in hardware?  Or is there a way to make (configure) 
dmix transparent in a way I described it?  Or should we just wait that Vavoom 
or Allegro, d2x project and other sourceports (and timidity) start supporting 
dmix as an ALSA plugin?  And what is wrong with my virmidi configuration?

I have Debian 3.0r1 in this, with parts from Debian/testing, a 2.5.72-mm2 
kernel, and ALSA 0.9.4 libs, utils and headers from Debian/unstable.

Really much thanks for any ideas you might come up with.

-Kimmo Sundqvist



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to