[alsa-devel] [PATCH v2 1/2] ALSA: jack: create jack kcontrols for every jack input device
David Henningsson
david.henningsson at canonical.com
Fri Mar 27 07:50:14 CET 2015
On 2015-03-26 13:43, Jie, Yang wrote:
>
> Sorry, Correct a typo(removing line "create "Mic Jack" kctl;" in default case)
It looks like your code can be simplified as:
switch (type | SND_JACK_HEADSET) {
case SND_JACK_HEADSET:
create "Headset Mic Jack" kctl;
/* fall through */
case SND_JACK_MICROPHONE:
case SND_JACK_HEADPHONE:
create format("%s Jack", id) kctl;
}
...that way, prefixes such as "Front Headphone Jack" are preserved too,
which is a good thing.
// David
>
> snd_jack_new(struct snd_card *card, const char *id, int type, struct snd_jack **jjack) { ...
> Switch(type | SND_JACK_HEADSET)
> {
> case SND_JACK_MICROPHONE:
> create "Mic Jack" kctl;
> break;
> case SND_JACK_HEADSET:
> if (id == "Headphone Mic Headset") {
> create " Headphone Mic Jack " kctl;
> create " Headset Mic Jack " kctl;
> } else {
> create " Headphone Jack " kctl;
> create " Headset Mic Jack " kctl;
> }
> break;
> case SND_JACK_HEADPHONE:
> if (id == "Headset Mic") {
> create " Headphone Jack " kctl;
> // create " Headset Mic Phantom Jack " kctl;
> } else if (id == "Headphone Mic") {
> create " Headphone Mic Jack " kctl;
> } else if (id == "Headset Headphone Mic") {
> create " Headphone Mic Jack " kctl;
> // create " Headset Mic Phantom Jack " kctl;
> } else {
> create " Headphone Jack " kctl;
> }
> break;
> default:
> break;
> }
> ...
> }
>
>
> Jack Type Jack name kctls/switches name
> SND_JACK_HEADPHONE Headphone Headphone Jack
> SND_JACK_MICROPHONE Mic Mic Jack
> SND_JACK_HEADSET Headset Headphone Jack
> Headset Mic Jack
> SND_JACK_HEADPHONE Headset Mic Headphone Jack
> Headset Mic Phantom Jack
> SND_JACK_HEADPHONE Headphone Mic Headphone Mic Jack
> SND_JACK_HEADPHONE Headset Headphone Mic Headphone Mic Jack
> Headset Mic Phantom Jack
> SND_JACK_HEADSET Headphone Mic Headset Headphone Mic Jack
> Headset Mic Jack
>
> ~Keyon
>
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the Alsa-devel
mailing list