This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Understanding kmix

Tags: None
(comma "," separated)
User avatar
carlosestensser
Registered Member
Posts
51
Karma
0
OS

Understanding kmix

Sat May 19, 2012 8:47 pm
I am using Amarok2 Remote to control Amarok thru my android phone. (amazing stuff ^-^ )
However, I often forget that I have muted everything with kmix and have to go upstairs to unmute it.
I tried unmuting it via ssh (more amazing stuff that I am beginning to discover ^-^ ) with every possible combination:
Code: Select all
amixer set Master 50&
amixer set Master 50& unmute
amixer set Front 50&

line, pmc...

but nth. works, or not, at least, consistently.

Does anyone know what Kmix does when you mute everyting with the middle button?
User avatar
google01103
Manager
Posts
6668
Karma
25

Re: Understanding kmix

Sat May 19, 2012 9:03 pm


OpenSuse Leap 42.1 x64, Plasma 5.x

User avatar
carlosestensser
Registered Member
Posts
51
Karma
0
OS

Re: Understanding kmix  Topic is solved

Sun May 20, 2012 8:32 pm
I still don't know what KMix does,
but I've found a solution:
I created an alias in my bashrc:
Code: Select all
alias KMm='qdbus org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger'

Now, from my android I type KMm and that's it. :)
User avatar
blue_bullet
Registered Member
Posts
87
Karma
0
OS

Re: Understanding kmix

Sat Oct 13, 2012 10:20 pm
alias KMm='qdbus org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger'

I use the same command in a Rexx script to mute (midnight) and unmute (7 am) sounds via cron. My wife complains about our computers making all these noises from incoming emails when she is trying to get some shut eye. The command works equally well in CLI using Linux Mint 12 KDE 64 bit but does not work in Linux Mint 13 KDE 64 bit. I get the following error message when I issue the above command from a terminal session or in the Rexx routine:

Error: org.freedesktop.DBus.Error.UnknownInterface
No such interface 'com.trolltech.Qt.QAction' at object path '/kmix/KMixWindow/actions/mute'

I have stayed at LM 12 on my desktop so it continues to work properly on that machine. On one of my laptops I have LM 13 and LM 12 installed. It still works on LM 12 there but not on LM 13. Does anyone have an idea where I might look to see what is missing and how to put it back?

Note: I can mute and unmute via the Kmix gui but not using qdbus.

Running KDE 4.9.2 on LM 13.


Migrated from Linux Mint 17.3/18.3 KDE to KDE neon User Edition.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Understanding kmix

Tue Oct 16, 2012 7:24 am
What is the output of the following? (That command works here btw).
Code: Select all
qdbus org.kde.kmix /kmix/KMixWindow/actions/mute


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
blue_bullet
Registered Member
Posts
87
Karma
0
OS

Re: Understanding kmix

Fri Oct 19, 2012 12:14 am
rob@shelby:~$ qdbus org.kde.kmix /kmix/KMixWindow/actions/mute
property readwrite bool org.kde.kmix.KAction.globalShortcutAllowed
property read bool org.kde.kmix.KAction.globalShortcutEnabled
property readwrite bool org.kde.kmix.KAction.shortcutConfigurable
property readwrite bool org.qtproject.Qt.QAction.autoRepeat
property readwrite bool org.qtproject.Qt.QAction.checkable
property readwrite bool org.qtproject.Qt.QAction.checked
property readwrite bool org.qtproject.Qt.QAction.enabled
property readwrite QString org.qtproject.Qt.QAction.iconText
property readwrite bool org.qtproject.Qt.QAction.iconVisibleInMenu
property readwrite QString org.qtproject.Qt.QAction.statusTip
property readwrite QString org.qtproject.Qt.QAction.text
property readwrite QString org.qtproject.Qt.QAction.toolTip
property readwrite bool org.qtproject.Qt.QAction.visible
property readwrite QString org.qtproject.Qt.QAction.whatsThis
method void org.qtproject.Qt.QAction.hover()
method void org.qtproject.Qt.QAction.setChecked(bool)
method void org.qtproject.Qt.QAction.setDisabled(bool b)
method void org.qtproject.Qt.QAction.setEnabled(bool)
method void org.qtproject.Qt.QAction.setOn(bool b)
method void org.qtproject.Qt.QAction.setVisible(bool)
method void org.qtproject.Qt.QAction.toggle()
method void org.qtproject.Qt.QAction.trigger()
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()
rob@shelby:~$


Migrated from Linux Mint 17.3/18.3 KDE to KDE neon User Edition.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Understanding kmix

Fri Oct 19, 2012 2:04 am
It seems the interface got renamed... which is technically a SC/BC breakage - and should not have happened...
As for fixing your script, just replace com.trolltech.Qt.QAction.trigger with org.qtproject.Qt.QAction.trigger and it should now work again (there is no difference between the two - it is purely a naming change, and you can blame the Qt Developers).

To assist us here - please provide the output of "kmix --version".


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
blue_bullet
Registered Member
Posts
87
Karma
0
OS

Re: Understanding kmix

Fri Oct 19, 2012 7:45 pm
bcooksley,
rob@shelby:~$ kmix --version
Qt: 4.8.2
KDE Development Platform: 4.9.2
KMix: 4.2

Thank you for the information. I have made the change to my script and it is now working in Linux Mint 13 KDE. I have had to change my script to check the version of Linux Mint being run since the com.trolltech is required for Linux Mint 12 KDE and org.qtproject is required in Linux Mint 13 KDE. Such is life. I also learned when I went back to test the change in Linux Mint 12 that the command "amixer sget Master > toggle_mute.txt" does not work properly (whereas it does in Linux Mint 13). toggle_mute.txt looks like this:

Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback 0 - 64
Mono: Playback 64 [100%] [0.00dB] [on]

I parse the last line looking for the word "[on]" or "[off]" to decide what to do toggle wise. In Linux Mint 12 amixer has the last word as "[on]" even if volume is muted. I don't think it used to work that way but I may be wrong. At any rate piping the output using amixer now works as it should in Linux Mint 13 and the last line will have the word "on" or "off" depending on status of the volume (not muted or muted).
Guess I just need to move on to Linux Mint 13 KDE on all my machines.

Thank you again for your help here. My problem is fixed. My wife will be happy. I can hear her now when I explain this "Yes, Dear. Whatever..." :z


Migrated from Linux Mint 17.3/18.3 KDE to KDE neon User Edition.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar