public function notifyScrobble(SSLTrack $track)
{
$length = $track->getLengthInSeconds(SSLTrack::TRY_HARD);
if ($length == 0) {
// Perhaps this entry was added manually.
L::level(L::WARNING) && L::log(L::WARNING, __CLASS__, 'Could not guess length. Last.fm will silently ignore the scrobble.', array());
}
try {
$this->scrobbler->add($track->getArtist(), $track->getTitle(), $track->getAlbum(), $length, $track->getStartTime());
L::level(L::DEBUG) && L::log(L::DEBUG, __CLASS__, 'Sending %d scrobble(s) to Last.fm', array($this->scrobbler->getQueueSize()));
$this->scrobbler->submit();
// TODO: caching if scrobbling's down whilst playing.
} catch (Exception $e) {
L::level(L::WARNING) && L::log(L::WARNING, __CLASS__, 'Could not send %d scrobble(s) to Last.fm: %s', array($this->scrobbler->getQueueSize(), $e->getMessage()));
}
}