@asyncio.coroutine
def async_update(self):
    'Retrieve latest state.'
    self._players = (yield from self._get_players())
    if ((self._players is not None) and (len(self._players) > 0)):
        player_id = self._players[0]['playerid']
        assert isinstance(player_id, int)
        self._properties = (yield from self._server.Player.GetProperties(player_id, ['time', 'totaltime', 'speed', 'live']))
        self._item = (yield from self._server.Player.GetItem(player_id, ['title', 'file', 'uniqueid', 'thumbnail', 'artist']))['item']
        self._app_properties = (yield from self._server.Application.GetProperties(['volume', 'muted']))
    else:
        self._properties = None
        self._item = None
        self._app_properties = None
Retrieve latest state.
@asyncio.coroutine
def async_update(self):
    
    self._players = (yield from self._get_players())
    if ((self._players is not None) and (len(self._players) > 0)):
        player_id = self._players[0]['playerid']
        assert isinstance(player_id, int)
        self._properties = (yield from self._server.Player.GetProperties(player_id, ['time', 'totaltime', 'speed', 'live']))
        self._item = (yield from self._server.Player.GetItem(player_id, ['title', 'file', 'uniqueid', 'thumbnail', 'artist']))['item']
        self._app_properties = (yield from self._server.Application.GetProperties(['volume', 'muted']))
    else:
        self._properties = None
        self._item = None
        self._app_properties = None