diff options
Diffstat (limited to 'libre/clementine')
-rw-r--r-- | libre/clementine/PKGBUILD | 63 | ||||
-rw-r--r-- | libre/clementine/remove-nonfree-artwork-and-spotify.patch | 571 |
2 files changed, 270 insertions, 364 deletions
diff --git a/libre/clementine/PKGBUILD b/libre/clementine/PKGBUILD index 2ac877721..fb7a7f804 100644 --- a/libre/clementine/PKGBUILD +++ b/libre/clementine/PKGBUILD @@ -16,9 +16,9 @@ pkgname=clementine _pkgname=$pkgname-libre -pkgver=1.3.1 -pkgrel=21 -pkgrel+=.parabola2 +pkgver=1.3.1.r702.3b76fa627 +pkgrel=2 +pkgrel+=.par1 pkgdesc='A modern music player and library organizer' pkgdesc+=', without nonfree artwork and Spotify support' url=https://www.clementine-player.org/ @@ -34,24 +34,25 @@ depends=( gst-plugins-base-libs gstreamer libcdio - libechonest libgl libgpod - liblastfm + liblastfm-qt5 libmtp + libmygpo-qt5 libpulse libx11 protobuf - qjson - qt4 + qt5-base + qt5-x11extras sqlite - taglib zlib ) makedepends=( boost cmake + git mesa + qt5-tools sparsehash ) optdepends=( @@ -63,33 +64,32 @@ optdepends=( 'gvfs: Various devices support' ) source=( - clementine-${pkgver}.tar.gz::https://github.com/clementine-player/Clementine/archive/${pkgver}.tar.gz + git+https://github.com/clementine-player/Clementine.git#commit=3b76fa62752f25b445ee2a71f02c0c9d7581735a clementine-gcc6.patch - clementine-chromaprint1.4.0.patch - clementine-cryptopp6.patch - https://github.com/clementine-player/Clementine/commit/8a6cc8b5069265e1e92e22def985e22c5955e503.patch - https://github.com/clementine-player/Clementine/commit/75f9439843a0e9cdc26cd739d5e1dbd93bd974bc.patch - https://github.com/clementine-player/Clementine/commit/ddfa5e63f1ef0e243a007efbe576fceb9b2442e8.patch remove-nonfree-artwork-and-spotify.patch moognu.png ) -sha256sums=('f885931a9ab7c88607d07b50c64fcce46fc05f13dd2c0a04188c94eff938f37c' +sha256sums=('SKIP' '05bd4dc0138eed084332fa1a688a96858418731f337f54e0d8ab0853123f40ee' - '4cc9c9df599df4a595c6acf4e129a54296c0a8e537627435e3df14e1e95447b0' - 'e9c09dca76ed8fae2ecb089571396c9293f546871fb2f27cc37010dd5cba9e46' - '77e32aae6f035523d5cfb8adb45cb0857ebed751b7fcd1f250a2972c79f6282e' - 'd4dbd7f09da7a554f86237476b96e3ca097117b7ab2acd706088c72203d8b64f' - '9c02acd0a2b70ce8d0b6574161df692fc08c9e9c3061a4a7b78be7805b279dc7' - '8978c44d38e95edd8d7fec00d64debfa78e9906653cfd47caa2b2fb5aaf45d9d' + '0680a1efc5f24a2662be42ba5a23d2278ce707c76104c03a3d693f7a890358b8' 'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4') +pkgver() { + cd Clementine + + git describe --tags | sed 's/-/.r/; s/-g/./' +} + prepare() { if [[ -d build ]]; then rm -rf build fi mkdir build - cd Clementine-${pkgver} + cd Clementine + + # Fix build with GCC 6 + patch -p1 -i ../clementine-gcc6.patch # remove nonfree artwork for the Nyan Cat plugin # https://labs.parabola.nu/issues/329 @@ -117,29 +117,14 @@ prepare() { # create a blank file because it's a dependency for Clementine touch data/schema/schema-30.sql - - # Fix build with GCC 6 - patch -p1 -i ../clementine-gcc6.patch - # https://github.com/clementine-player/Clementine/pull/5630 - patch -Np1 -i ../8a6cc8b5069265e1e92e22def985e22c5955e503.patch - # Fix build with chromaprint 1.4.0 - patch -p1 -i ../clementine-chromaprint1.4.0.patch - # Fix build with crypto++ 6.0.0 due to https://github.com/weidai11/cryptopp/issues/442 - # (this is not necessary on parabola, since we remove the patched files) - # patch -p1 -i ../clementine-cryptopp6.patch - # FS#58413 - patch -Np1 -i ../75f9439843a0e9cdc26cd739d5e1dbd93bd974bc.patch - # Fix DI.FM - patch -Np1 -i ../ddfa5e63f1ef0e243a007efbe576fceb9b2442e8.patch } build() { cd build - cmake ../Clementine-${pkgver} \ + cmake ../Clementine \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr\ - -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-catch-value" + -DCMAKE_INSTALL_PREFIX=/usr make } diff --git a/libre/clementine/remove-nonfree-artwork-and-spotify.patch b/libre/clementine/remove-nonfree-artwork-and-spotify.patch index 9dc0fdbf6..d2810a93b 100644 --- a/libre/clementine/remove-nonfree-artwork-and-spotify.patch +++ b/libre/clementine/remove-nonfree-artwork-and-spotify.patch @@ -1,5 +1,5 @@ diff --git a/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m b/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m -index a349f59..c418e0b 100644 +index a349f5922..c418e0bca 100644 --- a/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m +++ b/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m @@ -98,7 +98,6 @@ static CGEventRef tapEventCallback(CGEventTapProxy proxy, CGEventType type, CGEv @@ -11,7 +11,7 @@ index a349f59..c418e0b 100644 @"com.apple.QuickTimePlayerX", @"com.apple.quicktimeplayer", diff --git a/CMakeLists.txt b/CMakeLists.txt -index 23070d9..f2c8b72 100644 +index 657efdbac..cd2484e47 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,6 @@ include(cmake/C++11Compat.cmake) @@ -22,64 +22,68 @@ index 23070d9..f2c8b72 100644 include(cmake/OptionalSource.cmake) include(cmake/Format.cmake) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) -@@ -74,7 +73,6 @@ pkg_check_modules(LIBMYGPO_QT libmygpo-qt>=1.0.9) +@@ -72,7 +71,6 @@ pkg_check_modules(LIBMTP libmtp>=1.0) + pkg_check_modules(LIBMYGPO_QT5 libmygpo-qt5>=1.0.9) pkg_check_modules(LIBPULSE libpulse) pkg_check_modules(LIBXML libxml-2.0) - pkg_check_modules(QJSON REQUIRED QJson) --pkg_check_modules(SPOTIFY libspotify>=12.1.45) - pkg_check_modules(TAGLIB REQUIRED taglib>=1.6) +-pkg_check_modules(LIBSPOTIFY libspotify>=12.1.45) + pkg_check_modules(TAGLIB taglib) if (WIN32) -@@ -117,13 +115,6 @@ endif() +@@ -164,11 +162,6 @@ endif() + if (APPLE) find_library(SPARKLE Sparkle) +- find_library(LIBSPOTIFY libspotify) +- if(LIBSPOTIFY_FOUND) +- set(LIBSPOTIFY_INCLUDE_DIRS ${LIBSPOTIFY}) +- set(LIBSPOTIFY_LIBRARIES ${LIBSPOTIFY}) +- endif(LIBSPOTIFY_FOUND) -- find_library(SPOTIFY libspotify) -- if (SPOTIFY) -- set (SPOTIFY_FOUND ON) -- set (SPOTIFY_INCLUDE_DIRS ${SPOTIFY}) -- set (SPOTIFY_LIBRARIES ${SPOTIFY}) -- endif (SPOTIFY) -- add_subdirectory(3rdparty/SPMediaKeyTap) set(SPMEDIAKEYTAP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/SPMediaKeyTap) - set(SPMEDIAKEYTAP_LIBRARIES SPMediaKeyTap) -@@ -254,11 +245,6 @@ optional_component(DEVICEKIT ON "Devices: DeviceKit backend" - DEPENDS "D-Bus support" HAVE_DBUS +@@ -292,20 +285,6 @@ optional_component(UDISKS2 ON "Devices: UDisks2 backend" + DEPENDS "D-Bus support" Qt5DBus_FOUND ) +-if (CRYPTOPP_FOUND OR HAVE_SPOTIFY_BLOB) +- set(CRYPTOPP_OR_HAVE_SPOTIFY_BLOB ON) +-endif() +- +-optional_component(SPOTIFY ON "Spotify support" +- DEPENDS "cryptopp or spotify blob" CRYPTOPP_OR_HAVE_SPOTIFY_BLOB +-) +- -optional_component(SPOTIFY_BLOB ON "Spotify support: non-GPL binary helper" +- DEPENDS "spotify support" HAVE_SPOTIFY - DEPENDS "protobuf" PROTOBUF_FOUND PROTOBUF_PROTOC_EXECUTABLE -- DEPENDS "libspotify" SPOTIFY_FOUND +- DEPENDS "libspotify" LIBSPOTIFY_FOUND -) - optional_component(MOODBAR ON "Moodbar support" DEPENDS "fftw3" FFTW3_FOUND ) -@@ -274,14 +260,6 @@ optional_component(LIBPULSE ON "Pulse audio integration" +@@ -339,9 +318,6 @@ endif() - optional_component(VISUALISATIONS ON "Visualisations") + if(CRYPTOPP_FOUND) + set(HAVE_CRYPTOPP ON) +- if(HAVE_SPOTIFY) +- set(HAVE_SPOTIFY_DOWNLOADER ON) +- endif(HAVE_SPOTIFY) + endif(CRYPTOPP_FOUND) --if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND) -- message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify " -- "code must be compiled in") --elseif(CRYPTOPP_FOUND) -- set(HAVE_CRYPTOPP ON) -- set(HAVE_SPOTIFY_DOWNLOADER ON) --endif() -- - # Find DBus if it's enabled - if (HAVE_DBUS) - find_package(Qt4 REQUIRED QtDbus) -@@ -422,7 +400,6 @@ add_subdirectory(ext/libclementine-common) + # Remove GLU and GL from the link line - they're not really required +@@ -451,9 +427,6 @@ add_subdirectory(ext/libclementine-common) add_subdirectory(ext/libclementine-tagreader) add_subdirectory(ext/clementine-tagreader) add_subdirectory(ext/libclementine-remote) --add_subdirectory(ext/libclementine-spotifyblob) +-if(HAVE_SPOTIFY) +- add_subdirectory(ext/libclementine-spotifyblob) +-endif(HAVE_SPOTIFY) option(WITH_DEBIAN OFF) if(WITH_DEBIAN) -@@ -433,10 +410,6 @@ if(HAVE_BREAKPAD) +@@ -464,10 +437,6 @@ if(HAVE_BREAKPAD) add_subdirectory(3rdparty/google-breakpad) endif(HAVE_BREAKPAD) @@ -91,7 +95,7 @@ index 23070d9..f2c8b72 100644 add_subdirectory(gst/moodbar) endif() diff --git a/data/data.qrc b/data/data.qrc -index 694eaad..caecc30 100644 +index f7fff7c07..36b0c0927 100644 --- a/data/data.qrc +++ b/data/data.qrc @@ -3,7 +3,6 @@ @@ -102,20 +106,17 @@ index 694eaad..caecc30 100644 <file>currenttrack_bar_left.png</file> <file>currenttrack_bar_mid.png</file> <file>currenttrack_bar_right.png</file> -@@ -280,10 +279,10 @@ - <file>lumberjacksong.txt</file> - <file>lyrics/ultimate_providers.xml</file> - <file>mainwindow.css</file> -+ <file>moognu.png</file> +@@ -283,7 +282,7 @@ <file>nocover.png</file> <file>nomusic.png</file> <file>now_playing_tooltip.txt</file> - <file>nyancat.png</file> ++ <file>moognu.png</file> <file>oauthsuccess.html</file> <file>osd_background.png</file> <file>osd_shadow_corner.png</file> @@ -350,7 +349,6 @@ - <file>providers/22x22/somafm.png</file> + <file>providers/22x22/intergalacticfm.png</file> <file>providers/22x22/songkick.png</file> <file>providers/22x22/soundcloud.png</file> - <file>providers/22x22/spotify.png</file> @@ -123,7 +124,7 @@ index 694eaad..caecc30 100644 <file>providers/22x22/vk.png</file> <file>providers/22x22/wikipedia.png</file> @@ -382,7 +380,6 @@ - <file>providers/32x32/somafm.png</file> + <file>providers/32x32/intergalacticfm.png</file> <file>providers/32x32/songkick.png</file> <file>providers/32x32/soundcloud.png</file> - <file>providers/32x32/spotify.png</file> @@ -131,14 +132,14 @@ index 694eaad..caecc30 100644 <file>providers/32x32/vk.png</file> <file>providers/32x32/wikipedia.png</file> @@ -414,7 +411,6 @@ - <file>providers/48x48/somafm.png</file> + <file>providers/48x48/intergalacticfm.png</file> <file>providers/48x48/songkick.png</file> <file>providers/48x48/soundcloud.png</file> - <file>providers/48x48/spotify.png</file> <file>providers/48x48/subsonic.png</file> <file>providers/48x48/vk.png</file> <file>providers/48x48/wikipedia.png</file> -@@ -478,7 +474,6 @@ +@@ -479,7 +475,6 @@ <file>songinfo.css</file> <file>soundcloud-ca.pem</file> <file>spinner.gif</file> @@ -147,7 +148,7 @@ index 694eaad..caecc30 100644 <file>star-on.png</file> <file>tiny-pause.png</file> diff --git a/dist/codesign.py b/dist/codesign.py -index 7c111fd..fee7345 100755 +index 5a682c5af..348ed6640 100755 --- a/dist/codesign.py +++ b/dist/codesign.py @@ -33,7 +33,7 @@ def main(): @@ -160,10 +161,10 @@ index 7c111fd..fee7345 100755 SignPath(app_bundle, developer_id, deep=False) diff --git a/dist/macdeploy.py b/dist/macdeploy.py -index 5d83c2e..f4d7d33 100755 +index 08fa5ca7e..a9cf2b923 100755 --- a/dist/macdeploy.py +++ b/dist/macdeploy.py -@@ -435,10 +435,7 @@ def main(): +@@ -472,10 +472,7 @@ def main(): FixPlugin(FindGioModule('libgiolibproxy.so'), 'gio-modules') try: @@ -175,7 +176,7 @@ index 5d83c2e..f4d7d33 100755 for plugin in QT_PLUGINS: FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin)) diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in -index 10ba0ff..2e1eba6 100644 +index d46eb43dd..56448c3de 100644 --- a/dist/windows/clementine.nsi.in +++ b/dist/windows/clementine.nsi.in @@ -187,9 +187,6 @@ Section "Delete old files" oldfiles @@ -188,7 +189,7 @@ index 10ba0ff..2e1eba6 100644 ; 1.0 Delete "$INSTDIR\libofa.dll" Delete "$INSTDIR\gstreamer-plugins\libgstofa.dll" -@@ -260,7 +257,6 @@ Section "Clementine" Clementine +@@ -268,7 +265,6 @@ Section "Clementine" Clementine File "clementine.exe" File "clementine-tagreader.exe" @@ -196,15 +197,15 @@ index 10ba0ff..2e1eba6 100644 File "clementine.ico" File "glew32.dll" File "libcdio-16.dll" -@@ -314,7 +310,6 @@ Section "Clementine" Clementine - File "libprotobuf-8.dll" +@@ -324,7 +320,6 @@ Section "Clementine" Clementine File "libqjson.dll" + File "libsoup-2.4-1.dll" File "libspeex-1.dll" - File "libspotify.dll" File "libsqlite3-0.dll" File "libstdc++-6.dll" File "libtag.dll" -@@ -1073,7 +1068,6 @@ Section "Uninstall" +@@ -1083,7 +1078,6 @@ Section "Uninstall" Delete "$INSTDIR\clementine.ico" Delete "$INSTDIR\clementine.exe" Delete "$INSTDIR\clementine-tagreader.exe" @@ -212,16 +213,16 @@ index 10ba0ff..2e1eba6 100644 Delete "$INSTDIR\glew32.dll" Delete "$INSTDIR\libcdio-16.dll" Delete "$INSTDIR\libchromaprint.dll" -@@ -1126,7 +1120,6 @@ Section "Uninstall" - Delete "$INSTDIR\libprotobuf-8.dll" +@@ -1139,7 +1133,6 @@ Section "Uninstall" Delete "$INSTDIR\libqjson.dll" + Delete "$INSTDIR\libsoup-2-4-1.dll" Delete "$INSTDIR\libspeex-1.dll" - Delete "$INSTDIR\libspotify.dll" Delete "$INSTDIR\libstdc++-6.dll" Delete "$INSTDIR\libtag.dll" Delete "$INSTDIR\libtasn1-6.dll" diff --git a/ext/libclementine-common/core/logging.cpp b/ext/libclementine-common/core/logging.cpp -index ec8faa2..f76f034 100644 +index 9aa131935..0ec43d709 100644 --- a/ext/libclementine-common/core/logging.cpp +++ b/ext/libclementine-common/core/logging.cpp @@ -14,10 +14,6 @@ @@ -236,7 +237,7 @@ index ec8faa2..f76f034 100644 #include <cxxabi.h> diff --git a/ext/libclementine-common/core/logging.h b/ext/libclementine-common/core/logging.h -index 21eebdf..68232ca 100644 +index 0433da5aa..8f6efe561 100644 --- a/ext/libclementine-common/core/logging.h +++ b/ext/libclementine-common/core/logging.h @@ -14,10 +14,6 @@ @@ -251,7 +252,7 @@ index 21eebdf..68232ca 100644 #define LOGGING_H diff --git a/ext/libclementine-common/core/messagehandler.cpp b/ext/libclementine-common/core/messagehandler.cpp -index 1ea6492..5c4e79a 100644 +index 065964d5f..8a8381b46 100644 --- a/ext/libclementine-common/core/messagehandler.cpp +++ b/ext/libclementine-common/core/messagehandler.cpp @@ -14,10 +14,6 @@ @@ -266,7 +267,7 @@ index 1ea6492..5c4e79a 100644 #include "core/logging.h" diff --git a/ext/libclementine-common/core/messagehandler.h b/ext/libclementine-common/core/messagehandler.h -index 5a7f8f2..7df58df 100644 +index 5a7f8f2c8..7df58df05 100644 --- a/ext/libclementine-common/core/messagehandler.h +++ b/ext/libclementine-common/core/messagehandler.h @@ -14,10 +14,6 @@ @@ -281,7 +282,7 @@ index 5a7f8f2..7df58df 100644 #define MESSAGEHANDLER_H diff --git a/ext/libclementine-common/core/override.h b/ext/libclementine-common/core/override.h -index 98c2764..ca37137 100644 +index 98c2764d5..ca3713700 100644 --- a/ext/libclementine-common/core/override.h +++ b/ext/libclementine-common/core/override.h @@ -14,10 +14,6 @@ @@ -296,90 +297,78 @@ index 98c2764..ca37137 100644 #define OVERRIDE_H diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index afe58b9..125dd75 100644 +index d635aee7c..56e01c09d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -56,8 +56,6 @@ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-tagreader) +@@ -47,10 +47,6 @@ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-tagreader) include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-tagreader) include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-remote) include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-remote) --include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-spotifyblob) --include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-spotifyblob) +-if(HAVE_SPOTIFY) +- include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-spotifyblob) +- include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-spotifyblob) +-endif(HAVE_SPOTIFY) cmake_policy(SET CMP0011 NEW) include(../cmake/ParseArguments.cmake) -@@ -154,7 +152,6 @@ set(SOURCES - globalsearch/simplesearchprovider.cpp - globalsearch/somafmsearchprovider.cpp - globalsearch/soundcloudsearchprovider.cpp -- globalsearch/spotifysearchprovider.cpp - globalsearch/suggestionwidget.cpp - globalsearch/urlsearchprovider.cpp - -@@ -191,9 +188,6 @@ set(SOURCES - internet/somafm/somafmurlhandler.cpp - internet/soundcloud/soundcloudservice.cpp - internet/soundcloud/soundcloudsettingspage.cpp -- internet/spotify/spotifyserver.cpp -- internet/spotify/spotifyservice.cpp -- internet/spotify/spotifysettingspage.cpp - internet/subsonic/subsonicservice.cpp - internet/subsonic/subsonicsettingspage.cpp - internet/subsonic/subsonicurlhandler.cpp -@@ -461,7 +455,6 @@ set(HEADERS - globalsearch/searchprovider.h - globalsearch/simplesearchprovider.h - globalsearch/soundcloudsearchprovider.h -- globalsearch/spotifysearchprovider.h - globalsearch/suggestionwidget.h - - internet/core/cloudfileservice.h -@@ -494,9 +487,6 @@ set(HEADERS - internet/somafm/somafmurlhandler.h - internet/soundcloud/soundcloudservice.h - internet/soundcloud/soundcloudsettingspage.h -- internet/spotify/spotifyserver.h -- internet/spotify/spotifyservice.h -- internet/spotify/spotifysettingspage.h - internet/subsonic/subsonicservice.h - internet/subsonic/subsonicsettingspage.h - internet/subsonic/subsonicurlhandler.h -@@ -692,7 +682,6 @@ set(UI - internet/magnatune/magnatunesettingspage.ui - internet/core/searchboxwidget.ui - internet/soundcloud/soundcloudsettingspage.ui -- internet/spotify/spotifysettingspage.ui - internet/subsonic/subsonicsettingspage.ui - - library/groupbydialog.ui -@@ -839,15 +828,6 @@ optional_source(HAVE_LIBLASTFM +@@ -303,7 +299,6 @@ set(SOURCES + songinfo/songkickconcerts.cpp + songinfo/songkickconcertwidget.cpp + songinfo/songplaystats.cpp +- songinfo/spotifyimages.cpp + songinfo/streamdiscoverer.cpp + songinfo/taglyricsinfoprovider.cpp + songinfo/ultimatelyricslyric.cpp +@@ -593,7 +588,6 @@ set(HEADERS + songinfo/songkickconcerts.h + songinfo/songkickconcertwidget.h + songinfo/songplaystats.h +- songinfo/spotifyimages.h + songinfo/streamdiscoverer.h + songinfo/taglyricsinfoprovider.h + songinfo/ultimatelyricslyric.h +@@ -837,33 +831,6 @@ optional_source(HAVE_LIBLASTFM + internet/lastfm/lastfmsettingspage.ui ) - --optional_source(HAVE_SPOTIFY_DOWNLOADER +-# Spotify support +-optional_source(HAVE_SPOTIFY - SOURCES -- internet/spotify/spotifyblobdownloader.cpp +- internet/spotify/spotifyserver.cpp +- internet/spotify/spotifyservice.cpp +- internet/spotify/spotifysettingspage.cpp +- globalsearch/spotifysearchprovider.cpp - HEADERS -- internet/spotify/spotifyblobdownloader.h -- INCLUDE_DIRECTORIES -- ${CRYPTOPP_INCLUDE_DIRS} +- globalsearch/spotifysearchprovider.h +- internet/spotify/spotifyserver.h +- internet/spotify/spotifyservice.h +- internet/spotify/spotifysettingspage.h +- UI +- internet/spotify/spotifysettingspage.ui -) - +-if(HAVE_SPOTIFY) +- optional_source(HAVE_SPOTIFY_DOWNLOADER +- SOURCES +- internet/spotify/spotifyblobdownloader.cpp +- HEADERS +- internet/spotify/spotifyblobdownloader.h +- INCLUDE_DIRECTORIES +- ${CRYPTOPP_INCLUDE_DIRS} +- ) +-endif(HAVE_SPOTIFY) +- # Platform specific - OS X optional_source(APPLE INCLUDE_DIRECTORIES -@@ -1233,7 +1213,6 @@ add_dependencies(clementine_lib pot) - - - target_link_libraries(clementine_lib -- clementine-spotifyblob-messages - libclementine-common - libclementine-tagreader - libclementine-remote -@@ -1303,13 +1282,6 @@ if(HAVE_BREAKPAD) +@@ -1306,17 +1273,6 @@ if(HAVE_BREAKPAD) endif (LINUX) endif(HAVE_BREAKPAD) +-if(HAVE_SPOTIFY) +- target_link_libraries(clementine_lib clementine-spotifyblob-messages) +-endif(HAVE_SPOTIFY) +- -if(HAVE_SPOTIFY_DOWNLOADER) - target_link_libraries(clementine_lib - ${CRYPTOPP_LIBRARIES} @@ -390,7 +379,7 @@ index afe58b9..125dd75 100644 if(HAVE_LIBPULSE) target_link_libraries(clementine_lib ${LIBPULSE_LIBRARIES}) endif() -@@ -1394,16 +1366,6 @@ target_link_libraries(clementine +@@ -1404,10 +1360,6 @@ target_link_libraries(clementine clementine_lib ) @@ -398,29 +387,23 @@ index afe58b9..125dd75 100644 -if(HAVE_SPOTIFY_BLOB) - add_dependencies(clementine clementine-spotifyblob) -endif(HAVE_SPOTIFY_BLOB) --add_dependencies(clementine clementine-tagreader) -- --set_target_properties(clementine PROPERTIES -- MACOSX_BUNDLE_INFO_PLIST "../dist/Info.plist" --) -- - if (APPLE) - install(FILES ../dist/clementine.icns - DESTINATION "${CMAKE_BINARY_DIR}/clementine.app/Contents/Resources") + add_dependencies(clementine clementine-tagreader) + + set_target_properties(clementine PROPERTIES diff --git a/src/analyzers/rainbowanalyzer.cpp b/src/analyzers/rainbowanalyzer.cpp -index c8aa0cf..e8eec8b 100644 +index 7cb0b44c2..25bfb843d 100644 --- a/src/analyzers/rainbowanalyzer.cpp +++ b/src/analyzers/rainbowanalyzer.cpp -@@ -40,7 +40,7 @@ const int Rainbow::RainbowAnalyzer::kRainbowHeight[] = { 21, 16 }; - const int Rainbow::RainbowAnalyzer::kRainbowOverlap[] = { 13, 15 }; - const int Rainbow::RainbowAnalyzer::kSleepingHeight[] = { 24, 33 }; +@@ -42,7 +42,7 @@ const int Rainbow::RainbowAnalyzer::kRainbowHeight[] = {21, 16}; + const int Rainbow::RainbowAnalyzer::kRainbowOverlap[] = {13, 15}; + const int Rainbow::RainbowAnalyzer::kSleepingHeight[] = {24, 33}; -const char* Rainbow::NyanCatAnalyzer::kName = "Nyanalyzer Cat"; +const char* Rainbow::NyanCatAnalyzer::kName = "MooGNU"; const char* Rainbow::RainbowDashAnalyzer::kName = "Rainbow Dash"; const float Rainbow::RainbowAnalyzer::kPixelScale = 0.02f; -@@ -56,7 +56,7 @@ Rainbow::RainbowAnalyzer::RainbowAnalyzer(const RainbowType& rbtype, QWidget* pa +@@ -59,7 +59,7 @@ Rainbow::RainbowAnalyzer::RainbowAnalyzer(const RainbowType& rbtype, x_offset_(0), background_brush_(QColor(0x0f, 0x43, 0x73)) { rainbowtype = rbtype; @@ -429,7 +412,7 @@ index c8aa0cf..e8eec8b 100644 cat_dash_[1] = QPixmap(":/rainbowdash.png"); memset(history_, 0, sizeof(history_)); -@@ -192,8 +192,8 @@ void Rainbow::RainbowAnalyzer::analyze(QPainter& p, const Analyzer::Scope& s, +@@ -193,8 +193,8 @@ void Rainbow::RainbowAnalyzer::analyze(QPainter& p, const Analyzer::Scope& s, // Draw the buffer on to the widget p.drawPixmap(0, 0, buffer_[current_buffer_], x_offset_, 0, 0, 0); @@ -439,21 +422,26 @@ index c8aa0cf..e8eec8b 100644 + // Moo moo moo moo dash dash dash dash. if (!is_playing_) { // Ssshhh! - p.drawPixmap(SleepingDestRect(rainbowtype), cat_dash_[rainbowtype], + p.drawPixmap(SleepingDestRect(rainbowtype), cat_dash_[rainbowtype], diff --git a/src/config.h.in b/src/config.h.in -index f22fe9b..92124f5 100644 +index 20427754b..4dbd44405 100644 --- a/src/config.h.in +++ b/src/config.h.in -@@ -40,7 +40,6 @@ +@@ -42,12 +42,10 @@ #cmakedefine HAVE_SEAFILE #cmakedefine HAVE_SKYDRIVE #cmakedefine HAVE_SPARKLE -#cmakedefine HAVE_SPOTIFY_DOWNLOADER - #cmakedefine HAVE_VK + #cmakedefine HAVE_UDISKS2 #cmakedefine HAVE_WIIMOTEDEV + #cmakedefine HAVE_OPENGL + #cmakedefine HAVE_TRANSLATIONS +-#cmakedefine HAVE_SPOTIFY #cmakedefine TAGLIB_HAS_OPUS + #cmakedefine USE_INSTALL_PREFIX + #cmakedefine USE_SYSTEM_PROJECTM diff --git a/src/core/backgroundstreams.cpp b/src/core/backgroundstreams.cpp -index 2e6ac60..e62504c 100644 +index 2e6ac60e2..e62504c70 100644 --- a/src/core/backgroundstreams.cpp +++ b/src/core/backgroundstreams.cpp @@ -28,8 +28,6 @@ @@ -474,7 +462,7 @@ index 2e6ac60..e62504c 100644 if (version < kVersion) { diff --git a/src/core/timeconstants.h b/src/core/timeconstants.h -index 67d0227..49020d8 100644 +index 67d022794..49020d809 100644 --- a/src/core/timeconstants.h +++ b/src/core/timeconstants.h @@ -16,10 +16,6 @@ @@ -489,10 +477,10 @@ index 67d0227..49020d8 100644 #define CORE_TIMECONSTANTS_H_ diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp -index 739cadb..a022a47 100644 +index fe106e2b7..54defd7fd 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp -@@ -368,9 +368,6 @@ QString GetConfigPath(ConfigPath config) { +@@ -393,9 +393,6 @@ QString GetConfigPath(ConfigPath config) { return QDir::homePath(); #endif @@ -503,10 +491,10 @@ index 739cadb..a022a47 100644 qFatal("%s", Q_FUNC_INFO); return QString::null; diff --git a/src/core/utilities.h b/src/core/utilities.h -index 5fd8fc1..36ddefe 100644 +index 021ded6cf..841ec4061 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h -@@ -129,7 +129,6 @@ enum ConfigPath { +@@ -130,7 +130,6 @@ enum ConfigPath { Path_NetworkCache, Path_GstreamerRegistry, Path_DefaultMusicLibrary, @@ -515,14 +503,16 @@ index 5fd8fc1..36ddefe 100644 Path_CacheRoot, }; diff --git a/src/covers/albumcoverloader.cpp b/src/covers/albumcoverloader.cpp -index 8ebf51c..c01a16e 100644 +index a04cd923a..c982fd8f4 100644 --- a/src/covers/albumcoverloader.cpp +++ b/src/covers/albumcoverloader.cpp -@@ -34,14 +34,12 @@ +@@ -34,16 +34,12 @@ #include "core/tagreaderclient.h" #include "core/utilities.h" #include "internet/core/internetmodel.h" +-#ifdef HAVE_SPOTIFY -#include "internet/spotify/spotifyservice.h" +-#endif AlbumCoverLoader::AlbumCoverLoader(QObject* parent) : QObject(parent), @@ -534,11 +524,12 @@ index 8ebf51c..c01a16e 100644 QString AlbumCoverLoader::ImageCacheDir() { return Utilities::GetConfigPath(Utilities::Path_AlbumCovers); -@@ -176,26 +174,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage( - +@@ -179,29 +175,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage( remote_tasks_.insert(reply, task); return TryLoadResult(true, false, QImage()); -- } else if (filename.toLower().startsWith("spotify://image/")) { + } +-#ifdef HAVE_SPOTIFY +- else if (filename.toLower().startsWith("spotify://image/")) { - // HACK: we should add generic image URL handlers - SpotifyService* spotify = InternetModel::Service<SpotifyService>(); - @@ -558,13 +549,16 @@ index 8ebf51c..c01a16e 100644 - QMetaObject::invokeMethod(spotify, "LoadImage", Qt::QueuedConnection, - Q_ARG(QString, id)); - return TryLoadResult(true, false, QImage()); - } - - QImage image(filename); -@@ -204,16 +182,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage( +- } +-#endif + else if (filename.isEmpty()) { + // Avoid "QFSFileEngine::open: No file name specified" messages if we know that the filename is empty + return TryLoadResult(false, false, task.options.default_output_image_); +@@ -213,18 +186,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage( image.isNull() ? task.options.default_output_image_ : image); } +-#ifdef HAVE_SPOTIFY -void AlbumCoverLoader::SpotifyImageLoaded(const QString& id, - const QImage& image) { - if (!remote_spotify_tasks_.contains(id)) return; @@ -574,23 +568,26 @@ index 8ebf51c..c01a16e 100644 - emit ImageLoaded(task.id, scaled); - emit ImageLoaded(task.id, scaled, image); -} +-#endif - void AlbumCoverLoader::RemoteFetchFinished(QNetworkReply* reply) { reply->deleteLater(); diff --git a/src/covers/albumcoverloader.h b/src/covers/albumcoverloader.h -index 4d3e4d5..5de0663 100644 +index c5fae6b4c..ff68c6cf1 100644 --- a/src/covers/albumcoverloader.h +++ b/src/covers/albumcoverloader.h -@@ -66,7 +66,6 @@ class AlbumCoverLoader : public QObject { +@@ -67,9 +67,6 @@ class AlbumCoverLoader : public QObject { protected slots: void ProcessTasks(); void RemoteFetchFinished(QNetworkReply* reply); +-#ifdef HAVE_SPOTIFY - void SpotifyImageLoaded(const QString& url, const QImage& image); +-#endif protected: enum State { State_TryingManual, State_TryingAuto, }; -@@ -103,13 +102,10 @@ class AlbumCoverLoader : public QObject { +@@ -106,13 +103,10 @@ class AlbumCoverLoader : public QObject { QMutex mutex_; QQueue<Task> tasks_; QMap<QNetworkReply*, Task> remote_tasks_; @@ -603,31 +600,35 @@ index 4d3e4d5..5de0663 100644 - static const int kMaxRedirects = 3; }; - + diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp -index c3fde67..a1188be 100644 +index f6094c41f..c838ab6dc 100644 --- a/src/engines/gstenginepipeline.cpp +++ b/src/engines/gstenginepipeline.cpp -@@ -34,8 +34,6 @@ +@@ -35,10 +35,6 @@ #include "core/signalchecker.h" #include "core/utilities.h" #include "internet/core/internetmodel.h" --#include "internet/spotify/spotifyserver.h" --#include "internet/spotify/spotifyservice.h" +-#ifdef HAVE_SPOTIFY +-# include "internet/spotify/spotifyserver.h" +-# include "internet/spotify/spotifyservice.h" +-#endif const int GstEnginePipeline::kGstStateTimeoutNanosecs = 10000000; const int GstEnginePipeline::kFaderFudgeMsec = 2000; -@@ -152,44 +150,14 @@ bool GstEnginePipeline::ReplaceDecodeBin(GstElement* new_bin) { +@@ -155,38 +151,6 @@ bool GstEnginePipeline::ReplaceDecodeBin(GstElement* new_bin) { bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) { GstElement* new_bin = nullptr; +-#ifdef HAVE_SPOTIFY - if (url.scheme() == "spotify") { - new_bin = gst_bin_new("spotify_bin"); - - // Create elements - GstElement* src = engine_->CreateElement("tcpserversrc", new_bin); +- if (!src) return false; - GstElement* gdp = engine_->CreateElement("gdpdepay", new_bin); -- if (!src || !gdp) return false; +- if (!gdp) return false; - - // Pick a port number - const int port = Utilities::PickUnusedPort(); @@ -643,38 +644,31 @@ index c3fde67..a1188be 100644 - gst_object_unref(GST_OBJECT(pad)); - - // Tell spotify to start sending data to us. -- SpotifyServer* spotify_server = InternetModel::Service<SpotifyService>()->server(); +- SpotifyServer* spotify_server = +- InternetModel::Service<SpotifyService>()->server(); - // Need to schedule this in the spotify server's thread -- QMetaObject::invokeMethod(spotify_server, "StartPlayback", -- Qt::QueuedConnection, -- Q_ARG(QString, url.toString()), -- Q_ARG(quint16, port)); +- QMetaObject::invokeMethod( +- spotify_server, "StartPlayback", Qt::QueuedConnection, +- Q_ARG(QString, url.toString()), Q_ARG(quint16, port)); - } else { -- new_bin = engine_->CreateElement("uridecodebin"); -- g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), -- nullptr); -- CHECKED_GCONNECT(G_OBJECT(new_bin), "drained", &SourceDrainedCallback, -- this); -- CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); -- CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, -- this); +-#endif + QByteArray uri; + if (url.scheme() == "cdda") { + QString str = url.toString(); +@@ -203,9 +167,6 @@ bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) { + CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); + CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, + this); +-#ifdef HAVE_SPOTIFY - } -+ new_bin = engine_->CreateElement("uridecodebin"); -+ g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), -+ nullptr); -+ CHECKED_GCONNECT(G_OBJECT(new_bin), "drained", &SourceDrainedCallback, -+ this); -+ CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); -+ CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, -+ this); +-#endif return ReplaceDecodeBin(new_bin); } -@@ -923,16 +891,8 @@ GstPadProbeReturn GstEnginePipeline::EventHandoffCallback(GstPad*, - void GstEnginePipeline::SourceDrainedCallback(GstURIDecodeBin* bin, +@@ -959,14 +920,7 @@ void GstEnginePipeline::SourceDrainedCallback(GstURIDecodeBin* bin, gpointer self) { GstEnginePipeline* instance = reinterpret_cast<GstEnginePipeline*>(self); -- + - if (instance->has_next_valid_url() && - // I'm not sure why, but calling this when previous track is a local song - // and the next track is a Spotify song is buggy: the Spotify song will @@ -683,16 +677,15 @@ index c3fde67..a1188be 100644 - // NextItem will be called. - !(instance->url_.scheme() != "spotify" && - instance->next_url_.scheme() == "spotify")) { -- instance->TransitionToNext(); + if (instance->has_next_valid_url()) { -+ instance->TransitionToNext(); + instance->TransitionToNext(); } } - -@@ -1032,24 +992,6 @@ GstState GstEnginePipeline::state() const { +@@ -1058,26 +1012,6 @@ GstState GstEnginePipeline::state() const { } QFuture<GstStateChangeReturn> GstEnginePipeline::SetState(GstState state) { +-#ifdef HAVE_SPOTIFY - if (url_.scheme() == "spotify" && !buffering_) { - const GstState current_state = this->state(); - @@ -711,34 +704,39 @@ index c3fde67..a1188be 100644 - Q_ARG(bool, false)); - } - } +-#endif return ConcurrentRun::Run<GstStateChangeReturn, GstElement*, GstState>( &set_state_threadpool_, &gst_element_set_state, pipeline_, state); } diff --git a/src/internet/core/internetmodel.cpp b/src/internet/core/internetmodel.cpp -index 597d904..a769489 100644 +index 756d48073..ab3f8e4fe 100644 --- a/src/internet/core/internetmodel.cpp +++ b/src/internet/core/internetmodel.cpp -@@ -37,7 +37,6 @@ - #include "internet/internetradio/savedradio.h" - #include "internet/somafm/somafmservice.h" - #include "internet/soundcloud/soundcloudservice.h" +@@ -59,9 +59,6 @@ + #ifdef HAVE_SEAFILE + #include "internet/seafile/seafileservice.h" + #endif +-#ifdef HAVE_SPOTIFY -#include "internet/spotify/spotifyservice.h" - #include "internet/subsonic/subsonicservice.h" - #include "core/closure.h" - #include "core/logging.h" -@@ -97,7 +96,6 @@ InternetModel::InternetModel(Application* app, QObject* parent) +-#endif + + using smart_playlists::Generator; + using smart_playlists::GeneratorMimeData; +@@ -94,9 +91,6 @@ InternetModel::InternetModel(Application* app, QObject* parent) AddService(new RadioTunesService(app, this)); AddService(new SomaFMService(app, this)); - AddService(new SoundCloudService(app, this)); + AddService(new IntergalacticFMService(app, this)); +-#ifdef HAVE_SPOTIFY - AddService(new SpotifyService(app, this)); +-#endif AddService(new SubsonicService(app, this)); #ifdef HAVE_BOX AddService(new BoxService(app, this)); diff --git a/src/main.cpp b/src/main.cpp -index 1a961c8..87c1f34 100644 +index ecf47b9d4..8b8143f4a 100644 --- a/src/main.cpp +++ b/src/main.cpp -@@ -159,8 +159,6 @@ void SetEnv(const char* key, const QString& value) { +@@ -145,8 +145,6 @@ void SetEnv(const char* key, const QString& value) { #endif } @@ -748,7 +746,7 @@ index 1a961c8..87c1f34 100644 QString scanner_path; QString plugin_path; diff --git a/src/playlist/playlistbackend.h b/src/playlist/playlistbackend.h -index f9d347c..320c0fb 100644 +index f9d347c4e..320c0fb9b 100644 --- a/src/playlist/playlistbackend.h +++ b/src/playlist/playlistbackend.h @@ -47,8 +47,6 @@ class PlaylistBackend : public QObject { @@ -761,10 +759,10 @@ index f9d347c..320c0fb 100644 }; typedef QList<Playlist> PlaylistList; diff --git a/src/playlist/playlistdelegates.cpp b/src/playlist/playlistdelegates.cpp -index 11ffa42..649976a 100644 +index daf896e73..d74b74a56 100644 --- a/src/playlist/playlistdelegates.cpp +++ b/src/playlist/playlistdelegates.cpp -@@ -458,9 +458,7 @@ QPixmap SongSourceDelegate::LookupPixmap(const QUrl& url, +@@ -456,9 +456,7 @@ QPixmap SongSourceDelegate::LookupPixmap(const QUrl& url, if (handler) { icon = handler->icon(); } else { @@ -775,110 +773,27 @@ index 11ffa42..649976a 100644 icon = IconLoader::Load("folder-sound", IconLoader::Base); } else if (url.host() == "api.jamendo.com") { icon = IconLoader::Load("jamendo", IconLoader::Provider); -diff --git a/src/songinfo/echonestimages.cpp b/src/songinfo/echonestimages.cpp -index ce13645..c3e7e0e 100644 ---- a/src/songinfo/echonestimages.cpp -+++ b/src/songinfo/echonestimages.cpp -@@ -27,11 +27,6 @@ - #include "core/logging.h" - #include "core/network.h" - --namespace { --static const char* kSpotifyBucket = "spotify"; --static const char* kSpotifyArtistUrl = "https://api.spotify.com/v1/artists/%1"; --} -- - EchoNestImages::EchoNestImages() : network_(new NetworkAccessManager) {} - - EchoNestImages::~EchoNestImages() {} -@@ -48,19 +43,6 @@ void EchoNestImages::FetchInfo(int id, const Song& metadata) { - NewClosure(reply, SIGNAL(finished()), this, - SLOT(RequestFinished(QNetworkReply*, int, Echonest::Artist)), - reply, id, artist); -- -- // Also look up the artist id for the spotify API so we can directly request -- // images from there too. -- Echonest::Artist::SearchParams params; -- params.push_back( -- qMakePair(Echonest::Artist::Name, QVariant(metadata.artist()))); -- QNetworkReply* rosetta_reply = Echonest::Artist::search( -- params, -- Echonest::ArtistInformation(Echonest::ArtistInformation::NoInformation, -- QStringList() << kSpotifyBucket)); -- RegisterReply(rosetta_reply, id); -- NewClosure(rosetta_reply, SIGNAL(finished()), this, -- SLOT(IdsFound(QNetworkReply*, int)), rosetta_reply, id); - } - - void EchoNestImages::RequestFinished(QNetworkReply* reply, int id, -@@ -88,49 +70,12 @@ void EchoNestImages::IdsFound(QNetworkReply* reply, int request_id) { - if (artists.isEmpty()) { - return; - } -- const Echonest::ForeignIds& foreign_ids = artists.first().foreignIds(); -- for (const Echonest::ForeignId& id : foreign_ids) { -- if (id.catalog.contains("spotify")) { -- DoSpotifyImageRequest(id.foreign_id, request_id); -- } -- } - } catch (Echonest::ParseError e) { - qLog(Warning) << "Error parsing echonest reply:" << e.errorType() - << e.what(); - } +diff --git a/src/songinfo/artistinfoview.cpp b/src/songinfo/artistinfoview.cpp +index af1f5d0c4..eda16d44b 100644 +--- a/src/songinfo/artistinfoview.cpp ++++ b/src/songinfo/artistinfoview.cpp +@@ -21,11 +21,9 @@ + #include "songinfo/songinfofetcher.h" + #include "songinfo/songkickconcerts.h" + #include "widgets/prettyimageview.h" +-#include "songinfo/spotifyimages.h" + + ArtistInfoView::ArtistInfoView(QWidget* parent) : SongInfoBase(parent) { + fetcher_->AddProvider(new SongkickConcerts); +- fetcher_->AddProvider(new SpotifyImages); + fetcher_->AddProvider(new ArtistBiography); } --void EchoNestImages::DoSpotifyImageRequest(const QString& id, int request_id) { -- QString artist_id = id.split(":").last(); -- QUrl url(QString(kSpotifyArtistUrl).arg(artist_id)); -- QNetworkReply* reply = network_->get(QNetworkRequest(url)); -- RegisterReply(reply, request_id); -- NewClosure(reply, SIGNAL(finished()), [this, reply, request_id]() { -- reply->deleteLater(); -- QJson::Parser parser; -- QVariantMap result = parser.parse(reply).toMap(); -- QVariantList images = result["images"].toList(); -- QList<QPair<QUrl, QSize>> image_urls; -- for (const QVariant& image : images) { -- QVariantMap image_result = image.toMap(); -- image_urls.append(qMakePair(image_result["url"].toUrl(), -- QSize(image_result["width"].toInt(), -- image_result["height"].toInt()))); -- } -- // All the images are the same just different sizes; just pick the largest. -- std::sort(image_urls.begin(), image_urls.end(), -- [](const QPair<QUrl, QSize>& a, -- const QPair<QUrl, QSize>& b) { -- // Sorted by area ascending. -- return (a.second.height() * a.second.width()) < -- (b.second.height() * b.second.width()); -- }); -- if (!image_urls.isEmpty()) { -- emit ImageReady(request_id, image_urls.last().first); -- } -- }); --} -- - // Keeps track of replies and emits Finished() when all replies associated with - // a request are finished with. - void EchoNestImages::RegisterReply(QNetworkReply* reply, int id) { -diff --git a/src/songinfo/echonestimages.h b/src/songinfo/echonestimages.h -index 6e67e87..8cd71e4 100644 ---- a/src/songinfo/echonestimages.h -+++ b/src/songinfo/echonestimages.h -@@ -42,8 +42,6 @@ class EchoNestImages : public SongInfoProvider { - void IdsFound(QNetworkReply* reply, int id); - - private: -- void DoSpotifyImageRequest(const QString& id, int request_id); -- - void RegisterReply(QNetworkReply* reply, int id); - QMultiMap<int, QNetworkReply*> replies_; - std::unique_ptr<NetworkAccessManager> network_; diff --git a/src/ui/about.cpp b/src/ui/about.cpp -index 77a05d1..a43ae4f 100644 +index 0314a380f..f3d9c6944 100644 --- a/src/ui/about.cpp +++ b/src/ui/about.cpp -@@ -83,7 +83,6 @@ QString About::MakeHtml() const { +@@ -88,7 +88,6 @@ QString About::MakeHtml() const { ret += QString("<br />%1</p>").arg(tr("...and all the Amarok contributors")); ret += QString("<p><b>%1</b>").arg(tr("And:")); @@ -886,7 +801,7 @@ index 77a05d1..a43ae4f 100644 ret += QString( "<br /><a href=\"http://www.smitelli.com/?page=blog&p=54\">Scott " "Smitelli</a>"); -@@ -91,11 +90,6 @@ QString About::MakeHtml() const { +@@ -96,11 +95,6 @@ QString About::MakeHtml() const { "<br /><a href=\"http://hyperboleandahalf.blogspot.com\">Allie " "Brosh</a></p>"); @@ -899,27 +814,33 @@ index 77a05d1..a43ae4f 100644 } diff --git a/src/ui/settingsdialog.cpp b/src/ui/settingsdialog.cpp -index 2cb7e1b..8cb60e7 100644 +index 354187ade..80f2820e7 100644 --- a/src/ui/settingsdialog.cpp +++ b/src/ui/settingsdialog.cpp -@@ -39,7 +39,6 @@ - #include "internet/core/internetshowsettingspage.h" - #include "internet/magnatune/magnatunesettingspage.h" - #include "internet/soundcloud/soundcloudsettingspage.h" +@@ -77,10 +77,6 @@ + #include "internet/seafile/seafilesettingspage.h" + #endif + +-#ifdef HAVE_SPOTIFY -#include "internet/spotify/spotifysettingspage.h" - #include "internet/subsonic/subsonicsettingspage.h" - #include "library/librarysettingspage.h" - #include "playlist/playlistview.h" -@@ -184,7 +183,6 @@ SettingsDialog::SettingsDialog(Application* app, BackgroundStreams* streams, +-#endif +- + #include <QAbstractButton> + #include <QDesktopWidget> + #include <QPainter> +@@ -177,10 +173,6 @@ SettingsDialog::SettingsDialog(Application* app, BackgroundStreams* streams, + AddPage(Page_Skydrive, new SkydriveSettingsPage(this), providers); #endif - AddPage(Page_SoundCloud, new SoundCloudSettingsPage(this), providers); +-#ifdef HAVE_SPOTIFY - AddPage(Page_Spotify, new SpotifySettingsPage(this), providers); - - #ifdef HAVE_VK - AddPage(Page_Vk, new VkSettingsPage(this), providers); +-#endif +- + #ifdef HAVE_SEAFILE + AddPage(Page_Seafile, new SeafileSettingsPage(this), providers); + #endif diff --git a/src/ui/settingsdialog.h b/src/ui/settingsdialog.h -index 14bb976..b543cc9 100644 +index f45f72983..dc4eeb6c4 100644 --- a/src/ui/settingsdialog.h +++ b/src/ui/settingsdialog.h @@ -69,7 +69,6 @@ class SettingsDialog : public QDialog { |