diff --git a/MPD-0.1.1.alfredworkflow b/MPD-0.1.2.alfredworkflow
similarity index 95%
rename from MPD-0.1.1.alfredworkflow
rename to MPD-0.1.2.alfredworkflow
index 0083ff0..67e6e8e 100644
Binary files a/MPD-0.1.1.alfredworkflow and b/MPD-0.1.2.alfredworkflow differ
diff --git a/src/ampd b/src/ampd
index dfbe28a..7a0b3b7 100755
--- a/src/ampd
+++ b/src/ampd
@@ -240,34 +240,35 @@ def search_actions(query):
None)
]
- if st.volume > 0:
- actions.extend([
- Action(
- 'Mute Volume',
- 'Set volume to zero',
- 'volume mute',
- 'mute',
- ICON_MUTE,
- None),
- Action(
- 'Volume Down',
- 'Decrease volume to {}%'.format(st.volume - 10),
- 'volume down quiet decrease',
- 'turn-down',
- ICON_VOLUME_DOWN,
- None),
- ])
-
- if st.volume < 100:
- actions.append(
- Action(
- 'Volume Up',
- 'Increase volume to {}%'.format(st.volume + 10),
- 'volume up loud increase',
- 'turn-up',
- ICON_VOLUME_UP,
- None)
- )
+ if st.volume != 'n/a': # volume not available for Digital Out
+ if st.volume > 0:
+ actions.extend([
+ Action(
+ 'Mute Volume',
+ 'Set volume to zero',
+ 'volume mute',
+ 'mute',
+ ICON_MUTE,
+ None),
+ Action(
+ 'Volume Down',
+ 'Decrease volume to {}%'.format(st.volume - 10),
+ 'volume down quiet decrease',
+ 'turn-down',
+ ICON_VOLUME_DOWN,
+ None),
+ ])
+
+ if st.volume < 100:
+ actions.append(
+ Action(
+ 'Volume Up',
+ 'Increase volume to {}%'.format(st.volume + 10),
+ 'volume up loud increase',
+ 'turn-up',
+ ICON_VOLUME_UP,
+ None)
+ )
canprev = cannext = False
if len(queue):
@@ -603,6 +604,13 @@ def _plural(s, n, plural=None):
def do_stats(opts):
"""Fetch MPD stats and show in Alfred."""
+ if wf.update_available:
+ wf.add_item('A workflow update is available',
+ u'↩ or ⇥ to install',
+ valid=False,
+ autocomplete='workflow:update',
+ icon=ICON_UPDATE_AVAILABLE)
+
st = mpd.stats()
if not st.songs: # empty library
diff --git a/src/info.plist b/src/info.plist
index 5e7c0bf..bd9d341 100644
--- a/src/info.plist
+++ b/src/info.plist
@@ -920,7 +920,7 @@ Search & control an mpd server from Alfred.
6600
version
- 0.1.1
+ 0.1.2
webaddress
https://github.com/deanishe/alfred-mpd
diff --git a/src/lib/mpd.py b/src/lib/mpd.py
index 8a8386d..b2ccdbe 100644
--- a/src/lib/mpd.py
+++ b/src/lib/mpd.py
@@ -280,7 +280,7 @@ def stats():
.* # anything else
""", re.VERBOSE).match
-_find_playback_settings = re.compile(r'(\w+): ([0-9%ofn]+)').findall
+_find_playback_settings = re.compile(r'(\w+): ?([0-9%ofn/a]+)').findall
def _parse_status(out):
@@ -301,7 +301,10 @@ def _parse_status(out):
elif line.startswith('volume'): # playback settings
for k, v in _find_playback_settings(line):
if k == 'volume':
- volume = int(v.rstrip('%'))
+ if v.strip() == 'n/a': # digital output
+ volume = 'n/a'
+ else:
+ volume = int(v.rstrip('%'))
log.debug('volume=%r', volume)
elif DELIMITER in line: # current track