TIndexFile::TIndexFile(TConfiguration *config, QObject *parent) { Q_UNUSED(parent); MyConfiguration = config; MyDownloader = new TDownloader(MyConfiguration->getUserAgent()); loaded = false; connect(MyDownloader, SIGNAL(downloadSucceed(QString)), SLOT(loadAfterDownload(QString))); connect(MyDownloader, SIGNAL(noModified(QString)), SLOT(checkForLoaded(QString))); }
void AudioHTTPServer::checkForLoaded() { qDebug() << "Checking..."; if( !sp_track_is_loaded( m_savedTrack ) ) { qWarning() << QThread::currentThreadId() << "uh oh... track not loaded yet! Asked for:" << sp_track_name( m_savedTrack ); QTimer::singleShot( 250, this, SLOT( checkForLoaded() ) ); } else { startStreamingResponse( m_savedEvent, m_savedTrack ); } }
void AudioHTTPServer::sid( QxtWebRequestEvent* event, QString a ) { qDebug() << QThread::currentThreadId() << "HTTP" << event->url.toString() << a; if( !SpotifySession::getInstance()->Playback()->trackIsOver() ) { SpotifySession::getInstance()->Playback()->endTrack(); } // the requested track QString uid = a.replace( ".wav", ""); // qDebug() << QThread::currentThreadId() << "Beginning to stream requested track:" << uid; if( uid.isEmpty() || !sApp->hasLinkFromTrack( uid ) ) { qWarning() << "Did not find spotify track UID in our list!" << uid; sendErrorResponse( event ); return; } // get the sp_track sp_link* link = sApp->linkFromTrack( uid ); sp_track* track = sp_link_as_track( link ); if( !track ) { qWarning() << QThread::currentThreadId() << "Uh oh... got null track from link :(" << sp_link_type( link ); sendErrorResponse( event ); return; } if( !sp_track_is_loaded( track ) ) { qWarning() << QThread::currentThreadId() << "uh oh... track not loaded yet! Asked for:" << sp_track_name( track ); m_savedEvent = event; m_savedTrack = track; QTimer::singleShot( 250, this, SLOT( checkForLoaded() ) ); return; } else { startStreamingResponse( event, track ); } }