kmix: How can I override the device chosen for master output (3.3.1)

Keith Hanlan keithh at
Fri Aug 11 15:30:42 BST 2006

I am using RHEL-4 which includes kdemultimedia version 3.3.1. I
understand from another posting on this mailing list that later
versions of kmix have a "Select Master Channel" menu item. Since
that is not available, I need some other mechanism to override the
master output device. I've played around with the kmix and
kmixctrl rc files to no avail.

The problem in a nutshell is that our new HP PCs have three
   - a rear jack which the system labels as "Headphone"
   - an internal speaker which the system labels as "Mono"
   - a front jack which is labeled "Front"

Unfortunately, the rear jack is found first and so is chosen by
kmix as the master control according to this logic:
   | Mixer_ALSA::identify( snd_mixer_selem_id_t *sid )
   | {
   |     QString name = snd_mixer_selem_id_get_name( sid );
   |     if ( name == "Master" )
   |     {
   |         if (!masterChosen) {
   |             m_masterDevice = snd_mixer_selem_id_get_index( sid );
   |             masterChosen = true; // -<- this makes KMix select the
*first* master device
   |         }
   |         return MixDevice::VOLUME;
   |     }

I see no other code which sets m_masterDevice.

So, is there some other mechanism that I can use to force kmix to
find "Front" first?

Keith Hanlan

More information about the kde-multimedia mailing list