Add mixer for OS X which uses osascript

This commit is contained in:
Stein Magnus Jodal 2010-03-08 20:22:17 +01:00
parent 9c09c9b1df
commit 1619ecbd56
2 changed files with 21 additions and 0 deletions

15
mopidy/mixers/osa.py Normal file
View File

@ -0,0 +1,15 @@
from subprocess import Popen, PIPE
from mopidy.mixers import BaseMixer
class OsaMixer(BaseMixer):
def _get_volume(self):
try:
return int(Popen(
['osascript', '-e', 'output volume of (get volume settings)'],
stdout=PIPE).communicate()[0])
except ValueError:
return None
def _set_volume(self, volume):
Popen(['osascript', '-e', 'set volume output volume %d' % volume])

View File

@ -31,12 +31,18 @@ CONSOLE_LOG_FORMAT = u'%(levelname)-8s %(asctime)s [%(threadName)s] %(name)s\n
#:
#: MIXER = u'mopidy.mixers.alsa.AlsaMixer'
#:
#: Default on OS X::
#:
#: MIXER = u'mopidy.mixers.osa.OsaMixer'
#:
#: Default on other operating systems::
#:
#: MIXER = u'mopidy.mixers.dummy.DummyMixer'
MIXER = u'mopidy.mixers.dummy.DummyMixer'
if sys.platform == 'linux2':
MIXER = u'mopidy.mixers.alsa.AlsaMixer'
elif sys.platform == 'darwin':
MIXER = u'mopidy.mixers.osa.OsaMixer'
#: Which address Mopidy should bind to. Examples:
#: