Version: 0.9 (using KDE 4.6.0) OS: Linux since kde-4.6 often, after login, some tabs in kmix (used with pulseaudio) are gone. and I cannot re-add them, there is an error message like "cannot be added because the view-profile is not valid". this happens also with a fresh configuration (deleted all kmix config files ../share/apps/kmix and ../share/config/kmixrc and kmixctrlrc in my home) Reproducible: Sometimes OS: Linux (x86_64) release 2.6.34-12-desktop Compiler: gcc
I can confirm that with kmix 0.8 on kde 4.6.0 kmix 4:4.6.0-0ubuntu1~maverick1~ppa1 volume control and mixer I join konsole output from starting and stopping kmix with debugging activated. Sequence is : - remove all kmix config files from config and apps subdir of .kde - first start and record kmix output (all tabs are defined) - quit kmix - second start of kmix and record of kmix output (in and out devices tabs are missing) - try to add an output sound device tab - try to add an input sound device tab These last 2 actions result in the following output : kmix(22516) KMixDockWidget::contextMenuAboutToShow: ---> md= MixDevice(0x199b510) dockMuteAction= KToggleAction(0x199b440, name = "dock_mute") isMuted= false kmix(22516) KMixDockWidget::contextMenuAboutToShow: ---> md= MixDevice(0x199b510) dockMuteAction= KToggleAction(0x199b440, name = "dock_mute") isMuted= false kmix(22516) KMixDockWidget::activate: Activate at QPoint(0,0) kmix(22516) KMixDockWidget::activate: Use default KStatusNotifierItem behavior kmix(22516) KMixDockWidget::activateMenuOrWindow: activateMenuOrWindow: true , QPoint(0,0) kmix(22516) KMixWindow::newView: Enter kmix(22516) DialogAddView::apply: We should now create a new view "playback" for mixer "PulseAudio::Périphériques_de_lecture:1" kmix(22516) KMixWindow::newView: >>> mixer = "PulseAudio::Périphériques_de_lecture:1" -> Mixer(0x19959f0) kmix(22516) GUIProfile::loadProfileFromXMLfiles: Ignore file "profiles/PulseAudio.Périphériques_de_lecture.1.playback.xml" (does not exist) kmix(22516) GUIProfile::loadProfileFromXMLfiles: Ignore file "profiles/PulseAudio.playback.xml" (does not exist) kmix(22516) KMixWindow::errorPopup: "Cannot add view - GUIProfile is invalid." kmix(22516) KMixWindow::newView: Exit kmix(22516) KMixWindow::newView: Enter kmix(22516) DialogAddView::apply: We should now create a new view "capture" for mixer "PulseAudio::Périphériques_de_capture:1" kmix(22516) KMixWindow::newView: >>> mixer = "PulseAudio::Périphériques_de_capture:1" -> Mixer(0x19d68a0) kmix(22516) GUIProfile::loadProfileFromXMLfiles: Ignore file "profiles/PulseAudio.Périphériques_de_capture.1.capture.xml" (does not exist) kmix(22516) GUIProfile::loadProfileFromXMLfiles: Ignore file "profiles/PulseAudio.capture.xml" (does not exist) kmix(22516) KMixWindow::errorPopup: "Cannot add view - GUIProfile is invalid." kmix(22516) KMixWindow::newView: Exit kmix first start and restart will be added as attachements.
Created attachment 57274 [details] kmix first start with no existing config files
Created attachment 57275 [details] kmix second start with existing config files
I also add that I use a french locale $ locale LANG=fr_FR.UTF-8 LANGUAGE= LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL=
Created attachment 57276 [details] for reference alsamixer output
I found some forum discussion about this: https://bbs.archlinux.org/viewtopic.php?id=113014=new they say it maybe has to do with locales?
Pulseaudio specific => change component
BTW: Confirmed by me (cesken)
*** This bug has been confirmed by popular vote. ***
Hello. I can also confirm this bug. kmix -> About reports: KMix 3.8 / KDE 4.6.1 (in kubuntu 11.04 beta) If I start kmix with: LANG=C kmix It always works. After deleting kmix's files from ~/.kde, while using my locale (pt_PT), it works the first time only. Even without deleting kmix's files from .kde, "LANG=C kmix" always works. If someone wants more details just ask.
adding myself as CC. Using french locale here, starting kmix with this command: LANG=en kmix --keepvisibility work, i hope this gets fixed for 4.6.2!
I can also confirm, that changing the language to english solves the problem.
Can people please check if this is solved by my patches/changes available here: http://colin.guthr.ie/git/kdemultimedia-trunk/log/ I'll be committing these upstream very soon (probably today)
SVN commit 1226943 by cguthrie: kmix: Do not allow 'channel configuration' with PulseAudio. When the mixer is 'dynamic', configuring the channels is problematic and leads to some strange problems. This is step one on masking that functionality when used with PA. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +6 -0 apps/kmix.cpp M +5 -0 gui/viewbase.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1226943
SVN commit 1226944 by cguthrie: kmix: Various UTF8 encoding fixes. This ensures that data that can be UTF8 is treated as such. Another important fix is the use of QString::number() in the stream names. Using the number is not great in the first place but the mixer ids need to be unique. The downside of this is that you cannot split the channels of a stream and expect it to be restored again (it will be restored after a reboot but only when the stream indexes match up). Some better plan is needed here. That said, this should help restore problems with profiles encountered with locales that need UTF8 encoding which should also hopefully help the memory leak that results from this. However, profile support will still be disabled with PulseAudio backend anyway, so it shouldn't matter much. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +28 -23 mixer_pulse.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1226944
SVN commit 1226945 by cguthrie: kmix: Avoid the use of QString.sprintf(). This is generally discouraged and also doesn't deal gracefully with UTF8 encoded data (due to explicityly calling toAscii()) so use the more modern QString().arg(..) construct and leave the data encoding as is. This may result in writing some UTF8 data into the config files but this should be handled gracefully. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +3 -4 core/mixdevice.cpp M +7 -7 gui/viewbase.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1226945
SVN commit 1226946 by cguthrie: kmix: Do not save/load mixer profiles for dynamic mixers (e.g. PulseAudio) These mixer profiles are just 'odd' when it comes to PA, especially the streams (as opposed to devices). When used under plain ALSA mixer profiles make sense to hide the unecessary complexity of ALSA from most users, but PA already hides that complexity and building a filter system on top of that makes little sense and leads to strange bugs/configurations. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +22 -4 apps/kmix.cpp M +5 -1 gui/guiprofile.cpp M +13 -2 gui/viewbase.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1226946
SVN commit 1226947 by cguthrie: kmix: As we no longer allow editing of GUI Profiles for dynamic mixers, be sure to kill the 'Hide' context menu item too. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +5 -1 mdwslider.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1226947
SVN commit 1226948 by cguthrie: kmix: Kill off GUI Profile tweaks for dynamic mixers. Now that dynamic mixers *always* use the fallback profile, we know that we don't have to do any special fixups to display totally new devices/streams as we can be confident the fallback GUI Profile will show them. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +0 -36 viewbase.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1226948
SVN commit 1226949 by cguthrie: kmix: Generify an earlier fix to not show close/new tab buttons with PulseAudio. This just removes the specific PulseAudio check and relies on the 'dynamic' mixers In theory the same logic could apply to OSSv4 but I doubt anyone will bother. Also remove the option to Launch pavucontrol. There is no check to see if it is installed and all the functionality of pavucontrol is now available in kmix or Speaker Setup which is already linked to in the menu. CCBUG: 265317 CCBUG: 237239 CCBUG: 264835 M +9 -18 apps/kmix.cpp M +0 -1 apps/kmix.h M +0 -1 kmixui.rc WebSVN link: http://websvn.kde.org/?view=rev&revision=1226949
SVN commit 1226958 by cguthrie: kmix: Various (mostly PulseAudio related) fixes from trunk. Merges r1225537 through r1226957. CCBUG: 237239 CCBUG: 265317 CCBUG: 264835 M +37 -22 apps/kmix.cpp M +0 -1 apps/kmix.h M +2 -2 backends/mixer_backend.cpp M +57 -32 backends/mixer_pulse.cpp M +7 -9 core/mixdevice.cpp M +2 -13 core/mixdevice.h M +1 -1 core/mixer.cpp M +1 -1 core/mixer.h M +5 -1 gui/guiprofile.cpp M +11 -7 gui/mdwslider.cpp M +30 -48 gui/viewbase.cpp U gui/viewbase.h M +7 -7 gui/viewdockareapopup.cpp M +0 -3 gui/viewdockareapopup.h M +1 -1 gui/viewsliders.cpp M +0 -1 kmixui.rc WebSVN link: http://websvn.kde.org/?view=rev&revision=1226958
Can people please check the latest 4.6 svn branch to see if that fixes things for them? Many thanks :)
currently i can't build kde svn. I just upgraded to kde 4.6.2 where the bug is still present. But i guess the new code will only be live in 4.6.3. I will report back then if nobody answered before about the svn code.
Beat Wolf has not reported back, but I can confirm that it is OK for me.