summaryrefslogtreecommitdiff
path: root/nephilim/plugins/PlayControl.py
diff options
context:
space:
mode:
Diffstat (limited to 'nephilim/plugins/PlayControl.py')
-rw-r--r--nephilim/plugins/PlayControl.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/nephilim/plugins/PlayControl.py b/nephilim/plugins/PlayControl.py
index 1338fea..32a0e59 100644
--- a/nephilim/plugins/PlayControl.py
+++ b/nephilim/plugins/PlayControl.py
@@ -35,6 +35,7 @@ class wgPlayControl(QtGui.QToolBar):
random = None
single = None
consume = None
+ outputs_menu = None
p = None
logger = None
@@ -100,11 +101,25 @@ class wgPlayControl(QtGui.QToolBar):
self.p.mpclient.consume_changed.connect(self.consume.setChecked)
self.consume.toggled.connect(self.p.mpclient.consume)
+ self.outputs_menu = QtGui.QMenu('Audio outputs')
+ outputs = self.addAction(QtGui.QIcon('gfx/outputs.png'), 'Audio outputs')
+ outputs.triggered.connect(lambda : self.outputs_menu.popup(QtGui.QCursor.pos()))
+ self.p.mpclient.connect_changed.connect(self.__update_outputs)
+
self.orientationChanged.connect(self.vol_slider.setOrientation)
self.p.mpclient.state_changed.connect(self.onStateChange)
self.p.mpclient.volume_changed.connect(self.onVolumeChange)
+ def __update_outputs(self):
+ self.outputs_menu.clear()
+ for output in self.p.mpclient.outputs:
+ act = self.outputs_menu.addAction(output.name)
+ act.setCheckable(True)
+ act.setChecked(output.state)
+ act.toggled.connect(output.set_state)
+ output.state_changed.connect(act.setChecked)
+
def onStateChange(self, new_state):
status = self.p.mpclient.status()
@@ -137,8 +152,8 @@ class wgPlayControl(QtGui.QToolBar):
def on_next_click(self):
self.logger.info('Playing next')
self.p.mpclient.next()
- def onVolumeSliderChange(self):
- self.p.mpclient.set_volume(self.vol_slider.value())
+ def onVolumeSliderChange(self, val):
+ self.p.mpclient.set_volume(val)
class PlayControl(Plugin):
# public, const