From 5c19bf843463adee36745087b314b979e582d229 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Mon, 25 Apr 2011 17:15:43 +0200 Subject: [PATCH] Create set_properties helper for BaseOutput --- mopidy/gstreamer.py | 9 +++++++++ mopidy/outputs.py | 13 +++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/mopidy/gstreamer.py b/mopidy/gstreamer.py index ab70b0ba..5c242a66 100644 --- a/mopidy/gstreamer.py +++ b/mopidy/gstreamer.py @@ -45,6 +45,15 @@ class BaseOutput(object): """ raise NotImplementedError + def set_properties(self, element, properties): + """ + Set properties on element if they have a value. + """ + for key, value in properties.items(): + if value: + element.set_property(key, value) + + class GStreamer(ThreadingActor): """ Audio output through `GStreamer `_. diff --git a/mopidy/outputs.py b/mopidy/outputs.py index 6aff0a0f..1a767d58 100644 --- a/mopidy/outputs.py +++ b/mopidy/outputs.py @@ -15,20 +15,17 @@ class ShoutcastOutput(BaseOutput): def describe_bin(self): if settings.SHOUTCAST_OVERRIDE: return settings.SHOUTCAST_OVERRIDE - return 'audioconvert ! %s ! shout2send name=shoutcast' \ % settings.SHOUTCAST_ENCODER def modify_bin(self, output): - shoutcast = output.get_by_name('shoutcast') - properties = { + if settings.SHOUTCAST_OVERRIDE: + return + + self.set_properties(output.get_by_name('shoutcast'), { u'ip': settings.SHOUTCAST_SERVER, u'mount': settings.SHOUTCAST_MOUNT, u'port': settings.SHOUTCAST_PORT, u'username': settings.SHOUTCAST_USER, u'password': settings.SHOUTCAST_PASSWORD, - } - - for key, value in properties.items(): - if value: - shoutcast.set_property(key, value) + })