The Linux client does not do fingerprinting, so don't build it. This reduces the client's package dependencies. --- a/LastFM.pro +++ b/LastFM.pro @@ -39,6 +39,8 @@ linux* { SUBDIRS -= src/Twiddly \ + src/libFingerprint/fplib/pro_qmake/fplib.pro \ + src/libFingerprint/ \ src/Bootstrapper/ITunesDevice SUBDIRS += src/output/alsa-playback --- a/src/DiagnosticsDialog.cpp +++ b/src/DiagnosticsDialog.cpp @@ -27,7 +27,10 @@ #include "container.h" #include "lastfmapplication.h" #include "libMoose/LastFmSettings.h" + +#ifndef LINUX #include "libFingerprint/FingerprintCollector.h" +#endif #include #include @@ -106,6 +109,7 @@ connect( ui.scrobbleIpodButton, SIGNAL( clicked() ), SLOT( onScrobbleIpodClicked() ) ); // Fingerprint collector +#ifndef LINUX ui.fpQueueSizeLabel->setText( "0" ); connect( The::app().m_fpCollector, SIGNAL( trackFingerprintingStarted( TrackInfo ) ), this, SLOT( onTrackFingerprintingStarted( TrackInfo ) ), @@ -116,6 +120,9 @@ connect( The::app().m_fpCollector, SIGNAL( cantFingerprintTrack( TrackInfo, QString ) ), this, SLOT( onCantFingerprintTrack( TrackInfo, QString ) ), Qt::QueuedConnection ); +#else + ui.tabWidget->removeTab( 2 ); +#endif m_logTimer = new QTimer( this ); connect( m_logTimer, SIGNAL( timeout() ), @@ -343,6 +350,7 @@ } +#ifndef LINUX void DiagnosticsDialog::onTrackFingerprintingStarted( TrackInfo track ) { @@ -367,7 +375,7 @@ ui.fpCurrentTrackLabel->setText( "" ); ui.fpQueueSizeLabel->setText( QString::number( The::app().m_fpCollector->queueSize() ) ); } - +#endif void DiagnosticsDialog::onLogPoll() --- a/src/DiagnosticsDialog.h +++ b/src/DiagnosticsDialog.h @@ -66,9 +66,11 @@ void onRefresh(); void onCopyToClipboard(); + #ifndef LINUX void onTrackFingerprintingStarted( TrackInfo ); void onTrackFingerprinted( TrackInfo ); void onCantFingerprintTrack( TrackInfo track, QString reason ); + #endif void onScrobbleIpodClicked(); void onLogPoll(); --- a/src/lastfmapplication.cpp +++ b/src/lastfmapplication.cpp @@ -25,8 +25,10 @@ #include "configwizard.h" #include "container.h" #include "LastMessageBox.h" +#ifndef LINUX #include "libFingerprint/FingerprintCollector.h" #include "libFingerprint/FingerprintQueryer.h" +#endif #include "logger.h" #include "loginwidget.h" #include "MediaDeviceScrobbler.h" @@ -167,10 +169,12 @@ new ITunesScript( this, m_listener ); #endif + #ifndef LINUX m_fpCollector = new FingerprintCollector( 1 /*number of threads*/, this ); m_fpQueryer = new FingerprintQueryer( this ); connect( m_fpQueryer, SIGNAL( trackFingerprinted( TrackInfo, bool ) ), SLOT( onFingerprintQueryDone( TrackInfo, bool ) ) ); + #endif m_radio = new Radio( this ); connect( m_radio, SIGNAL( stateChanged( RadioState ) ), SLOT( onRadioStateChanged( RadioState ) ) ); @@ -343,8 +347,10 @@ sendPostedEvents( m_scrobbler, 0 /*all event types*/ ); //TODO send events to individual scrobblers in the manager too? + #ifndef LINUX delete m_fpQueryer; delete m_fpCollector; + #endif #ifdef Q_WS_MAC if ( !m_pidFile.remove() ) @@ -498,6 +504,7 @@ QString password = m_user->settings().password(); QString version = The::settings().version(); + #ifndef LINUX // as you can see we are initialising the fingerprinter, I like this comment m_fpCollector->setUsername( username ); m_fpCollector->setPasswordMd5( password ); @@ -506,6 +513,7 @@ m_fpQueryer->setPasswordMd5( password ); m_fpQueryer->setPasswordMd5Lower( password ); // FIXME: surely they can't be the same! m_fpQueryer->setVersion( The::settings().version() ); + #endif // init radio YTIO m_radio->init( username, password, version ); @@ -813,12 +821,14 @@ if ( m_container->isVisible() ) fetchMetaData(); + #ifndef LINUX if ( QFile::exists( m_currentTrack.path() ) && The::settings().currentUser().fingerprintingEnabled() ) { m_activeNorman = 0; m_fpQueryer->fingerprint( m_currentTrack ); } + #endif } } break; @@ -1131,6 +1141,7 @@ } +#ifndef LINUX void LastFmApplication::onFingerprintQueryDone( TrackInfo track, bool fullFpRequested ) { @@ -1163,6 +1174,7 @@ } } } +#endif void --- a/src/lastfmapplication.h +++ b/src/lastfmapplication.h @@ -181,7 +181,9 @@ void onAppEvent( int event, const QVariant& ); void onRequestReturned( class Request* request ); void onScrobblerStatusUpdate( int, const QVariant& ); +#ifndef LINUX void onFingerprintQueryDone( TrackInfo, bool fullFpRequested ); +#endif void onNormanRequestDone( Request* r ); void onPlaybackEndedTimerTimeout(); @@ -207,8 +209,10 @@ class QTcpServer* m_control; class ScrobblerManager* m_scrobbler; class Radio* m_radio; +#ifndef LINUX class FingerprintCollector* m_fpCollector; class FingerprintQueryer* m_fpQueryer; +#endif class FrikkinNormanRequest* m_activeNorman; QPointer m_activeArtistReq; --- a/src/Radio.cpp +++ b/src/Radio.cpp @@ -129,7 +129,9 @@ m_session = handshake->session(); m_basePath = handshake->basePath(); + #ifndef LINUX The::settings().setFingerprintUploadUrl( handshake->fingerprintUploadUrl() ); + #endif setState( State_Handshaken ); --- a/src/settingsdialog.cpp +++ b/src/settingsdialog.cpp @@ -216,7 +216,11 @@ connect( ui_scrobbling.dirTree, SIGNAL( dataChanged() ), this, SLOT( configChanged() ) ); connect( ui_scrobbling.scrobblePointSlider, SIGNAL( valueChanged( int ) ), this, SLOT( configChanged() ) ); connect( ui_scrobbling.launchWithMediaPlayerCheck, SIGNAL( toggled( bool ) ), this, SLOT( configChanged() ) ); +#ifndef LINUX connect( ui_scrobbling.fingerprintCheckBox, SIGNAL( stateChanged( int ) ), this, SLOT( configChanged() ) ); +#else + ui_scrobbling.fingerprintCheckBox->hide(); +#endif connect( ui_connection.proxyBox, SIGNAL( toggled( bool ) ), this, SLOT( configChanged() ) ); connect( ui_connection.proxyHostEdit, SIGNAL( textChanged( QString ) ), this, SLOT( configChanged() ) ); connect( ui_connection.proxyPortEdit, SIGNAL( textChanged( QString ) ), this, SLOT( configChanged() ) ); @@ -387,7 +391,9 @@ ui_scrobbling.scrobblePointSlider->setValue( user.scrobblePoint() ); ui_scrobbling.scrobblePointLabel->setText( QString::number( user.scrobblePoint() ) ); ui_scrobbling.launchWithMediaPlayerCheck->setChecked( The::settings().launchWithMediaPlayer() ); +#ifndef LINUX ui_scrobbling.fingerprintCheckBox->setChecked( user.fingerprintingEnabled() ); +#endif ui_scrobbling.dirTree->setExclusions( user.excludedDirs() ); } @@ -577,7 +583,9 @@ user.setScrobblePoint( ui_scrobbling.scrobblePointSlider->value() ); user.setExcludedDirs( ui_scrobbling.dirTree->getExclusions() ); The::settings().setLaunchWithMediaPlayer( ui_scrobbling.launchWithMediaPlayerCheck->isChecked() ); +#ifndef LINUX user.setFingerprintingEnabled( ui_scrobbling.fingerprintCheckBox->checkState() == Qt::Checked ? true : false ); +#endif pageSaved( 2 ); } --- a/src/src.pro +++ b/src/src.pro @@ -217,6 +217,8 @@ SOURCES -= Bootstrapper/iTunesBootstrapper.cpp \ Bootstrapper/PluginBootstrapper.cpp + + LIBS -= -lLastFmFingerprint$$EXT }