On Sa, 2013-10-05 at 22:26 +0200, Richard Röjfors wrote: Thanks! We usually prefer receiving patches using bugzilla, though :)
> Currently there is no notification support on volume. > The last set value of the volume (via upnp) is cached in > rygel-rendering-control. But if the volume of the underlying renderer can > be changed in another way, for instance on a local UI. Such change is not > picked up by rygel-rendering-control and any control point would not be > aware of the volume change. > > This patch adds notification support for volume. > > Signed-off-by: Richard Röjfors <[email protected]> > --- > diff --git a/src/librygel-renderer/rygel-rendering-control.vala > b/src/librygel-renderer/rygel-rendering-control.vala > index bbbca37..01e727b 100644 > --- a/src/librygel-renderer/rygel-rendering-control.vala > +++ b/src/librygel-renderer/rygel-rendering-control.vala > @@ -92,6 +92,8 @@ internal class Rygel.RenderingControl : Service { > action_invoked["GetVolume"].connect (this.get_volume_cb); > action_invoked["SetVolume"].connect (this.set_volume_cb); > > + this.player.notify["volume"].connect (this.notify_volume_cb); > + > this._mute = this.player.volume == 0; > this._volume = Volume.to_percentage (this.player.volume); > } > @@ -273,4 +275,20 @@ internal class Rygel.RenderingControl : Service { > > action.return (); > } > + > + private void notify_volume_cb (Object player, ParamSpec p) { > + this._volume = Volume.to_percentage (this.player.volume); > + > + if (this._mute && this.player.volume > 0) { > + // We are not muted anymore... > + this._mute = false; > + this.changelog.log_with_channel ("Mute", > + "0", > + "Master"); > + } > + > + this.changelog.log_with_channel ("Volume", > + this.volume.to_string (), > + "Master"); > + } > } > > _______________________________________________ > rygel-list mailing list > [email protected] > https://mail.gnome.org/mailman/listinfo/rygel-list _______________________________________________ rygel-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/rygel-list
