Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-06-13 14:32:26 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-06-13 14:32:26 (GMT)
commitd3e8ddb2780ecd0fc3535f8a1464d8ab9e9217e9 (patch)
tree5621d034ef2478424486e5a2ded86c3e1377cfc9
parent42385b069f4251662f86ad4b305da49b74166654 (diff)
Mute the channel when setting the volume to minimum.
-rw-r--r--shell/hardware/hardwaremanager.py18
-rw-r--r--shell/view/keyhandler.py5
2 files changed, 17 insertions, 6 deletions
diff --git a/shell/hardware/hardwaremanager.py b/shell/hardware/hardwaremanager.py
index 3e7066e..f23af25 100644
--- a/shell/hardware/hardwaremanager.py
+++ b/shell/hardware/hardwaremanager.py
@@ -46,20 +46,28 @@ class HardwareManager(object):
for track in self._mixer.list_tracks():
if track.flags & gst.interfaces.MIXER_TRACK_MASTER:
- self._mixer_master = track
+ self._master = track
def set_volume(self, volume):
+ if not self._mixer or not self._master:
+ logging.error('Cannot set the volume')
+
if volume < 0 or volume > 100:
logging.error('Trying to set an invalid volume value.')
return
- max_volume = self._mixer_master.max_volume
- min_volume = self._mixer_master.min_volume
+ max_volume = self._master.max_volume
+ min_volume = self._master.min_volume
volume = (volume / 100.0) * (max_volume - min_volume) + min_volume
- volume_list = [ volume ] * self._mixer_master.num_channels
+ volume_list = [ volume ] * self._master.num_channels
+
+ self._mixer.set_volume(self._master, tuple(volume_list))
- self._mixer.set_volume(self._mixer_master, tuple(volume_list))
+ def set_mute(self, mute):
+ if not self._mixer or not self._master:
+ logging.error('Cannot mute the audio channel')
+ self._mixer.set_mute(self._master, mute)
def set_display_mode(self, mode):
if not self._service:
diff --git a/shell/view/keyhandler.py b/shell/view/keyhandler.py
index 1e87794..6945ca5 100644
--- a/shell/view/keyhandler.py
+++ b/shell/view/keyhandler.py
@@ -99,18 +99,21 @@ class KeyHandler(object):
def handle_volume_1(self):
hw_manager = hardwaremanager.get_hardware_manager()
- hw_manager.set_volume(0)
+ hw_manager.set_mute(True)
def handle_volume_2(self):
hw_manager = hardwaremanager.get_hardware_manager()
+ hw_manager.set_mute(False)
hw_manager.set_volume(50)
def handle_volume_3(self):
hw_manager = hardwaremanager.get_hardware_manager()
+ hw_manager.set_mute(False)
hw_manager.set_volume(80)
def handle_volume_4(self):
hw_manager = hardwaremanager.get_hardware_manager()
+ hw_manager.set_mute(False)
hw_manager.set_volume(100)
def handle_color_mode(self):