Example #1
0
void
MythPandora::RecvMessage(const char* message) {
  if (!strcmp(message, "New Song")) {
    MythPianoService* service = GetMythPianoService();
    if (service->GetCurrentSong()) {
      m_songText->SetText(QString(service->GetCurrentSong()->title));
      m_artistText->SetText(QString(service->GetCurrentSong()->artist));
      m_albumText->SetText(QString(service->GetCurrentSong()->album));
      m_playTimeText->SetText(QString("0:00"));

      // kick off cover art load
      if (m_coverArtFetcher)
	delete m_coverArtFetcher;

      if (m_coverArtTempFile)
	delete m_coverArtTempFile;

      m_coverArtFetcher = new QHttp();
      connect(m_coverArtFetcher, SIGNAL(done(bool)), this, SLOT(coverArtFetched()));  
      QUrl u(service->GetCurrentSong()->coverArt);
      QHttp::ConnectionMode conn_mode = QHttp::ConnectionModeHttp;
      m_coverArtFetcher->setHost(u.host(), conn_mode, 80);
      QByteArray path = QUrl::toPercentEncoding(u.path(), "!$&'()*+,;=:@/");
      m_coverArtFetcher->get(path);

    }
Example #2
0
void MythPianod::Refresh() {
	MythPianoService* service = GetMythPianoService();

	if (service->GetCurrentSong().size()) {

		if(service->SongChanged()) {
			m_songText->SetText(QString(service->GetCurrentSong()["Title"].c_str()));
			m_artistText->SetText(QString(service->GetCurrentSong()["Artist"].c_str()));
			m_albumText->SetText(QString(service->GetCurrentSong()["Album"].c_str()));
			m_stationText->SetText(QString(service->GetCurrentStation().c_str()));

			// kick off cover art load
			if (m_coverArtFetcher)
				delete m_coverArtFetcher;

			if (m_coverArtTempFile)
				delete m_coverArtTempFile;

			m_coverArtFetcher = new QHttp();
			connect(m_coverArtFetcher, SIGNAL(done(bool)), this, SLOT(coverArtFetched()));  
			QUrl u(service->GetCurrentSong()["CoverArt"].c_str());
			QHttp::ConnectionMode conn_mode = QHttp::ConnectionModeHttp;
			m_coverArtFetcher->setHost(u.host(), conn_mode, 80);
			QByteArray path = QUrl::toPercentEncoding(u.path(), "!$&'()*+,;=:@/");
			m_coverArtFetcher->get(path);
		}

		string played, duration;
		service->GetTimes(&played, &duration);
		string rating = service->GetCurrentSong()["Rating"];

		if(rating == "good" || rating == "good artistseed") {
			m_ratingText->SetText(QString("This song makes me warm and fuzzy inside!"));
		}
		else if(rating == "bad") {
			m_ratingText->SetText(QString("Terrible song! Make it stop! Ahhh..."));
		}
		else if(rating == "neutral" || rating == "neutral artistseed") {
			m_ratingText->SetText(QString("Can't put my finger on this song yet..."));
		}
		else {
			cout<<"unknown rating: " << rating << endl;
		}

		if(played == "Intertrack") {
			QString time_string("00:00 / 00:00 Loading next track...");
			m_playTimeText->SetText(time_string);
		}
		else {
			QString time_string((played + " / " + duration).c_str());
			m_playTimeText->SetText(time_string);
		}
	}
Example #3
0
MythPandora::~MythPandora()
{
  MythPianoService* service = GetMythPianoService();
  service->RemoveMessageListener(this);
  service->StopPlayback();

  if (m_coverArtTempFile)
    delete m_coverArtTempFile;

  if (m_coverArtFetcher)
    delete m_coverArtFetcher;
}
Example #4
0
MythPianod::~MythPianod() {

	MythPianoService* service = GetMythPianoService();
	service->RemoveMessageListener(this);
	service->StopPlayerThread();

	if (m_coverArtTempFile)
		delete m_coverArtTempFile;

	if (m_coverArtFetcher)
		delete m_coverArtFetcher;
}