getInfo method

Future<Track> getInfo({
  1. String? track,
  2. String? artist,
  3. String? mbid,
  4. String? username,
  5. bool autoCorrect = false,
})

Get the metadata for a track on Last.fm using the artist/track name or a musicbrainz id.

https://www.last.fm/api/show/track.getInfo

Implementation

Future<Track> getInfo({
  String? track,
  String? artist,
  String? mbid,
  String? username,
  bool autoCorrect = false,
}) async {
  if ((track == null || artist == null) && mbid == null) {
    return Future.error(
      ScrobblenautException(
        description:
            'At least mbid is required. '
            'Can be used also track and artist.',
      ),
    );
  }

  final parameters = {
    'track': track,
    'artist': artist,
    'mbid': mbid,
    'username': username,
    'autocorrect': (autoCorrect ? 1 : 0),
  };

  final request = Request(
    api: _api,
    method: 'track.getInfo',
    parameters: parameters,
  );

  return Track.fromJson((await request.send(mode: RequestMode.GET))['track']);
}