On Tue, 2007-01-23 at 05:58 -0800, Mark Knecht wrote: > On 1/22/07, Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 2007-01-22 at 21:13 -0500, Lee Revell wrote: > > > On 1/22/07, ram <ram@xxxxxxxxxxxxxxx> wrote: > > > > I can confirm the RME HDSP 9632 cards and add-ons also support hardware mixing. > > > > They work really well too I may add. > > > > > > I stand corrected. Mark was right - these devices do have hardware > > > mixing, they just implement it in an odd way, probably to keep the > > > interface similar to other OS. > > > > its not true to say that with ALSA, they support what is commonly > > understood as h/w mixing. > > Is there a commonly understood meaning? I guess I'm uncommonly (or > commonly for me) in the dark about that. a few years ago there were lots of consumer cards that allowed you to open them up to, say, 32 times. the card would mix each stream to the outputs. this has all been abandoned in favor of s/w mixing now. > > you cannot do independent open's of several > > subdevices and get the output of each subdevice mixed down to the > > outputs. > > This seems a Linux Software Developer centric statement. What does it mean? it means that you can have up to N apps all using the same card without any s/w mixing going on. each one calls snd_pcm_open() which internally calls snd_pcm_open_subdevice() and assuming the subdevices are not all busy, it will work. a subdevice is a "stream" that always sends its signal to the outputs associated with the PCM device, but can be opened and closed independently. > Is this a hardwired limitation of the hardware, or is it a limitation > of the current ALSA driver for the HDSP cards? well, it could be argued either way. the channels in the HDSP could be represented as subdevices (there is an OSS driver that Guenter Geiger wrote that does this), but the HDSP channels are much less independent than a typical subdevice - they run at the same rate, format etc. and cannot be stopped and started independently. > > yes, they do have a very powerful h/w matrix mixer, but it is not > > accessible via a series of independent subdevices. it also is not > > supported by the ALSA mixer API at this time. > > > > This sounds like it's a limitation of the card so it wouldn't ever > work? Even under Windows or OSX? Actually, the drivers for Windows does allow this. Can't recall if the OS X driver does - it might. > What cards do support (under ALSA) a "series of independent > subdevices" which can then be output and then mixed in hardware? My main example is a Trident card - a relatively cheap "high end consumer card" that had 32 subdevices, 4 channel out + S/PDIF for about US$60 ... I think that several Ensoniq cards and even a few of the Creatives could do this as well. --p