After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 744140 - Emit a signal if a stream gets updated
Emit a signal if a stream gets updated
Status: RESOLVED FIXED
Product: libgnome-volume-control
Classification: Other
Component: general
git master
Other Linux
: Normal enhancement
: ---
Assigned To: libgnome-volume-control-maint
libgnome-volume-control-maint
Depends on:
Blocks:
 
 
Reported: 2015-02-07 18:34 UTC by Alex Hofbauer
Modified: 2015-10-05 13:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Emit a signal for stream changed (4.22 KB, patch)
2015-02-07 18:34 UTC, Alex Hofbauer
committed Details | Review

Description Alex Hofbauer 2015-02-07 18:34:21 UTC
Created attachment 296343 [details] [review]
Emit a signal for stream changed

Currently there's only "stream-added" and "stream-removed" but no "stream-changed" signal emitted.

This results in details being outdated (e.g. the currently played song in Rhythmbox).


I attached a small proof of concept, please tell me what you think.
Comment 1 Bastien Nocera 2015-09-09 09:32:18 UTC
Review of attachment 296343 [details] [review]:

That looks fine, but that's not hooked up anywhere. Is there a companion patch?
Comment 2 Alex Hofbauer 2015-09-09 09:43:19 UTC
No, not within shell or gvm.

I came across this issue maintaining a shell extension (Shell Volume Mixer). This patch lets me bind to that event and update labels, e.g.

Default shell implementation doesn't display stream information (guess this hasn't changed with 3.18), so there was no need to use it anywhere.
Comment 3 Bastien Nocera 2015-09-09 09:47:00 UTC
(In reply to Alex Hofbauer from comment #2)
> No, not within shell or gvm.
> 
> I came across this issue maintaining a shell extension (Shell Volume Mixer).
> This patch lets me bind to that event and update labels, e.g.
> 
> Default shell implementation doesn't display stream information (guess this
> hasn't changed with 3.18), so there was no need to use it anywhere.

gnome-control-center's sound panel, to update the apps tab?
Comment 4 Alex Hofbauer 2015-09-09 10:11:11 UTC
Might be a use-case. As far as I can see it doesn't display detailed stream information atm.
Comment 5 Bastien Nocera 2015-09-09 10:37:42 UTC
So close as WONTFIX, if it won't be used?
Comment 6 Alex Hofbauer 2015-09-09 10:43:18 UTC
At least one shell extension will implement it as currently outdated information is displayed with no way of getting updates.
Would it hurt to propagate that signal?

Displaying stream details in sound panel might be useful too. Don't know about the implications regarding HIG though.
Comment 7 Bastien Nocera 2015-09-09 10:44:02 UTC
It doesn't hurt, but I'd like to see code use it before merging it.
Comment 8 Alex Hofbauer 2015-09-09 10:51:03 UTC
I wanted to implement updates in shell volume mixer already for 3.16, commit is there [1], waiting for the signal to be implemented.

Please, don't tell me external implementations don't count, this would be very disappointing. There's no other way (afaik) of getting stream updates in shell extensions.


[1] https://github.com/aleho/gnome-shell-volume-mixer/commit/0aa36b0a35bf5291e825a7c2dee2f0d7ac356faf
Comment 9 Bastien Nocera 2015-09-09 10:53:30 UTC
(In reply to Alex Hofbauer from comment #8)
> I wanted to implement updates in shell volume mixer already for 3.16, commit
> is there [1], waiting for the signal to be implemented.

I don't understand what this does, and I don't know what your extension does either.
Comment 10 Alex Hofbauer 2015-09-09 11:04:38 UTC
Summary:
It displays a list of stream control sliders, allowing to change their volume.
Some media players add stream details, e.g. the currently displayed song.
As soon as this information is updated by the application, the next song title would be displayed.

Problem:
There's no stream-added signal emitted for already existing streams and there's also no stream-changed signal. The extension is never notified of changes, there's never an update to the stream details.