Remove _-prefix from BaseMixer.{get_volume,set_volume} as they are public members of the API, intended to be overridden

This commit is contained in:
Stein Magnus Jodal 2011-06-04 19:25:38 +02:00
parent c52d5c9388
commit 528f599660
7 changed files with 18 additions and 17 deletions

View File

@ -51,9 +51,9 @@ class AlsaMixer(ThreadingActor, BaseMixer):
return [settings.MIXER_ALSA_CONTROL]
return [u'Master', u'PCM']
def _get_volume(self):
def get_volume(self):
# FIXME does not seem to see external volume changes.
return self._mixer.getvolume()[0]
def _set_volume(self, volume):
def set_volume(self, volume):
self._mixer.setvolume(volume)

View File

@ -17,9 +17,10 @@ class BaseMixer(object):
Integer in range [0, 100]. :class:`None` if unknown. Values below 0 is
equal to 0. Values above 100 is equal to 100.
"""
if self._get_volume() is None:
volume = self.get_volume()
if volume is None:
return None
return int(self._get_volume() / self.amplification_factor)
return int(volume / self.amplification_factor)
@volume.setter
def volume(self, volume):
@ -28,9 +29,9 @@ class BaseMixer(object):
volume = 0
elif volume > 100:
volume = 100
self._set_volume(volume)
self.set_volume(volume)
def _get_volume(self):
def get_volume(self):
"""
Return volume as integer in range [0, 100]. :class:`None` if unknown.
@ -38,7 +39,7 @@ class BaseMixer(object):
"""
raise NotImplementedError
def _set_volume(self, volume):
def set_volume(self, volume):
"""
Set volume as integer in range [0, 100].

View File

@ -35,14 +35,14 @@ class DenonMixer(ThreadingActor, BaseMixer):
from serial import Serial
self._device = Serial(port=settings.MIXER_EXT_PORT, timeout=0.2)
def _get_volume(self):
def get_volume(self):
self._ensure_open_device()
self._device.write('MV?\r')
vol = str(self._device.readline()[2:4])
logger.debug(u'_get_volume() = %s' % vol)
return self._levels.index(vol)
def _set_volume(self, volume):
def set_volume(self, volume):
# Clamp according to Denon-spec
if volume > 99:
volume = 99

View File

@ -8,8 +8,8 @@ class DummyMixer(ThreadingActor, BaseMixer):
def __init__(self):
self._volume = None
def _get_volume(self):
def get_volume(self):
return self._volume
def _set_volume(self, volume):
def set_volume(self, volume):
self._volume = volume

View File

@ -15,8 +15,8 @@ class GStreamerSoftwareMixer(ThreadingActor, BaseMixer):
assert len(output_refs) == 1, 'Expected exactly one running output.'
self.output = output_refs[0].proxy()
def _get_volume(self):
def get_volume(self):
return self.output.get_volume().get()
def _set_volume(self, volume):
def set_volume(self, volume):
self.output.set_volume(volume).get()

View File

@ -40,10 +40,10 @@ class NadMixer(ThreadingActor, BaseMixer):
self._volume_cache = None
self._nad_talker = NadTalker.start().proxy()
def _get_volume(self):
def get_volume(self):
return self._volume_cache
def _set_volume(self, volume):
def set_volume(self, volume):
self._volume_cache = volume
self._nad_talker.set_volume(volume)

View File

@ -28,7 +28,7 @@ class OsaMixer(ThreadingActor, BaseMixer):
and self._last_update is not None
and (int(time.time() - self._last_update) < self.CACHE_TTL))
def _get_volume(self):
def get_volume(self):
if not self._valid_cache():
try:
self._cache = int(Popen(
@ -40,7 +40,7 @@ class OsaMixer(ThreadingActor, BaseMixer):
self._last_update = int(time.time())
return self._cache
def _set_volume(self, volume):
def set_volume(self, volume):
Popen(['osascript', '-e', 'set volume output volume %d' % volume])
self._cache = volume
self._last_update = int(time.time())