Hello
That is more or less what I had figured out, but it how are playback_1 to
_16 channels routed to DSP0-15? It seems that it depends on the setting
of
Front, Surround, LFE, etc. mixer controls. If they are turned up, I
don't
understand what happens, sound to playback channels appears on various
DSP
buses, at different levels.
Really? Well, I didn't much experiment with surround mode. In source code, I can see that there are up to playback 8 channels at hw:0,0 with can be controlled by faders in alsamixer. I tried surround40 and surroun51 on my emu1616m and it worked as expected. The channles were mapped to first couple of DSP ports in a correct order. In fact this should work the same as audigy does, except the result is passed to DSP ports instead of physical outputs.
On my card, playback channels 1 & 2 (hw:0,3) appear on all DSP busses associated with surround. Say you turn up the "Side" fader in alsamixer, channels 1 & 2 will appear at the relevant DSPs (6-7, I think) Whatever, for now I am just keeping all surround controls down (that is, Front, Surround, Center, Side & LFE).
Anyway, I think if there is another layer of routing done in audigy DSP, it shouldn't be used in EMU specific application. Or at least not for now. The most important thing is to provide all the switches and FPGA routing scheme for each EMU model. Or, to be precise, three routing schemes for each EMU model, because for "double speed" (e.g. 96kHz) and "quadro speed" (e.g. 192kHz) modes of operation the numebr of both physical and virtual channels changes.
I think the switches and enums for the card models are rather trivial, one can handle it with a customized version of qamix (done with a simple XML file), for example. A separate application would not be necessary for only that.
If I turn the Front/Surround/LFE/etc. faders down, I can mix playback channels to DSP using the "Multichannel PCM Send/Routing/Volume" faders,
in
a more or less intuitive way, besides that routing values do not map directly to DSP buses (i.e. 14-15 map to DSP0-1, but 2-3 map to DSP2-3).
Handling of this controls motivated me to write the application in the first place. No sound at all will appear if I don't set the appropiate controls for each playback channel: Multichannel PCM Volume (full), Multichannel PCM Send (an index of 8 controls, the first 4 select the target DSP) & Multichannel PCM Send Volume (again faders 0-3 of 8) By the way, only DSP0-7 work in this way. I have no idea how to make DSP8-31 work.
On which card you did tested it? The driver was primary written for the
1820M/1212M V1, so some things may not work well on other models and need to be fixed.
I have a 1212m, don't know which version, but I think it's V1-- it does have firewire. I am using driver version 1.0.16.
Thanks, Camilo.