* alsa-lib mixer-interface: snd_mixer_selem_get_capture_switch()
@ 2003-11-23 19:23 Christian Esken
2003-11-24 15:06 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Christian Esken @ 2003-11-23 19:23 UTC (permalink / raw)
To: alsa-devel
Hello,
I have problems with snd_mixer_selem_get_capture_switch(elem,pos,&value)
in my KMix mixer application. The "value" returned does *not* reflect the
actual state in all cases.
Probably I am doing something wrong, if somebody could throw me a hint I would
be more than happy. I have investigated for days and feel completely lost.
It is a bit complicated, so I'll do a step-by-step walkthrough of an example:
1) Initially switch "1" is ON and switch "2" is OFF
2) I enable switch "2".
3) The ALSA driver detects that switches "1" and "2" cannot be ON at
the same time. So the ALSA driver disables "1".
4a) KMix now shows switches "1" and "2" both as ON, because
snd_mixer_selem_get_capture_switch() reports them as ON.
4b) alsamixer shows switch "1" is OFF and switch "2" is ON.
So I wonder why snd_mixer_selem_get_capture_switch() works in alsamixer and
not in KMix.
The only differenece I see is that alsamixer has these poll-descriptor stuff
in it. Do I possibly need to implement it (I don't understand what I would
have to do there - it looks complicated)? Or is there some other means to
"update" the state of the mixer elements?
Hint: I also have the problem that I don't see volume changes done with other
applications like xmms. So I am pretty sure I have an "update" problem, I
just don't know how to solve it.
Any help is greatly appreciated,
Chris
PS: I already looked at other mixer applications like gamix, but that did not
help me: For example the latter one seems to be using alsa kernel interface
instead of alsa-lib.
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: alsa-lib mixer-interface: snd_mixer_selem_get_capture_switch()
2003-11-23 19:23 alsa-lib mixer-interface: snd_mixer_selem_get_capture_switch() Christian Esken
@ 2003-11-24 15:06 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2003-11-24 15:06 UTC (permalink / raw)
To: Christian Esken; +Cc: alsa-devel
At Sun, 23 Nov 2003 20:23:11 +0100,
Christian Esken wrote:
>
> Hello,
>
> I have problems with snd_mixer_selem_get_capture_switch(elem,pos,&value)
> in my KMix mixer application. The "value" returned does *not* reflect the
> actual state in all cases.
> Probably I am doing something wrong, if somebody could throw me a hint I would
> be more than happy. I have investigated for days and feel completely lost.
>
> It is a bit complicated, so I'll do a step-by-step walkthrough of an example:
>
> 1) Initially switch "1" is ON and switch "2" is OFF
> 2) I enable switch "2".
> 3) The ALSA driver detects that switches "1" and "2" cannot be ON at
> the same time. So the ALSA driver disables "1".
> 4a) KMix now shows switches "1" and "2" both as ON, because
> snd_mixer_selem_get_capture_switch() reports them as ON.
> 4b) alsamixer shows switch "1" is OFF and switch "2" is ON.
>
> So I wonder why snd_mixer_selem_get_capture_switch() works in alsamixer and
> not in KMix.
> The only differenece I see is that alsamixer has these poll-descriptor stuff
> in it. Do I possibly need to implement it (I don't understand what I would
> have to do there - it looks complicated)?
yes, otherwise the update won't occur.
in the case of qt, you can do polling via connecting QSocketNotifier.
> Or is there some other means to
> "update" the state of the mixer elements?
it's not so easy, since you'll need to receive the information which
element should be updated at each time when a change occurs.
otherwise you'll have to update all elements at once.
Takashi
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-11-24 15:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-23 19:23 alsa-lib mixer-interface: snd_mixer_selem_get_capture_switch() Christian Esken
2003-11-24 15:06 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox