code: def _get_text(self):
          
          if self._data.get("state") == PLAYING:
              color = self.py3.COLOR_PLAYING or self.py3.COLOR_GOOD
              state_symbol = self.state_play
          elif self._data.get("state") == PAUSED:
              color = self.py3.COLOR_PAUSED or self.py3.COLOR_DEGRADED
              state_symbol = self.state_pause
          else:
              color = self.py3.COLOR_STOPPED or self.py3.COLOR_BAD
              state_symbol = self.state_stop
  
          if self._data.get("error_occurred"):
              color = self.py3.COLOR_BAD
  
          try:
              ptime_ms = self._player.Position
              ptime = _get_time_str(ptime_ms)
          except Exception:
              ptime = None
  
          if (
              self.py3.format_contains(self.format, "time")
              and self._data.get("state") == PLAYING
          ):
              # Don't get trapped in aliasing errors!
              update = time() + 0.5
          else:
              update = self.py3.CACHE_FOREVER
  
          placeholders = {
              "player": self._data.get("player"),
              "state": state_symbol,
              "album": self._data.get("album"),
              "artist": self._data.get("artist"),
              "length": self._data.get("length"),
              "time": ptime,
              "title": self._data.get("title") or "No Track",
              "full_name": self._player_details.get("full_name"),  # for debugging ;p
          }
  
          return (placeholders, color, update)
docs: Get the current metadata