Summary: | No IEC958 Playback switch for Intel HDA | ||
---|---|---|---|
Product: | [Applications] kmix | Reporter: | Francois Cartegnie <bugzilla77> |
Component: | Soundcard specific | Assignee: | Christian Esken <esken> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Francois Cartegnie
2006-03-13 19:02:53 UTC
Dear bug reporter, I am quite sure this issue has been fixed while fixing bug 110807 (it is about playback/capture controls here), and also relates to bug 121827. So I do advise to upgrade to KDE3.5.1 and try it - if it doesn't, please just reopen this bug report. I upgraded those packages: kdemultimedia-kmix-3.5.1-1mdk libkdemultimedia1-kmix-3.5.1-1mdk no changes. Francois, thanks for the quick feedback. I took a closer look, and now understand what is going wrong here. Accepting bug. Reproducable with nForce2 card, Simple mixer control 'IEC958' . Work on this has started. Target milestone: KDE4.0 For the files. this is the "pswitch cswitch" issue SVN commit 676707 by esken: Finalized optimal ALSA support. The last open issue (pswitch cswitch) is now resolved. BUGS: 123560 BUGS: 135729 BUGS: 126012 BUGS: 125772 M +30 -15 mdwslider.cpp --- trunk/KDE/kdemultimedia/kmix/mdwslider.cpp #676706:676707 @@ -234,22 +234,36 @@ - // --- SLIDERS --------------------------- - QBoxLayout *volLayout; - if ( _orientation == Qt::Vertical ) { - volLayout = new QHBoxLayout( ); - volLayout->setAlignment(Qt::AlignVCenter); - } - else { - volLayout = new QVBoxLayout( ); - volLayout->setAlignment(Qt::AlignHCenter); - } - sliLayout->addItem( volLayout ); + // --- SLIDERS --------------------------- + QBoxLayout *volLayout; + if ( _orientation == Qt::Vertical ) { + volLayout = new QHBoxLayout( ); + volLayout->setAlignment(Qt::AlignVCenter); + } + else { + volLayout = new QVBoxLayout( ); + volLayout->setAlignment(Qt::AlignHCenter); + } + sliLayout->addItem( volLayout ); - if ( m_mixdevice->playbackVolume().count() > 0 ) - addSliders( volLayout, 'p' ); - if ( m_mixdevice->captureVolume().count() > 0 ) + if ( m_mixdevice->playbackVolume().count() > 0 ) + addSliders( volLayout, 'p' ); + if ( m_mixdevice->captureVolume().count() > 0 ) addSliders( volLayout, 'c' ); + if ( m_mixdevice->playbackVolume().count() == 0 && m_mixdevice->captureVolume().count() == 0 ) + { // no siders => put a label with the name. + // But I won't add " (capture)" as on the sliders, because there is only one "column" + if ( _orientation == Qt::Vertical ) { + m_label = new VerticalText( this, m_mixdevice->readableName() ); + } + else { + m_label = new QLabel(this); + static_cast<QLabel*>(m_label)->setText(m_mixdevice->readableName()); + } + volLayout->addWidget( m_label ); + m_label->installEventFilter( this ); + m_label->setToolTip( m_mixdevice->readableName() ); // @todo: Whatsthis, explaining the device + } // --- RECORD SOURCE LED -------------------------- if ( showRecordLED ) @@ -277,7 +291,8 @@ reclayout->addWidget( m_recordLED ); connect(m_recordLED, SIGNAL(stateChanged(bool)), this, SLOT(setRecsrc(bool))); m_recordLED->installEventFilter( this ); - m_recordLED->setToolTip( i18n( "Record" ) ); + QString muteTip( i18n( "Capture/Uncapture %1", m_mixdevice->readableName() ) ); + m_recordLED->setToolTip( muteTip ); // @todo: Whatsthis, explaining the device } // has Record LED else { |