Bug 149487 - kmix doesn't care about "select master channel" selection.
Summary: kmix doesn't care about "select master channel" selection.
Status: RESOLVED DUPLICATE of bug 134820
Alias: None
Product: kmilo
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Christian Esken
URL:
Keywords:
: 146074 146867 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-09-02 19:11 UTC by Raúl
Modified: 2008-01-02 18:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raúl 2007-09-02 19:11:51 UTC
Version:           2.6.1 (using KDE 3.5.7, Debian Package 4:3.5.7.dfsg.1-7 (lenny/sid))
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.22rs

I use kmilo and I know it sends dcop commands to kmix in order to increase, decrease or mute the master channel volume once the corresponding multimedia keyboard XF86Audio key is pressed.

I usually use master (builtin laptop speakers) or headphones channel as master. When using laptop speaker master channel kmilo raises the volume dialog to show the volume change and changes it as expected, but when I choose headphones as master channel using right click on the kmix systray icon and the "Select master channel.." then kmilo rises the dialog as usual but changes the "Master" volume channel, this is the builtin laptop speaker which are disabled once the headphones are plugged.

I tried setting the global keyboard shortcuts and not use kmilo to test this, but kmix didn't respond to any shortcut I used. I try methods explained at bug #146867  for which this is possibly a dupe. I wasn't sure so feel free to mark this as such.

I remember quite well this was working some time ago, don't remember which KDE version exactly, but maybe 3.5.5.

I plugged gdb to a running kmix and got the following conclusions:

*Technical notes*

Correct me if I'm wrong but I think kmilo calls increasevolume and decreasevolume dcop methods to do rise and low the volume. The dcop method in turn call the Mixer::increaseVolume and Mixer::decreaseVolume methods that does the actual work. I'll stick to decreaseVolume.

Once the Mixer::decreaseVolume function is called, this calls the Mixer_ALSA::writeVolumeToHW audio backend since it's the alsa backend which is used in my case. In this latter function I can't see any reference to the selected master card channel, neither I could see this in the call flow.

I have tested this using a pure dcop call, since I don't the reason, using the regular kmilo procedure didn't stop the application.

I've been unable to find any development doc for kmix so I don't understand very well it's design and concepts, I'll keep investigating it.

I've also reviewed svn commits to see anything related to this, but the only candidate I saw was 615802 which changes the Mixer_Alsa::getMixerElem but after a debugging session I discarded this. After some morre looking myabe it's about 498015, but haven't check much yet.

I'm available to do further tests and get further conclusions, also for some explanations as how master and channel selection works. What is a PK (_masterDevicePK), BTW? :)

Thanks.
Comment 1 Christian Esken 2007-10-05 15:09:56 UTC
Hello Raúl,

thanks for your report. As fas as I see KMilo calls setAbsoluteVolume() for "normal" Computers.  And this is very wrong, as it operates on a fixed control (actually the first control in the list), instead of the Master.
Looking at the history, I see that this bug was introduced in Revision 624936 on Thu Jan 18 13:23:08 2007 UTC  by SVN account mueller. It fixes rounding issues as described in https://bugzilla.novell.com/show_bug.cgi?id=234196 , but I still think the KMilo change should be reverted.

I'll move this bug to the product KMilo.

  Christian
Comment 2 Christian Esken 2007-10-05 16:01:22 UTC
*** Bug 146074 has been marked as a duplicate of this bug. ***
Comment 3 Christian Esken 2007-10-05 16:04:21 UTC
*** Bug 146867 has been marked as a duplicate of this bug. ***
Comment 4 David Jarvie 2008-01-02 18:53:21 UTC

*** This bug has been marked as a duplicate of 134820 ***