Hello!
I'm currently in phase of adding support for higher sample rates into e-mu 1212m/1820m driver. These cards have a lot of physical inputs and outputs and also a bunch of internal buses used for capture, playback and internal routing between physical inputs and outputs. Both physical I/O and internal buses are shown in alsamixer, so one can set routing easily. It's a lot of switches, anyway.
The card has three modes. The standard (or "single speed") mode is the only mode currently supported in emu10k driver. It is capable of 44.1/48kHz sample rate only. If we need higher sample rates, we have to switch the card into either "double speed" (for 88.2/96kHz) or "quadruple speed" (for 176.4/192kHz) mode.
The problem is that the number of inputs, outputs and especially internal buses significantly changes at higher speed modes. The reason is that internal buses are 44.1/48kHz only and thus we must use two (or four) of them per channel. Also some physical I/O ports disappear at double and quadruple speeds (e.g. ADAT has 4 channles at 96k and 2 at 192k, S/PDIF is completely disabled at 192k).
The question is how to deal with that in alsamixer? IMHO the best way would be to change the number of switches in alsamixer on the fly. Unfortunatelly, I'm afraid it's impossible. Another way would be to make a particular swiches inactive, though I don't know if it is a good idea and it wold require a lot of code anyway. Any ideas? Please help!
Ctirad