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