Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Ideas | Propositions PulseAudio cairo-dock Interface
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Ideas | Propositions

Subjects Author Language Messages Last message
[Locked] PulseAudio cairo-dock Interface
Page : 1 2
inspirra Russian 25 fabounet [Read]
23 November 2010 à 14:37

inspirra, Saturday 02 October 2010 à 14:47


Subscription date : 17 September 2010
Messages : 23
Propose a sketch interface for volume control.

http://s001.radikal.ru/i195/1010/fe/f31030d88aa3t.jpg

100% scale:
http://radikal.ru/F/s001.radikal.ru/i195/1010/fe/f31030d88aa3.png.html
100% mirror:
https://docs.google.com/leaf?id=0B8NdQpUl55MlZjAzZmVkMGEtOWNjMS00ZDFhLTlkMWItZDk0NDNkODE5MDJj&sort=name&layout=list&num=50

1. Icons appear dynamically.
2. Volume changes by the scrolling mouse wheel, when cursor hover on the icon pulseaudio client.
3. Choice of the output device by clicking on the icon of PA client.

Sorry for my english (google translate).

matttbe, Saturday 02 October 2010 à 15:33


Subscription date : 24 January 2009
Messages : 12573
Hello,

Is it a new applet for Cairo-Dock?
Ooh, it's interesting!!!
How did you do that? With Cairo-Dock API (coded in C) or with Cairo-Dock DBus API (which language?)

Don't hesitate to share this applet with us if you want

inspirra, Saturday 02 October 2010 à 15:53


Subscription date : 17 September 2010
Messages : 23
Oh! No! Sorry. (-:

This is sketch (fake) only, made with GIMP.

I'd like to write this applet by myself, but I'm not a programmer.
I just want to propose that someone make such applet.

Sorry for mislead! (-:
But I ready to testing, if somebody will make the applet.

Sorry for my English.

SQP, Saturday 02 October 2010 à 17:32


Subscription date : 03 July 2010
Messages : 1081
not sure the second subdock would be possible with all first subdock different view.
but I guess that card selection would be easily done with right click menu list (even with icons) as first .

I already planned some changes on volume applet after my gui changes. I'd like to use the gauge renderer with new themes options
Some screenshots and video are visible on this thread http://www.glx-dock.org/bg_topic.php?t=4599&pos=40

I also think that pulse applications management would be cool, but I'm not sure if something wasn't already started for it.

(just to make a little test, could you also post your text translated in french please, because I think that english translation seem to be really good and I would like to compare)

you can already help developpers by testing new options if you want.
I have a listed my patches and comments on them : on my dev page

taiebot65, Saturday 02 October 2010 à 20:42


Subscription date : 26 October 2008
Messages : 1904
Yes i ve started but my skills at coding are really poor

so it's not working but would like to see this implemented.

My branch is open to all on launchpad..

fabounet, Monday 04 October 2010 à 15:28


Subscription date : 30 November 2007
Messages : 17118
Taiebot65 now that you have a fan, you have to do your best !

inspirra, Monday 04 October 2010 à 16:10


Subscription date : 17 September 2010
Messages : 23
I looked at the source code of other plugins and examples from the wiki (Control_your_dock_with_DBus)...
I'll try to make this plugin.

SQP, Monday 04 October 2010 à 16:24


Subscription date : 03 July 2010
Messages : 1081
wouldn't it be better integrated in the current sound applet ?

taiebot65, Monday 04 October 2010 à 20:31


Subscription date : 26 October 2008
Messages : 1904
There is all the dbus working for pulseaudio in my branch.. But i did not manage to integrate it to the dock
The problem you need libqt4.0 and qtdbus etc.. because i tried to copy the veromix plasma applet.
http://kde-look.org/content/show.php/Veromix+-+A+Pulseaudio+volume+control?content=116676

I do not think there is a lots of work to do to get it functional. the only problem would be to get rid of the qt4 dependencies...

BTW there is extra applet using dbus here if you want to have better exemple http://www.glx-dock.org/mc_album.php?a=4

fabounet, Tuesday 05 October 2010 à 10:48


Subscription date : 30 November 2007
Messages : 17118
qdbus is a mere wrapper around dbus, you don't need it.
as for Qt, you can easily do the same with Glib and GTK (I guess it's for the main loop ?)

yes it could be integrated into the current Sound applet, but it's built on top of alsa, so it would require a complete rewriting.

inspirra, Friday 08 October 2010 à 19:01


Subscription date : 17 September 2010
Messages : 23
I did it!

This is just pre-pre-pre-alpha. (-: It lacks a lot of features.
Dependencies: bash-4 and xprop.

I need help:

1) How can I force the redraw after "SetIcon" and "SetLabel"?
2) Parsing of "pacmd" output isn't the best solution. But I don't know how to interact with PulseAudio server through "dbus-send" (http://pulseaudio.org/wiki/DBusInterface). Please, show me an example.
3) Please, show me an example of handling the "on_mouse_over" event.
4) How can I test if an app icon presents in the system and if this icon is available?

Demonstration is here:
http://www.youtube.com/watch?v=mv1Y-YleFx8

Plug-in is here:
https://docs.google.com/leaf?id=0B8NdQpUl55MlMmQ3MGE4YTMtOGM4MS00NmVlLWEzY2QtNzZjN2RhZmUwMzY2&sort=name&layout=list&num=50

ToDo:
- Control the master volume.
- Switching PulseAudio clients between audio devices (via the sub icons).
- Creating a sane configuration.

P.S.
I'm not a programmer, so my code is poor.
But I hope it would motivate someone to write better code.

SQP :

(just to make a little test, could you also post your text translated in french please, because I think that english translation seem to be really good and I would like to compare)

I use Gogle Translator mainly for the translation of the words, and then edit the translation by myself. (-:

fabounet, Monday 11 October 2010 à 17:47


Subscription date : 30 November 2007
Messages : 17118
congratulations
you don't need to refresh the icon (it *should* be automatic)
as for the labels, maybe they are not completely refreshed, I might fix it if necessary

for exemples with dbus-send, please see the wiki for some concrete examples: http://www.glx-dock.org/ww_page.php?p=Control_your_dock_with_DBus&lang=en

why would you need on_mouse_over event ? it is not sent on the bus.

inspirra, Monday 11 October 2010 à 21:48


Subscription date : 17 September 2010
Messages : 23
fabounet :

you don't need to refresh the icon (it *should* be automatic)
as for the labels, maybe they are not completely refreshed, I might fix it if necessary


Yes, it needs to be fixed, if possible.
Because, if "SetIcon" and "SetLabel" changes, they will change only if there will be mouse movement over the icon, or at the next scroll. Therefore, the shown label and the icon displays the previous value.

taiebot65, Monday 11 October 2010 à 22:43


Subscription date : 26 October 2008
Messages : 1904
Your applet is extremely promising
I am testing it actually and i have got a few proposal.
You should set up an emblem of the application name on top of a sound icon or do the opposite i think that could be quite cool and usefull to know which windows i am controlling.
The volume level should be set as a label on icon that would be as well really usefull.

The possibility to mute other applications via click on icon. I ve always found myself in trouble when i start to watch a youtube video as i am listening to music it's either i have to stop the music which i do not want (rhythmbox) or fiddle with the volume but they are not easily accesible. By clicking on this applet, i could if you could put these options in the config : Either on click mute the stream. or mute all other streams. I would prefer the second choice.

Middle click to reset all the stream to a certain value set up in the config menu.

Keep up the good work.

taiebot65, Monday 11 October 2010 à 23:35


Subscription date : 26 October 2008
Messages : 1904
I have uploaded my branch if you want to test it with a working dbus applet of pulseaudio you just need those qt libs.. :-(. I do not think the dbus applet for pulseaudio has been implemented in any distribution yet. That's why i had to use the veromix-applet

https://code.launchpad.net/~taiebot65/cairo-dock-plug-ins-extras/Subdock-2
But it's in python and you will need to read the readme.. You still need to launch the dbus applet manually.
To work easily with branches i recommend.. https://launchpad.net/groundcontrol with a direct integration in nautilus really easy to find work and to upload/create your branches..


inspirra, Tuesday 12 October 2010 à 00:14


Subscription date : 17 September 2010
Messages : 23
2 taiebot65,
After a week or two, I'll try to implement your suggestions, and make the necessary options in the config.

I need help.
I still can not find: how can I test if an app icon presents in the system and if this icon is available? Or how to extract window icon (_NET_WM_ICON)?

fabounet, Tuesday 12 October 2010 à 11:08


Subscription date : 30 November 2007
Messages : 17118
if you have the name of the application (let's say "totem"), you can just use that as the icon name
most of the time the dock can find the correct image with it.

what about a sub-dock for each audio source ?

inspirra, Tuesday 12 October 2010 à 13:18


Subscription date : 17 September 2010
Messages : 23
fabounet :
if you have the name of the application (let's say "totem"), you can just use that as the icon name
most of the time the dock can find the correct image with it.


Yes, but if the icon for the application name is missing, there will be empty space instead of the icon. Therefore, the program must check the availability of an icon. And if it isn't available, it must be replaced by my default icon (e.g. emblem-multimedia).

fabounet :
what about a sub-dock for each audio source ? :)

Yes, I still plan to make it functional. (-:

fabounet, Tuesday 12 October 2010 à 14:37


Subscription date : 30 November 2007
Messages : 17118
And if it isn't available, it must be replaced by my default icon (e.g. emblem-multimedia).

you're right
did you ever notice this case ?

inspirra, Tuesday 12 October 2010 à 15:13


Subscription date : 17 September 2010
Messages : 23
I get a list of PulseAudio clients:
<...>SKIP<...>
client: 11380 <Audacious>
properties:
media.name = "???????????..."
application.name = "Audacious"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "16"
application.process.id = "7303"
application.process.user = "andrew"
application.process.host = "inspirra"
application.process.binary = "audacious2"
application.icon_name = "audacious"
window.x11.display = ":0.0"
application.language = "ru_RU.UTF-8"
<...>SKIP<...>
index: 2486
<...>SKIP<...>
client: 11507 <ALSA plug-in [chrome]>
properties:
media.name = "ALSA Playback"
application.name = "ALSA plug-in [chrome]"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "16"
application.process.id = "24920"
application.process.user = "andrew"
application.process.host = "inspirra"
application.process.binary = "chrome"
window.x11.display = ":0.0"
application.language = "ru_RU.UTF-8"
<...>SKIP<...>


For the "Audacious" the icon name presents as "application.icon_name".
But for the "Chromium" it's impossible to determine the icon (it is not a native pulseaudio client), because the only name is available is "chrome" in "process.binary", but there isn't the icon with the name "chrome".

Ideas | Propositions

Subjects Author Language Messages Last message
[Locked] PulseAudio cairo-dock Interface
Page : 1 2
inspirra Russian 25 fabounet [Read]
23 November 2010 à 14:37


Glx-Dock / Cairo-Dock List of forums Ideas | Propositions PulseAudio cairo-dock Interface Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.