Re: How to get access to all 16 channel controls on a multi-channel sound card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Takashi & Clemens.

On Mon, Apr 25, 2016 at 6:19 PM, Takashi Sakamoto
<o-takashi@xxxxxxxxxxxxx> wrote:
> Hi,
>
> I'm a developer mainly for sound device driver of multi-channel devices,
> i.e. 40/40 PCM channels for playback/capture.

BTW, is this available for purchase?

>> How do I get alsamixer to recognize all the controls & channels and
>> map them simply to names like:
>>
>> ch0, ch1, ch2, ch3, ... ch14, ch15 ?
>>>
>
> When executing 'amixer' command without no options, the applications
> enumerates ALSA ctl elements with 'simple mixer' interface of alsa userspace
> library. For example,
>
>> 'Playback channels: Front Left - Front Right - Rear Left - Rear Right
>> - Front Center - Woofer - Side Left - Side Right - Rear Center - ? - ?
>> - ? - ? - ? - ? - ?'
>
> This line is output in this code:
> http://git.alsa-project.org/?p=alsa-utils.git;a=blob;f=amixer/amixer.c;h=f9b09cb54276dbb88c5abc6b197727e8fd58b8eb;hb=96db90e98a6040f680f4ebca1880268a2e1ab6cc#l844
>
> In the codes, 'snd_mixer_selem_channel_name()' is called. In alsa-lib, the
> simple mixer API is described:
> http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/mixer/simple.c;h=fd9ba93ee791557b255ecde8f1183bd637948670;hb=6a610e56aeef5048136336f7f54db05f061ee4d4#l219
>
> You can see static constant array inner the function. When you pass channel
> number over 8 (= SND_MIXER_SCHN_REAR_CENTER), the API returns "?".
>
> In short, ALSA simple mixer API application cannot display proper name for
> channel number over 8.

That's definitely a surprise to me!  I thought for sure with such
flexibility in asoundrc, that the settings would be in there
somewhere.

>
> Furtheremore, 'alsamixer' has a limitation of displayed channels up to 8.
> For example, see these lines:
> http://git.alsa-project.org/?p=alsa-utils.git;a=blob;f=alsamixer/mixer_display.c;h=b1f79d06522157c80d438b8429648ebe5bb269f0;hb=96db90e98a6040f680f4ebca1880268a2e1ab6cc#l587
>

Is there any way to get a hold of and adjust the channels from user
space, without patches?  If we set aside alsamixer, is there an API
for adjusting those controls above channel 7?

 Or perhaps I can call the controls by some other type in the USB descriptors?



>
> Anyway, you need to write patchset to improve them for your aim.
> (I have little time for this issue, sorry...)
>

With SoC devices, AIC3x for example, there are many, many controls.
My 8x aic33 board has literally hundreds of controls in alsamixer, so
it clearly can display many different gain sliders.   Is the
equivalent simply not possible for USB devices?  Supposed I wanted to
expose all the complexity of the AIC33 over USB descriptors -- could I
get them to show up in alsamixer?

Thanks again,
  -Caleb


>
> Regards
>
> Takashi Sakamoto

Thanks,
 -Caleb

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user



[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux