scrobbleFromObject method
Implementation
Future<ScrobbleResponse> scrobbleFromObject({
required Scrobble scrobble,
}) async {
if (!_api.isAuth) {
return Future.error(
ScrobblenautException(
description: "You can't use this method unless you Authenticate.",
),
);
}
final parameters = {
'track': scrobble.track,
'album': scrobble.album,
'artist': scrobble.artist,
'albumArtist': scrobble.albumArtist,
'trackNumber': scrobble.trackNumber,
'duration': scrobble.duration?.inSeconds,
'timestamp': LastFMValueNormalizer.timestampToSecondsSinceEpoch(
scrobble.timestamp,
),
'context': scrobble.context,
'streamId': scrobble.streamId,
'chosenByUser': (scrobble.chosenByUser == null
? null
: scrobble.chosenByUser!
? 1
: 0),
'mbid': scrobble.mbid,
};
final request = Request(
api: _api,
method: 'track.scrobble',
parameters: parameters,
)..signRequest();
final response = (await request.send(mode: RequestMode.POST));
return ScrobbleResponse.parse(response);
}