Re: mixer kcontrol documents?

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

 



Hi Brad,

On 2/8/07, Brad Beveridge <brad.beveridge@xxxxxxxxx> wrote:
> Hi all,
> In a previous thread Liam suggested that I should expose some driver
> functionality via a mixer kcontrol.  I am quite new to working on ALSA
> stuff, so I don't really know how to go about doing this.
> I couldn't really find any info about kcontrols in
> kernel/Documentation/sound/alsa, or on the ALSA website.
>
> Basically I'd like to expose to userland a control called "De-emphasis
> filter" which will take the values:
>  - ON or OFF
> or maybe
>  - OFF, 32kHz, 44.1kHz, 48kHz
>
> I'm unsure which to choose, but I suspect on/off and automatically
> choose the correct config based on the current sampling rate - but I
> don't expect it matters right now.
>
> I've looked at the snd_kcontrol_new structure, and I assume that I
> really only need to fill in the fields and (somehow) register the
> structure.  Any tips, or existing drivers I can look at that will give
> me a bit more knowledge here?
>

There are a number of convenience macros found in linux/sound/soc.h to
help you set up kcontrols in ASoC drivers.  Based on your previous
e-mail (you need to set up your filter in your machine driver via
GPIOs, correct?) you probably want to use SOC_ENUM_EXT().  This will
set up the kcontrol so that functions in your machine driver get
called whenever someone tries to read or write its value.

There are a number of examples of this in ASoC machine drivers -- one
good example is found in sound/soc/pxa/corgi.c.  Look at the
wm8731_corgi_controls array and you'll see an example of a simple
on/off control and another one with several possible values.  You can
work your way backwards from there to see how everything is set up.
Also be sure to note the call to snd_ctl_add() in corgi_wm8731_init().

Cheers,
Seth

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux