docs: def get_info_mpris2(name):
      """
      Get the current playing song from an mpris2 compliant player.
      """
      # qdbus org.mpris.MediaPlayer2.<name> /org/mpris/MediaPlayer2\
      # org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player Metadat
      bus_name = 'org.mpris.MediaPlayer2.' + name
      path = '/org/mpris/MediaPlayer2'
      interface = 'org.mpris.MediaPlayer2.Player'
      address = DBusAddress(path, bus_name=bus_name, interface=interface)
      msg = Properties(address).get('Metadata')
      connection = connect_and_authenticate()
      response = connection.send_and_get_reply(msg)
      metadata = dict(response[0][1])
      keys = ['album', 'title', 'artist', 'albumartist']
  
      info = {}
      metadata = {k: v for k, v in metadata.items() if 'xesam:' in k}
      for key, value in metadata.items():
          name = key.split(':')[1].lower()
          value = value[1]
          if name not in keys or name in info:
              continue
          if isinstance(value, list):
              value = value[0]
          info[name] = value
  
      if 'albumartist' in info:
          info['artist'] = info['albumartist']
          del info['albumartist']
  
      return Song(**info)