1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-09 05:30:52 +02:00

Compare commits

..

163 Commits

Author SHA1 Message Date
Christian Muehlhaeuser
e19423e08f * Updated ChangeLog. 2012-07-13 11:03:21 +02:00
Christian Muehlhaeuser
e041ce87fc * Bumped to 0.5.4. 2012-07-13 10:00:28 +02:00
Tomahawk CI
6eacdf808e Automatic merge of Transifex translations 2012-07-13 09:58:49 +02:00
Leo Franchi
b6d5c86952 Pointer safety 2012-07-13 09:58:40 +02:00
Leo Franchi
b7fb9a03bf Add spotify infoplugin for album lookups 2012-07-13 09:58:19 +02:00
Christian Muehlhaeuser
37fad49393 * Fixed Windows shutdown. 2012-07-13 09:50:16 +02:00
Christian Muehlhaeuser
fa83fde05e * Try not deleting cache. 2012-07-13 09:26:02 +02:00
Christian Muehlhaeuser
b3b34cacbd * Try not deleting the infoSystem on shutdown. Does it fix Windows crashes? 2012-07-13 08:06:59 +02:00
Christian Muehlhaeuser
d0f697cd4b * Friend class MusicScanner. 2012-07-12 10:47:38 +02:00
Christian Muehlhaeuser
c144a0142f * Fixed forgotten merge. 2012-07-12 10:24:19 +02:00
Christian Muehlhaeuser
318866d37a * Fixed broken merge. 2012-07-12 10:19:40 +02:00
Christian Muehlhaeuser
70e93faa3f * Added verbose shutdown debug output. 2012-07-12 10:17:07 +02:00
Christian Muehlhaeuser
89e21289a6 * Fixed broken merge. 2012-07-12 10:08:52 +02:00
Christian Muehlhaeuser
fe0d2d87fc * Updated ChangeLog. 2012-07-12 10:00:21 +02:00
Christian Muehlhaeuser
8531ca2234 * Fixed broken merge. 2012-07-12 09:52:42 +02:00
Christian Muehlhaeuser
8d5082fe2c * Really fix compiling on Windows. 2012-07-12 09:49:11 +02:00
Christian Muehlhaeuser
7672c7caec * Try to fix compiling on mingw. 2012-07-12 09:48:26 +02:00
Christian Muehlhaeuser
bf2139824d * Cleaned up DiagnosticsDialog. 2012-07-12 09:08:49 +02:00
Christian Muehlhaeuser
eb749b1e44 * Provide convenience openUrl( url ) method in TomahawkUtilsGui, since QDesktopServices fail to work on Windows. 2012-07-12 09:08:00 +02:00
Christian Muehlhaeuser
53226f37c2 * Expose logfile's path in Logger. 2012-07-12 09:07:52 +02:00
Christian Muehlhaeuser
20032a40b2 * Use a RAMDirectory if we can't open the regular lucene index file. 2012-07-12 09:06:58 +02:00
Tomahawk CI
a6d1bbb91e Automatic merge of Transifex translations 2012-07-12 09:06:50 +02:00
Jeff Mitchell
f7240a5d39 Increased pointer safety (oops 19400) 2012-07-12 09:06:39 +02:00
Jeff Mitchell
2142a04fda Increased pointer safety (oops 19336) 2012-07-12 09:05:55 +02:00
Jeff Mitchell
0406b38f1c * Merged 4-is-not-JSON bug to stable. 2012-07-12 09:04:47 +02:00
Tomahawk CI
8e2174baf1 Automatic merge of Transifex translations 2012-07-12 09:02:05 +02:00
Tomahawk CI
7caeaddc21 Automatic merge of Transifex translations 2012-07-12 09:01:57 +02:00
Tomahawk CI
f4a01ec6aa Automatic merge of Transifex translations 2012-07-12 09:01:42 +02:00
Christian Muehlhaeuser
ed81799294 * Merged music scanner fix. 2012-07-12 09:01:24 +02:00
Christian Muehlhaeuser
0283d534f0 * Remove overlays when filter changed. 2012-07-12 08:59:09 +02:00
Christian Muehlhaeuser
4a00ff4d24 * Fixed crash in ContextMenu. 2012-07-12 08:58:55 +02:00
Tomahawk CI
b98c535247 Automatic merge of Transifex translations 2012-07-12 08:58:38 +02:00
Christian Muehlhaeuser
fbcffed27b * Fixed FadingPixmap isn't initialized with m_isDefault being true. 2012-07-12 08:58:16 +02:00
Christian Muehlhaeuser
e521150d33 * Hooking up to resultsChanged() is enough in PlayableItem. 2012-07-12 08:58:16 +02:00
Christian Muehlhaeuser
2a0aa602b6 * Refetch cover when underlying metadata changed in PixmapDelegateFader. 2012-07-12 08:58:16 +02:00
Christian Muehlhaeuser
cf37aae430 * Emit resultsChanged() after adding / removing results in a Query. 2012-07-12 08:57:46 +02:00
Christian Muehlhaeuser
292f395c47 * Bumped to 0.5.3. 2012-07-06 01:59:42 +02:00
Christian Muehlhaeuser
047f3cc2d4 * Updated ChangeLog. 2012-07-06 01:59:26 +02:00
Tomahawk CI
97681ace31 Automatic merge of Transifex translations 2012-07-06 01:50:04 +02:00
Tomahawk CI
6be5257bc0 Automatic merge of Transifex translations 2012-07-06 01:49:58 +02:00
Tomahawk CI
8cfbe1f38b Automatic merge of Transifex translations 2012-07-06 01:49:48 +02:00
Christian Muehlhaeuser
8db8e42ec4 * Filter tree-model based on query, not result. 2012-07-06 01:47:19 +02:00
Christian Muehlhaeuser
9492055fc6 * Should fix crash when filtering collection. 2012-07-06 01:47:04 +02:00
Christian Muehlhaeuser
3dc624858b * Prevent crash in ViewHeader. 2012-07-06 01:45:55 +02:00
Christian Muehlhaeuser
f154c2bbcd * Correctly unset pause / spinner on GridView when a new track is loading. 2012-07-06 01:45:44 +02:00
Christian Muehlhaeuser
e9127ae3ec * Fixed Last.fm history importing. 2012-07-06 01:45:27 +02:00
Leo Franchi
c7d9d8e5b7 Seed pipeline job item with query immediately 2012-07-06 01:45:17 +02:00
Christian Muehlhaeuser
e525291213 * Don't load social actions twice. 2012-07-06 01:44:55 +02:00
Tomahawk CI
44269ee8f6 Automatic merge of Transifex translations 2012-07-06 01:44:47 +02:00
Christian Muehlhaeuser
53c4a2d675 * Add a vertical spacer item to the DiagnosticsDialog, so contents don't move around. 2012-07-06 01:44:40 +02:00
Christian Muehlhaeuser
ebfc53e009 * Emit coverChanged() even when we couldn't get a cover, so the views update / trigger new requests. 2012-07-06 01:44:28 +02:00
Tomahawk CI
190845a86e Automatic merge of Transifex translations 2012-07-06 01:44:06 +02:00
Leo Franchi
25af4f4275 Don't confuse QFileInfo 2012-07-05 16:49:48 -04:00
Jeff Mitchell
bca64a70ed along to you -> along with you 2012-07-05 14:49:28 -04:00
Jeff Mitchell
10462ee257 Having this replace in there actually breaks notification for me.
I'm guessing that this is notification-system dependent; however, we
can't show & to people not using HTML-based notification renderers.

The fix needs to lie with the notification renderer vendor.
2012-07-05 13:40:21 -04:00
Christian Muehlhaeuser
ba4532593b * Bumped to 0.5.2. 2012-07-01 22:39:40 +02:00
Christian Muehlhaeuser
c84fd28dd2 * Update ChangeLog. 2012-07-01 22:37:07 +02:00
Christian Muehlhaeuser
dbbb491a81 * Indicate invalid PlaylistEntries. 2012-07-01 22:33:53 +02:00
Christian Muehlhaeuser
bab5e27673 * Fixed crashes in DbCmd_SetPlaylistRevision. 2012-07-01 22:33:53 +02:00
Christian Muehlhaeuser
17f71bd366 * Don't ever accept invalid results coming from resolvers. 2012-07-01 22:33:53 +02:00
Christian Muehlhaeuser
e96bbc11e1 * Fixed cover loading in error case. 2012-07-01 08:57:34 +02:00
Christian Muehlhaeuser
d492ba0317 * spotify -> Spotify. 2012-07-01 06:48:22 +02:00
Leo Franchi
b6466a6027 Changelogify 2012-07-01 00:43:58 -04:00
Christian Muehlhaeuser
6b5d391cde * Remove debug output again. 2012-07-01 05:45:28 +02:00
Christian Muehlhaeuser
0680dec5df * Set m_coverLoaded to true even when we couldn't find any image. 2012-07-01 05:45:28 +02:00
Christian Muehlhaeuser
a4e8f4216c * Removed rc0. 2012-07-01 05:13:29 +02:00
Christian Muehlhaeuser
355c95e068 * Set m_coverLoaded to true before emitting the coverChanged signal. 2012-07-01 02:51:46 +02:00
Christian Muehlhaeuser
da07361ec0 * Bumped to 0.5.1. 2012-07-01 02:29:57 +02:00
Christian Muehlhaeuser
aafe8797ad * Don't crash when removing page in history. 2012-07-01 02:23:31 +02:00
Tomahawk CI
95343ca024 Automatic merge of Transifex translations 2012-07-01 00:21:51 +02:00
Leo Franchi
f85bcc1c64 No more libspotify in bundle 2012-07-01 00:21:15 +02:00
Christian Muehlhaeuser
e53e51aefc * Add 'Copy Artist/Album Link' context menu items. 2012-07-01 00:21:08 +02:00
Christian Muehlhaeuser
d22b33bc50 * Be prepared for empty query_ptrs being returned from Query::get(). 2012-07-01 00:20:59 +02:00
Christian Muehlhaeuser
c36414bb4c * Return empty query_ptr when query data is invalid. 2012-07-01 00:20:51 +02:00
Christian Muehlhaeuser
a78349f9f1 * Use 'large' album covers from Last.fm. 2012-07-01 00:20:43 +02:00
Stefan Derkits
fa41b96260 Ubuntu 11.10 needs explicit pthread, reenable finding & linking them 2012-07-01 00:17:55 +02:00
Tomahawk CI
7f2bf85663 Automatic merge of Transifex translations 2012-07-01 00:17:47 +02:00
Leo Franchi
85fe824df3 Also remove saved resolver path when uninstalling 2012-07-01 00:17:36 +02:00
Leo Franchi
c37bbb4deb Use headerpad_max_install_names on OS X builds 2012-07-01 00:17:23 +02:00
Leo Franchi
1a9bf84ab4 Don't copy to bundle any longer when installing binary resolvers on osx 2012-07-01 00:17:17 +02:00
Leo Franchi
a283ea1ed0 Do our own attica download fetching since we send the tomahawk version as well 2012-07-01 00:17:10 +02:00
Christian Muehlhaeuser
d27dd0785a * Use new Querylabel API. 2012-07-01 00:17:02 +02:00
Christian Muehlhaeuser
5e1f808d28 * Support setting Artist / Album on a QueryLabel directly. We need a proper 'CleverLabel' so badly. 2012-07-01 00:16:55 +02:00
Christian Muehlhaeuser
aba78c7a24 * Removed obsolete code. 2012-07-01 00:16:43 +02:00
Christian Muehlhaeuser
f45e92a24d * No more dragsource.type. 2012-07-01 00:16:27 +02:00
Christian Muehlhaeuser
5ae04043d4 * Properly drag Artists / Albums from QueryLabel. 2012-07-01 00:16:11 +02:00
Christian Muehlhaeuser
5f521a6cf5 * Use new PlayableModel API throughout app. 2012-07-01 00:15:53 +02:00
Christian Muehlhaeuser
a4b30dcecd * Adjust inheriting models to new PlayableModel API. 2012-07-01 00:15:44 +02:00
Christian Muehlhaeuser
700394a054 * Resolved a bunch more hidden overloaded virtual methods in PlayableModel. 2012-07-01 00:15:35 +02:00
Christian Muehlhaeuser
819ee17b74 * Use new PlayableModel API throughout app. 2012-07-01 00:15:11 +02:00
Christian Muehlhaeuser
79c55f1699 * Adjust inheriting models to new PlayableModel API. 2012-07-01 00:15:04 +02:00
Christian Muehlhaeuser
f42696de23 * Resolved a bunch of hidden overloaded virtual methods in PlayableModel. 2012-07-01 00:14:52 +02:00
Christian Muehlhaeuser
adfaf5ce53 * Fixed text-width calculation after my latest patch. 2012-07-01 00:13:08 +02:00
Christian Muehlhaeuser
32aca98a97 * Fix english translation plurals. 2012-07-01 00:12:59 +02:00
Tomahawk CI
294809debb Automatic merge of Transifex translations 2012-07-01 00:12:45 +02:00
Christian Muehlhaeuser
e4593079f3 * Proper fix for QueryLabel's context menu. 2012-07-01 00:11:40 +02:00
Christian Muehlhaeuser
cfa4210854 * Show correct context menus for album / artist QueryLabels. 2012-07-01 00:10:42 +02:00
Tomahawk CI
91084885fb Automatic merge of Transifex translations 2012-07-01 00:10:30 +02:00
Tomahawk CI
0b7f420bef Automatic merge of Transifex translations 2012-07-01 00:10:21 +02:00
Jeff Mitchell
046237f009 Fix compilation 2012-06-30 17:07:01 -04:00
Jeff Mitchell
85d9755a47 Merge pull request #103 from nowrep/master
FdoNotifyPlugin: Fixed showing notifications with & character
2012-06-30 17:01:35 -04:00
Jeff Mitchell
98bd7b1857 Fix another crash related to debug accessing null pointers 2012-06-29 10:06:37 -04:00
Jeff Mitchell
37510fc2d7 OK, really fix crash. Promise. 2012-06-29 10:05:08 -04:00
Jeff Mitchell
a91ad7dd5f Actually fix crash 2012-06-29 10:02:21 -04:00
Jeff Mitchell
2cc85c8f4f Fix accessing playlist that could be invalid inside debug 2012-06-29 10:00:07 -04:00
Christian Muehlhaeuser
19625fffd4 * Only return online results via web API. 2012-06-27 07:39:51 +02:00
Christian Muehlhaeuser
a98cab55b7 * Properly sort artists & albums in search widget. 2012-06-27 05:37:15 +02:00
Christian Muehlhaeuser
ec7b98e589 * Moved levenshtein method to TomahawkUtils. 2012-06-27 05:37:15 +02:00
Christian Muehlhaeuser
1262dcb60a * Retry on this sql error, too. 2012-06-27 05:37:15 +02:00
Christian Muehlhaeuser
fc9c6e6017 * Use new spinner integration API. 2012-06-27 05:37:15 +02:00
Christian Muehlhaeuser
fa4463dc88 * No need to check all results for playability. Their sorted by that, so we just check the first one. 2012-06-27 05:37:15 +02:00
Christian Muehlhaeuser
3fb403c695 * Allow to sort by composer and origin. 2012-06-27 05:37:15 +02:00
Christian Muehlhaeuser
fdb1d1b621 * Expose composer's sortname in Query's API. 2012-06-27 05:37:15 +02:00
Leo Franchi
127da50144 Forcibly kill spotify resolver before starting out own in case it's an old one 2012-06-27 01:02:53 +02:00
Leo Franchi
5640923d51 Don't assert on quit anymore, served its debug purpose 2012-06-27 01:02:53 +02:00
Leo Franchi
4a2ef91638 Looks like paths with spaces need to be esaped everywhere with QProcess... 2012-06-27 01:02:53 +02:00
Christian Muehlhaeuser
012556ca0a * Resolve dupe accelerator assignment. 2012-06-27 01:01:20 +02:00
Christian Muehlhaeuser
8d0a51cc64 * Updated ChangeLog. 2012-06-27 00:12:59 +02:00
Leo Franchi
253120a35c We no longer remove accounts when uninstalling from attica 2012-06-27 00:12:59 +02:00
Leo Franchi
671bd5361b Always re-install spotify resolver if path is no longer valid 2012-06-27 00:12:59 +02:00
Leo Franchi
3dc969a31f Style fix 2012-06-27 00:12:59 +02:00
Christian Muehlhaeuser
64a70f5073 * Don't accept empty queries from web API. 2012-06-27 00:12:59 +02:00
Christian Muehlhaeuser
1911d4b8a0 * Assert when trying to setup a query without artist or track. 2012-06-27 00:12:59 +02:00
Christian Muehlhaeuser
92229ce3e2 * Call wipeIndex via a single-shot timer to avoid dead-locks. 2012-06-27 00:12:59 +02:00
Christian Muehlhaeuser
7df3f867ea * Re-bind values for failed TomahawkSqlQueries. 2012-06-27 00:12:59 +02:00
Jeff Mitchell
6e66c4a192 Revert "See if this fixes lfranchi's assert"
This reverts commit e6af7b03d7.

Conflicts:

	src/libtomahawk/database/DatabaseImpl.cpp
2012-06-27 00:12:58 +02:00
Christian Muehlhaeuser
49fe0f945e * Elide temporary page's text when showing the delete button. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
0d915513b9 * Spit out error messages when we couldn't resolve a track, album or artist. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
6c69edd0e7 * Remove spinner when AudioEngine stopped. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
23c2c77869 * Style cleanup. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
cd7c64ac0a * Set m_finished when tracks are loaded in Artist- & AlbumPlaylistInterface. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
0637ee7338 * Added a isFinished and m_finished to PlaylistInterface. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
7765aa116b * Auto re-prepare query on weird 'no query' error. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
c46ed53930 * Don't scale now playing icon decoration when expanding a playlist item. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
22105d448a * Don't expand LovedTracksItem. 2012-06-26 05:57:25 +02:00
Christian Muehlhaeuser
4f4efdfbab * Use new RecentlyPlayedModel API. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
686730e27c * Use new Recently- Played/Added -Model's API. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
fdfe4d12d4 * Split up CTOR and setSource methods. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
669e7550f2 * Split up CTOR and setSource methods. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
d4a2294963 * Show loading spinner when loading charts. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
66b0ecc846 * Show a loading spinner when loading a collection. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
c3563a2449 * Remove comments. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
05efe29a67 * Don't show an info button for empty items. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
3480690479 * Automatically adjust crash-reporter's window size. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
a1fb66e024 * Don't reset current viewpage when the new page is the same as the current one. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
02e9f99ce4 * Make sure script-resolvers are executable before trying to execute them. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
95c74fe370 * Re-center play/pause buttons when resizing GridView. 2012-06-26 05:55:22 +02:00
Christian Muehlhaeuser
358226bdb1 * No need to manuall set fake query's results. 2012-06-26 05:52:54 +02:00
Christian Muehlhaeuser
a2d81d0099 * Respond to pings from external resolver. 2012-06-26 05:52:54 +02:00
Christian Muehlhaeuser
292e97fcee * Don't show resolver errors when built with RelWithDebInfo. 2012-06-26 05:52:53 +02:00
Christian Muehlhaeuser
6dafcf3c80 * Temporary fix for compiling madness. 2012-06-26 05:52:53 +02:00
Tomahawk CI
ee1b13aee6 Automatic merge of Transifex translations 2012-06-26 05:52:53 +02:00
Christian Muehlhaeuser
ce8eecd40f * Fixed compiling on Windows. I hope. 2012-06-26 05:52:53 +02:00
Christian Muehlhaeuser
f674b3b751 * Style cleanup. 2012-06-26 05:52:53 +02:00
Jeff Mitchell
44cd64a8b6 Add ChangeLog entries 2012-06-26 05:52:53 +02:00
Christian Muehlhaeuser
a9418fc8aa * Fixed OSX linking. 2012-06-26 05:50:57 +02:00
Christian Muehlhaeuser
44546763b9 * Fixed Windows includes. 2012-06-26 05:50:57 +02:00
Christian Muehlhaeuser
66a74ad6e2 * Fixed compiling on OSX. 2012-06-26 05:50:57 +02:00
Christian Muehlhaeuser
6aae2dd96f * Updated breakpad to latest version. 2012-06-26 05:50:56 +02:00
Christian Muehlhaeuser
ffd2cee2ff * Mutex protect logging. 2012-06-26 05:50:56 +02:00
Christian Muehlhaeuser
438f8444c3 * Init Database earlier. 2012-06-26 05:50:56 +02:00
Christian Muehlhaeuser
b55be311b4 * While not a bug, this shutdown check would have never been triggered. 2012-06-26 05:50:56 +02:00
Tomahawk CI
7a4d113af6 Automatic merge of Transifex translations 2012-06-26 05:50:56 +02:00
2838 changed files with 541705 additions and 248119 deletions

8
.gitignore vendored
View File

@@ -1,17 +1,15 @@
src/accounts/tomahawk
*-build/*
qtcreator-build/*
build/*
.directory
*.a
*.o
._*
*.user
*.swp
*.swo
Makefile*
moc_*
*~
/tomahawk
thirdparty/qtweetlib/WARNING-twitter-api-keys
.kdev4
*.kdev4
*.kate-swp
@@ -20,5 +18,3 @@ win/
gcc/
tags
.DS_Store
*.autosave
Doxyfile

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "thirdparty/libcrashreporter-qt"]
path = thirdparty/libcrashreporter-qt
url = https://github.com/dschmidt/libcrashreporter-qt

16
AUTHORS
View File

@@ -4,19 +4,13 @@ Tomahawk is primarily authored by:
Contributors include:
* Leo Franchi <lfranchi@tomahawk-player.org>
* Dominik Schmidt <domme@tomahawk-player.org>
* Jeff Mitchell <jeff@tomahawk-player.org>
* J Herskowitz <j@tomahawk-player.org>
* Leo Franchi <lfranchi@kde.org>
* Dominik Schmidt <dev@dominik-schmidt.de>
* Jeff Mitchell <mitchell@kde.org>
* J Herskowitz <jherskow@gmail.com>
* Alejandro Wainzinger <aikawarazuni@gmail.com>
* Hugo Lindström <hugo@tomahawk-player.org>
* Teo Mrnjavac <teo@kde.org>
* Michael Zanetti <dreadhead@follefuder.org>
* Christopher Reichert <christopher@tomahawk-player.org>
* Uwe L. Korn <uwelk@xhochy.com>
* Patrick von Reth <vonreth@kde.org>
Thanks to:
* Harald Sitter <sitter@kde.org>
* Syd Lawrence <syd@tomahawk-player.org>
* Steve Robertson

View File

@@ -3,16 +3,6 @@ CMAKE_MINIMUM_REQUIRED( VERSION 2.8.6 )
SET( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" )
CMAKE_POLICY(SET CMP0017 NEW)
IF ( CMAKE_VERSION VERSION_EQUAL 2.8.12 OR CMAKE_VERSION VERSION_GREATER 2.8.12 )
CMAKE_POLICY(SET CMP0022 NEW)
# TODO:
# Update to NEW and fix things up when we can depend on 2.8.12
CMAKE_POLICY(SET CMP0023 OLD)
ENDIF()
INCLUDE(CMakeDependentOption)
###
### Tomahawk application info
###
@@ -21,73 +11,50 @@ SET( TOMAHAWK_ORGANIZATION_DOMAIN "tomahawk-player.org" )
SET( TOMAHAWK_APPLICATION_NAME "Tomahawk" )
SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" )
IF( WIN32 )
SET( TOMAHAWK_SYSTEM "Windows" )
ELSEIF( APPLE )
SET( TOMAHAWK_SYSTEM "OS X" )
ELSEIF( UNIX )
SET( TOMAHAWK_SYSTEM "Linux")
ELSE()
SET( TOMAHAWK_SYSTEM "Uknown Platform, please let the Tomahawk team know, this actually happened" )
ENDIF()
SET( TOMAHAWK_VERSION_MAJOR 0 )
SET( TOMAHAWK_VERSION_MINOR 8 )
SET( TOMAHAWK_VERSION_PATCH 99 )
SET( TOMAHAWK_VERSION_MINOR 5 )
SET( TOMAHAWK_VERSION_PATCH 4 )
#SET( TOMAHAWK_VERSION_RC 0 )
SET( TOMAHAWK_TRANSLATION_LANGUAGES ar bg bn_IN ca cs de en el es fi fr hi_IN hu gl it ja lt pl pt_BR ro ru sv tr zh_CN zh_TW )
# add_definitions is only in the scope of this directory and all directories
# below it. Tomahawk Libraries and plugins that are built with Tomahawk are
# not included in out-of-source build so we need to re-add_definitions there.
macro(tomahawk_add_definitions DEFINITION)
add_definitions( ${DEFINITION} )
list(APPEND TOMAHAWK_DEFINITIONS ${DEFINITION})
endmacro()
# enforce proper symbol exporting on all platforms
tomahawk_add_definitions( "-fvisibility=hidden" )
# enforce using constBegin, constEnd for const-iterators
tomahawk_add_definitions( "-DQT_STRICT_ITERATORS" )
add_definitions( "-fvisibility=hidden" )
# build options
option(BUILD_GUI "Build Tomahawk with GUI" ON)
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
option(BUILD_TESTS "Build Tomahawk with unit tests" ON)
option(BUILD_HATCHET "Build the Hatchet plugin" OFF)
option(BUILD_WITH_QT4 "Build Tomahawk with Qt4 no matter if Qt5 was found" ON)
option(WITH_BREAKPAD "Build with breakpad integration" ON)
option(WITH_CRASHREPORTER "Build with CrashReporter" ON)
option(WITH_BINARY_ATTICA "Enable support for downloading binary resolvers automatically" ON)
option(LEGACY_KDE_INTEGRATION "Install tomahawk.protocol file, deprecated since 4.6.0" OFF)
option(WITH_KDE4 "Build with support for KDE specific stuff" ON)
CMAKE_DEPENDENT_OPTION(WITH_UPOWER "Build with support for UPower events" ON
"UNIX;NOT APPLE" OFF)
CMAKE_DEPENDENT_OPTION(WITH_GNOMESHORTCUTHANDLER "Build with shortcut handler for GNOME" ON
"UNIX;NOT APPLE" OFF)
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt")
message(STATUS "Build of crashreporter disabled.")
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" )
message(STATUS "Build of breakpad library disabled on this platform.")
SET(WITH_BREAKPAD OFF)
SET(WITH_CRASHREPORTER OFF)
ENDIF()
# add definitions based on build options
IF( WITH_BREAKPAD )
message(STATUS "Build with support for breakpad.")
IF( CMAKE_COMPILER_IS_GNUCXX )
ADD_DEFINITIONS( -DSTDC_HEADERS -std=gnu++98 )
ENDIF()
ENDIF()
# generate version string
# base string used in release and unstable builds
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION_MAJOR}.${TOMAHAWK_VERSION_MINOR}.${TOMAHAWK_VERSION_PATCH} )
SET( TOMAHAWK_VERSION_SHORT "${TOMAHAWK_VERSION}" )
IF( TOMAHAWK_VERSION_RC )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}rc${TOMAHAWK_VERSION_RC} )
ENDIF()
# additional info for non-release builds
IF( NOT BUILD_RELEASE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" )
IF( NOT BUILD_RELEASE )
INCLUDE( CMakeDateStamp )
SET( TOMAHAWK_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
IF( TOMAHAWK_VERSION_DATE GREATER 0 )
IF( TOMAHAWK_VERSION_DATE GREATER 0)
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}.${TOMAHAWK_VERSION_DATE} )
ENDIF()
@@ -110,241 +77,67 @@ INCLUDE( GNUInstallDirs )
# installer creation
INCLUDE( TomahawkCPack.cmake )
# deps
#deps
INCLUDE( MacroOptionalFindPackage )
INCLUDE( MacroLogFeature )
message( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} ***" )
# Check if we need qtgui:
SET(NEEDED_QT4_COMPONENTS QtCore QtXml QtNetwork )
IF( NOT BUILD_GUI )
ADD_DEFINITIONS( -DENABLE_HEADLESS )
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" )
ELSE()
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" )
LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" )
ENDIF()
if( NOT BUILD_WITH_QT4 )
find_package(Qt5Core QUIET)
if( Qt5Core_DIR )
# CMAKE 2.8.13+/3.0.0+ requires these for IMPORTed targets
find_package(Qt5Concurrent REQUIRED)
find_package(Qt5Svg REQUIRED)
find_package(Qt5UiTools REQUIRED)
find_package(Qt5WebKitWidgets REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Xml REQUIRED)
message(STATUS "Found Qt5! Be aware that Qt5-support is still experimental and not officially supported!")
IF( BUILD_GUI AND UNIX AND NOT APPLE )
FIND_PACKAGE( X11 )
ENDIF()
if( UNIX AND NOT APPLE )
# We need this to find the paths to qdbusxml2cpp and co
find_package(Qt5DBus REQUIRED)
endif()
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
if(WIN32)
find_package(Qt5WinExtras REQUIRED)
endif()
macro(qt_wrap_ui)
qt5_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt5_add_resources(${ARGN})
endmacro()
find_package(Qt5LinguistTools REQUIRED)
macro(qt_add_translation)
qt5_add_translation(${ARGN})
endmacro()
macro(qt_add_dbus_interface)
qt5_add_dbus_interface(${ARGN})
endmacro()
macro(qt_add_dbus_adaptor)
qt5_add_dbus_adaptor(${ARGN})
endmacro()
macro(setup_qt)
endmacro()
set(QT_RCC_EXECUTABLE "${Qt5Core_RCC_EXECUTABLE}")
#FIXME: CrashReporter depends on deprecated QHttp
set(WITH_KDE4 OFF)
endif()
endif()
if( NOT Qt5Core_DIR )
message(STATUS "Could not find Qt5, searching for Qt4 instead...")
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
if( BUILD_GUI )
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg")
endif()
if( BUILD_TESTS )
list(APPEND NEEDED_QT4_COMPONENTS "QtTest")
endif()
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
macro(qt5_use_modules)
endmacro()
macro(qt_wrap_ui)
qt4_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt4_add_resources(${ARGN})
endmacro()
macro(qt_add_translation)
qt4_add_translation(${ARGN})
endmacro()
macro(qt_add_dbus_interface)
qt4_add_dbus_interface(${ARGN})
endmacro()
macro(qt_add_dbus_adaptor)
qt4_add_dbus_adaptor(${ARGN})
endmacro()
macro(setup_qt)
if( NOT BUILD_GUI )
set(QT_DONT_USE_QTGUI TRUE)
endif()
if( UNIX AND NOT APPLE )
set(QT_USE_QTDBUS TRUE)
endif()
set(QT_USE_QTSQL TRUE)
set(QT_USE_QTNETWORK TRUE)
set(QT_USE_QTXML TRUE)
set(QT_USE_QTWEBKIT TRUE)
include( ${QT_USE_FILE} )
endmacro()
# Qt5 C++11 Macros not defined within Qt4
# TODO: Add C++11 support
tomahawk_add_definitions( "-DQ_DECL_FINAL=" )
tomahawk_add_definitions( "-DQ_DECL_OVERRIDE=" )
macro_optional_find_package(Phonon 4.5.0)
macro_log_feature(PHONON_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
if(PHONON_FOUND)
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
endif()
if( Qt5Core_DIR )
set( TOMAHAWK_QT5 TRUE )
else( Qt5Core_DIR )
set( TOMAHAWK_QT5 FALSE )
endif( Qt5Core_DIR )
if( BUILD_GUI AND UNIX AND NOT APPLE )
find_package( X11 )
endif()
# Check if we can use <functional> or need <tr1/functional>
include( CheckStdFunctional )
check_std_functional( CXX_STD_FUNCTIONAL )
include( CheckStdTr1Functional )
check_std_tr1_functional( CXX_STD_TR1_FUNCTIONAL )
if ( NOT CXX_STD_FUNCTIONAL AND NOT CXX_STD_TR1_FUNCTIONAL )
message( FATAL_ERROR
"Used compiler neither provides std::function nor std::tr1::function")
endif()
macro_optional_find_package(Echonest 2.2.0)
macro_log_feature(ECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 2.2.0 is needed for dynamic playlists and the infosystem")
macro_optional_find_package(LibEchonest 1.2.1)
macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 1.2.1 is needed for dynamic playlists and the infosystem")
macro_optional_find_package(CLucene 0.9.23)
macro_log_feature(CLucene_FOUND "CLucene" "The open-source, C++ search engine" "http://clucene.sf.net" TRUE "" "CLucene is used for indexing the collection")
if( NOT TOMAHAWK_QT5 )
macro_optional_find_package(QJSON 0.8.1)
macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVariant objects" "http://qjson.sf.net" TRUE "" "libqjson is used for encoding communication between Tomahawk instances")
ENDIF()
macro_optional_find_package(QJSON)
macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVariant objects" "http://qjson.sf.net" TRUE "" "libqjson is used for encoding communication between Tomahawk instances")
macro_optional_find_package(Taglib 1.6.0)
macro_log_feature(TAGLIB_FOUND "TagLib" "Audio Meta-Data Library" "http://developer.kde.org/~wheeler/taglib.html" TRUE "" "taglib is needed for reading meta data from audio files")
include( CheckTagLibFileName )
check_taglib_filename( COMPLEX_TAGLIB_FILENAME )
find_package(Boost REQUIRED)
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explanation
macro_optional_find_package(Sparsehash)
macro_log_feature(SPARSEHASH_FOUND "Sparsehash"
"An extremely memory-efficient hash_map implementation."
"https://code.google.com/p/sparsehash/" TRUE ""
"Sparsehash is needed for reading metadata of mediastreams and fast
forward/backward seeking in HTTP streams")
macro_optional_find_package(GnuTLS)
macro_log_feature(GNUTLS_FOUND "GnuTLS"
"GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them."
"http://gnutls.org/" TRUE ""
"GnuTLS is needed for serving the Playdar/HTTP API via TLS")
macro_optional_find_package(Boost)
macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++ source libraries" "http://www.boost.org" TRUE "" "") #FIXME: give useful explaination
macro_optional_find_package(QCA2)
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions necessary for some resolvers and accounts" "http://delta.affinix.com/qca/" TRUE "" "")
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions required for Grooveshark resolver" "http://delta.affinix.com/qca/" FALSE "" "")
if( TOMAHAWK_QT5 )
macro_optional_find_package(KF5Attica 1.0.0)
set(LIBATTICA_FOUND ${KF5Attica_FOUND})
else()
macro_optional_find_package(LibAttica 0.4.0)
endif()
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for installation of resolvers from the Tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "")
macro_optional_find_package(LibAttica 0.4.0)
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for automatic fetching and managing of resolvers from the tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "")
macro_optional_find_package(QuaZip)
macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloaded resolvers automatically." "http://quazip.sourceforge.net/" TRUE "" "")
macro_optional_find_package(Jreen 1.0.5)
macro_log_feature(JREEN_FOUND "Jreen" "Qt XMPP Library" "http://qutim.org/jreen / https://github.com/euroelessar/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin.\n")
if( PC_JREEN_VERSION STREQUAL "1.1.0" )
message(FATAL_ERROR "Jreen 1.1.0 has a very annoying bug that breaks accepting auth requests in Tomahawk. Please upgrade to 1.1.1 or downgrade to 1.0.5.")
endif()
macro_optional_find_package(QTweetLib)
macro_log_feature(QTWEETLIB_FOUND "QTweetLib" "Qt Twitter Library" "https://github.com/minimoog/QTweetLib" FALSE "" "QTweetLib is needed for the Twitter SIP plugin.\n")
macro_optional_find_package(LibLastFm 1.0.0)
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/lastfm/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
if( NOT APPLE )
if( TOMAHAWK_QT5 )
macro_optional_find_package(Qt5Keychain 0.1.0)
else()
macro_optional_find_package(QtKeychain 0.1.0)
endif()
macro_log_feature(QTKEYCHAIN_FOUND "QtKeychain" "Provides support for secure credentials storage" "https://github.com/frankosterfeld/qtkeychain" TRUE "" "")
endif()
if( UNIX AND NOT APPLE )
macro_optional_find_package(TelepathyQt 0.9.3)
if ( TOMAHAWK_QT5 )
macro_log_feature(TelepathyQt5_FOUND "Telepathy-Qt" "Telepathy-Qt is a Qt high-level binding for Telepathy, a D-Bus framework for unifying real time communication." FALSE "" "Telepathy-Qt is needed for sharing Jabber/GTalk accounts with Telepathy.\n")
else ( TOMAHAWK_QT5)
macro_log_feature(TelepathyQt4_FOUND "Telepathy-Qt" "Telepathy-Qt is a Qt high-level binding for Telepathy, a D-Bus framework for unifying real time communication." FALSE "" "Telepathy-Qt is needed for sharing Jabber/GTalk accounts with Telepathy.\n")
endif()
endif()
# we need pthreads too
macro_optional_find_package(Threads)
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
### QtSparkle
if( WIN32 )
macro_optional_find_package(QtSparkle)
macro_log_feature(QTSPARKLE_FOUND "qtsparkle" "Library for creating auto updaters written in Qt" "https://github.com/davidsansome/qtsparkle" FALSE "" "")
endif( WIN32 )
if( WIN32 OR APPLE )
if( TOMAHAWK_QT5 )
macro_optional_find_package(LibsnoreQt5 QUIET)
else()
macro_optional_find_package(Libsnore QUIET)
endif()
macro_log_feature(LIBSNORE_FOUND "Libsnore" "Library for notifications" "https://github.com/TheOneRing/Snorenotify" FALSE "" "")
endif()
set(QXTWEB_FOUND TRUE)
set(QXTWEB_LIBRARIES qxtweb-standalone)
set(QXTWEB_INCLUDE_DIRS ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/web ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/network ${THIRDPARTY_DIR}/qxt/qxtweb-standalone/core ${CMAKE_CURRENT_BINARY_DIR})
### libportfwd
set(LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include)
set(LIBPORTFWD_LIBRARY tomahawk_portfwd)
set(LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY})
add_subdirectory(${THIRDPARTY_DIR}/libportfwd)
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/eartle/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
#### submodules start
# automatically init submodules here, don't delete this code we may add submodules again
@@ -360,23 +153,24 @@ add_subdirectory(${THIRDPARTY_DIR}/libportfwd)
#### submodules end
### libportfwd
SET( LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include )
SET( LIBPORTFWD_LIBRARY tomahawk_portfwd )
SET( LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY} )
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/libportfwd )
if (WITH_KDE4)
macro_optional_find_package(KDE4)
macro_optional_find_package(KDE4Installed)
endif(WITH_KDE4)
macro_log_feature(KDE4_FOUND "KDE4" "Provides support for configuring Telepathy Accounts from inside Tomahawk" "https://www.kde.org" FALSE "" "")
# we need pthreads too
macro_optional_find_package(Threads)
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
if(NOT Phonon_FOUND)
macro_optional_find_package(Phonon 4.5.0)
endif()
macro_log_feature(Phonon_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
macro_optional_find_package(KDE4)
macro_optional_find_package(KDE4Installed)
if(Phonon_FOUND)
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
endif()
# this was used before we had FindKDE4Installed, just leaving it here to keep the flags
# for future kde integration
IF( KDE4_FOUND OR Phonon_FOUND )
# macro_optional_find_package(KDE4)
IF(KDE4_FOUND)
IF( CMAKE_C_FLAGS )
# KDE4 adds and removes some compiler flags that we don't like
# (only for gcc not for clang e.g.)
@@ -387,6 +181,10 @@ ELSE()
SET( CLEAN_C_FLAGS ${CMAKE_C_FLAGS} )
ENDIF()
IF( WIN32 )
find_library(QTSPARKLE_LIBRARIES qtsparkle)
ENDIF( WIN32 )
#show dep log
macro_display_feature_log()
@@ -398,70 +196,18 @@ CONFIGURE_FILE(
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
# KDE4 defines an uninstall target for us automatically (and at least with Qt4 Phonon does as well no matter if kdelibs was found)
# IF( NOT KDE4_FOUND )
# ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
# ENDIF()
# KDE4 defines an uninstall target for us automatically
IF( NOT KDE4_FOUND )
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
ENDIF()
IF( NOT APPLE )
# Make linking as strict on linux as it is on osx. Then we don't break linking on mac so often
SET( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined" )
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" )
ENDIF( NOT APPLE )
# Early configure these files as we need them later on
configure_file(TomahawkUse.cmake.in "${PROJECT_BINARY_DIR}/TomahawkUse.cmake" @ONLY)
file(COPY TomahawkAddPlugin.cmake DESTINATION "${PROJECT_BINARY_DIR}")
file(COPY TomahawkAddLibrary.cmake DESTINATION "${PROJECT_BINARY_DIR}")
SET( TOMAHAWK_LIBRARIES tomahawklib )
SET( TOMAHAWK_WIDGETS_LIBRARIES tomahawk-widgets )
SET( TOMAHAWK_PLAYDARAPI_LIBRARIES tomahawk-playdarapi )
ADD_SUBDIRECTORY( thirdparty )
ADD_SUBDIRECTORY( src/libtomahawk )
SET( TOMAHAWK_LIBRARIES tomahawklib )
ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( admin )
IF(BUILD_TESTS)
enable_testing()
ADD_SUBDIRECTORY( src/tests )
ENDIF()
# Add all targets to the build-tree export set
set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Tomahawk" CACHE PATH "Installation directory for CMake files")
set(CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}")
export(TARGETS tomahawklib
FILE "${PROJECT_BINARY_DIR}/TomahawkLibraryDepends.cmake")
# Export the package for use from the build-tree
# (this registers the build-tree with a global CMake-registry)
export(PACKAGE Tomahawk)
# Create a TomahawkBuildTreeSettings.cmake file for the use from the build tree
configure_file(TomahawkBuildTreeSettings.cmake.in "${PROJECT_BINARY_DIR}/TomahawkBuildTreeSettings.cmake" @ONLY)
# Create the TomahawkConfig.cmake and TomahawkConfigVersion files
file(RELATIVE_PATH CONF_REL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_CMAKEDIR}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
configure_file(TomahawkConfig.cmake.in "${PROJECT_BINARY_DIR}/TomahawkConfig.cmake" @ONLY)
configure_file(TomahawkConfigVersion.cmake.in "${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake" @ONLY)
# Install the cmake files
install(
FILES
"${PROJECT_BINARY_DIR}/TomahawkConfig.cmake"
"${PROJECT_BINARY_DIR}/TomahawkConfigVersion.cmake"
"${PROJECT_BINARY_DIR}/TomahawkUse.cmake"
"${PROJECT_BINARY_DIR}/TomahawkAddPlugin.cmake"
"${PROJECT_BINARY_DIR}/TomahawkAddLibrary.cmake"
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)
# Install the export set for use with the install-tree
install(
EXPORT
TomahawkLibraryDepends
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)

View File

@@ -0,0 +1,99 @@
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
SET(DEFAULT_ARGS)
FOREACH(arg_name ${arg_names})
SET(${prefix}_${arg_name})
ENDFOREACH(arg_name)
FOREACH(option ${option_names})
SET(${prefix}_${option} FALSE)
ENDFOREACH(option)
SET(current_arg_name DEFAULT_ARGS)
SET(current_arg_list)
FOREACH(arg ${ARGN})
SET(larg_names ${arg_names})
LIST(FIND larg_names "${arg}" is_arg_name)
IF (is_arg_name GREATER -1)
SET(${prefix}_${current_arg_name} ${current_arg_list})
SET(current_arg_name ${arg})
SET(current_arg_list)
ELSE (is_arg_name GREATER -1)
SET(loption_names ${option_names})
LIST(FIND loption_names "${arg}" is_option)
IF (is_option GREATER -1)
SET(${prefix}_${arg} TRUE)
ELSE (is_option GREATER -1)
SET(current_arg_list ${current_arg_list} ${arg})
ENDIF (is_option GREATER -1)
ENDIF (is_arg_name GREATER -1)
ENDFOREACH(arg)
SET(${prefix}_${current_arg_name} ${current_arg_list})
ENDMACRO(PARSE_ARGUMENTS)
MACRO(CAR var)
SET(${var} ${ARGV1})
ENDMACRO(CAR)
MACRO(CDR var junk)
SET(${var} ${ARGN})
ENDMACRO(CDR)
macro(add_tomahawk_plugin)
parse_arguments(PLUGIN
"SOURCES;UI;LINK_LIBRARIES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS"
"NO_INSTALL"
${ARGN}
)
car(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
# message("*** Arguments for ${PLUGIN_NAME}")
# message("Sources: ${PLUGIN_SOURCES}")
# message("Link libraries: ${PLUGIN_LINK_LIBRARIES}")
# message("UI: ${PLUGIN_UI}")
# message("TYPE: ${PLUGIN_TYPE}")
# message("EXPORT_MACRO: ${PLUGIN_EXPORT_MACRO}")
# create target name once for convenience
set(target "tomahawk_${PLUGIN_TYPE}_${PLUGIN_NAME}")
# qt stuff
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(PLUGIN_UI)
qt4_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
list(APPEND PLUGIN_SOURCES ${PLUGIN_UI_SOURCES})
endif()
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
qt4_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
list(APPEND PLUGIN_SOURCES ${PLUGIN_RC_SOURCES})
unset(PLUGIN_RC_SOURCES)
endif()
# add target
add_library(${target} MODULE ${PLUGIN_SOURCES})
# definitions - can this be moved into set_target_properties below?
add_definitions(${QT_DEFINITIONS})
set_target_properties(${target} PROPERTIES AUTOMOC TRUE COMPILE_DEFINITIONS ${PLUGIN_EXPORT_MACRO})
if(PLUGIN_COMPILE_DEFINITIONS)
# Dear CMake, i hate you! Sincerely, domme
# At least in CMake 2.8.8, you CANNOT set more than one COMPILE_DEFINITIONS value
# only takes the first one if called multiple times or bails out with wrong number of arguments
# when passing in a list, thus i redefine the export macro here in hope it won't mess up other targets
add_definitions( "-D${PLUGIN_EXPORT_MACRO}" )
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${PLUGIN_COMPILE_DEFINITIONS})
endif()
# add link targets
target_link_libraries(${target} tomahawklib)
if(PLUGIN_LINK_LIBRARIES)
target_link_libraries(${target} ${PLUGIN_LINK_LIBRARIES})
endif()
# make installation optional, maybe useful for dummy plugins one day
if(NOT PLUGIN_NO_INSTALL)
include(GNUInstallDirs)
install(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
endmacro()

View File

@@ -1,22 +0,0 @@
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,12 +0,0 @@
macro (CHECK_STD_FUNCTIONAL CXX_STD_FUNCTIONAL)
include (CheckCXXSourceCompiles)
check_cxx_source_compiles(
"
#include <functional>
using std::function;
int main()
{
return 0;
}" ${CXX_STD_FUNCTIONAL})
endmacro()

View File

@@ -1,12 +0,0 @@
macro (CHECK_STD_TR1_FUNCTIONAL CXX_STD_TR1_FUNCTIONAL)
include (CheckCXXSourceCompiles)
check_cxx_source_compiles(
"
#include <tr1/functional>
using std::tr1::function;
int main()
{
return 0;
}" ${CXX_STD_TR1_FUNCTIONAL})
endmacro()

View File

@@ -14,7 +14,7 @@ INCLUDE(CheckSymbolExists)
INCLUDE(FindLibraryWithDebug)
# try to locate a patched unstable version (for comp's sake *sigh*) first
FIND_PACKAGE(CLuceneUnstable QUIET)
FIND_PACKAGE(CLuceneUnstable)
IF(CLUCENEUNSTABLE_FOUND)
SET(CLucene_FOUND TRUE)
SET(CLUCENE_INCLUDE_DIR ${CLUCENE_UNSTABLE_INCLUDE_DIRS})
@@ -41,7 +41,6 @@ SET(TRIAL_LIBRARY_PATHS
/sw/lib${LIB_SUFFIX}
/usr/pkg/lib${LIB_SUFFIX}
/usr/lib64
/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}
)
SET(TRIAL_INCLUDE_PATHS
$ENV{CLUCENE_HOME}/include

View File

@@ -1,41 +0,0 @@
# - Find libechonest
# Find the libechonest includes and the libechonest libraries
# This module defines
# ECHONEST_INCLUDE_DIR, root echonest include dir. Include echonest includes with echonest/foo.h
# ECHONEST_LIBRARIES, the path to libechonest
# ECHONEST_FOUND, whether libechonest was found
FIND_PACKAGE(PkgConfig QUIET)
if( TOMAHAWK_QT5 )
set(LIBECHONEST_SUFFIX "5")
endif()
PKG_CHECK_MODULES(PC_ECHONEST QUIET libechonest${LIBECHONEST_SUFFIX})
FIND_PATH(ECHONEST_INCLUDE_DIR NAMES echonest/Track.h
HINTS
${PC_ECHONEST_INCLUDEDIR}
${PC_ECHONEST_INCLUDE_DIRS}
${CMAKE_INSTALL_INCLUDEDIR}
${KDE4_INCLUDE_DIR}
)
FIND_LIBRARY(ECHONEST_LIBRARIES NAMES echonest${LIBECHONEST_SUFFIX}
HINTS
${PC_ECHONEST_LIBDIR}
${PC_ECHONEST_LIBRARY_DIRS}
${CMAKE_INSTALL_LIBDIR}
${KDE4_LIB_DIR}
)
IF(ECHONEST_LIBRARIES AND ECHONEST_INCLUDE_DIR AND NOT PC_ECHONEST_VERSION)
MESSAGE(WARNING "You don't have pkg-config and so the libechonest version check does not work!")
ENDIF()
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Echonest
REQUIRED_VARS ECHONEST_LIBRARIES ECHONEST_INCLUDE_DIR
VERSION_VAR PC_ECHONEST_VERSION)
MARK_AS_ADVANCED(ECHONEST_INCLUDE_DIR ECHONEST_LIBRARIES)

View File

@@ -6,13 +6,7 @@
# LIBJREEN_FOUND, whether libjreen was found
FIND_PACKAGE(PkgConfig QUIET)
if( TOMAHAWK_QT5 )
set(JREEN_LIB_SUFFIX "-qt5")
set(JREEN_INCLUDE_SUFFIX ${JREEN_LIB_SUFFIX})
else()
set(JREEN_INCLUDE_SUFFIX "-qt4")
endif()
PKG_CHECK_MODULES(PC_JREEN QUIET libjreen${JREEN_LIB_SUFFIX})
PKG_CHECK_MODULES(PC_JREEN QUIET libjreen)
FIND_PATH(JREEN_INCLUDE_DIR NAMES jreen/jreen.h
HINTS
@@ -20,12 +14,9 @@ FIND_PATH(JREEN_INCLUDE_DIR NAMES jreen/jreen.h
${PC_JREEN_INCLUDE_DIRS}
${CMAKE_INSTALL_INCLUDEDIR}
${KDE4_INCLUDE_DIR}
PATH_SUFFIXES
jreen${JREEN_INCLUDE_SUFFIX}
)
FIND_LIBRARY(JREEN_LIBRARIES NAMES jreen${JREEN_LIB_SUFFIX}
FIND_LIBRARY(JREEN_LIBRARIES NAMES jreen
HINTS
${PC_JREEN_LIBDIR}
${PC_JREEN_LIBRARY_DIRS}

View File

@@ -0,0 +1,42 @@
# - Find libechonest
# Find the libechonest includes and the libechonest libraries
# This module defines
# LIBECHONEST_INCLUDE_DIR, root echonest include dir. Include echonest includes with echonest/foo.h
# LIBECHONEST_LIBRARY, the path to libechonest
# LIBECHONEST_FOUND, whether libechonest was found
find_path(LIBECHONEST_INCLUDE_DIR NAMES echonest_export.h
HINTS
~/usr/include
/opt/local/include
/usr/include
/usr/local/include
/opt/kde4/include
${KDE4_INCLUDE_DIR}
PATH_SUFFIXES echonest
)
find_library( LIBECHONEST_LIBRARY NAMES echonest
PATHS
~/usr/lib
/opt/local/lib
/usr/lib
/usr/lib64
/usr/local/lib
/opt/kde4/lib
${KDE4_LIB_DIR}
)
if(LIBECHONEST_INCLUDE_DIR AND LIBECHONEST_LIBRARY)
set(LIBECHONEST_FOUND TRUE)
message(STATUS "Found libechonest: ${LIBECHONEST_INCLUDE_DIR}, ${LIBECHONEST_LIBRARY}")
else(LIBECHONEST_INCLUDE_DIR AND LIBECHONEST_LIBRARY)
set(LIBECHONEST_FOUND FALSE)
if (LIBECHONEST_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find required package libechonest")
endif(LIBECHONEST_FIND_REQUIRED)
endif(LIBECHONEST_INCLUDE_DIR AND LIBECHONEST_LIBRARY)
mark_as_advanced(LIBECHONEST_INCLUDE_DIR LIBECHONEST_LIBRARY)

View File

@@ -7,6 +7,11 @@
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
# Dependencies
if(NOT QT4_FOUND)
find_package(Qt4 REQUIRED)
endif()
# Include dir
find_path(LIBLASTFM_INCLUDE_DIR
# Track.h doesn't exist in liblastfm-0.3.1, was called Track back then

View File

@@ -11,14 +11,27 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
macro(_phonon_find_version)
set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h")
if (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
endif (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
file(READ ${_phonon_namespace_header_file} _phonon_header LIMIT 5000 OFFSET 1000)
string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}")
set(PHONON_VERSION "${CMAKE_MATCH_1}")
endmacro(_phonon_find_version)
# the dirs listed with HINTS are searched before the default sets of dirs
find_library(PHONON_LIBRARY NAMES phonon HINTS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR})
find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h HINTS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR})
if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY})
set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}/KDE ${PHONON_INCLUDE_DIR})
_phonon_find_version()
endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Phonon DEFAULT_MSG PHONON_INCLUDE_DIR PHONON_LIBRARY)
if( TOMAHAWK_QT5 )
find_package(Phonon4Qt5 NO_MODULE)
set(Phonon_FOUND ${Phonon4Qt5_FOUND})
set(Phonon_DIR ${Phonon4Qt5_DIR})
else()
find_package(Phonon NO_MODULE)
endif()
find_package_handle_standard_args(Phonon DEFAULT_MSG Phonon_DIR )
mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY)

View File

@@ -6,24 +6,45 @@
# QJSON_INCLUDE_DIR - the include path of the qjson library
#
find_library (QJSON_LIBRARIES
if (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
# Already in cache
set (QJSON_FOUND TRUE)
else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
if (NOT WIN32)
# use pkg-config to get the values of QJSON_INCLUDE_DIRS
# and QJSON_LIBRARY_DIRS to add as hints to the find commands.
include (FindPkgConfig)
pkg_check_modules (QJSON REQUIRED QJson>=0.5)
endif (NOT WIN32)
find_library (QJSON_LIBRARIES
NAMES
qjson
PATHS
${QJSON_LIBRARY_DIRS}
${LIB_INSTALL_DIR}
${KDE4_LIB_DIR}
)
)
find_path (QJSON_INCLUDE_DIR
find_path (QJSON_INCLUDE_DIR
NAMES
qjson/parser.h
parser.h
PATH_SUFFIXES
qjson
PATHS
${QJSON_INCLUDE_DIRS}
${INCLUDE_INSTALL_DIR}
${KDE4_INCLUDE_DIR}
)
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(QJSON DEFAULT_MSG QJSON_LIBRARIES QJSON_INCLUDE_DIR)
if ( UNIX AND NOT APPLE )
set ( QJSON_LIBRARIES "${QJSON_LIBRARIES} ${QJSON_LDFLAGS}" CACHE INTERNAL "")
endif ()
endif (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)

View File

@@ -0,0 +1,31 @@
# - Try to find QTweetLib
#
# QTWEETLIB_FOUND - system has QTweetLib
# QTWEETLIB_INCLUDE_DIRS - the QTweetLib include directories
# QTWEETLIB_LIBRARIES - link these to use QTweetLib
#
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
#
# Dependencies
find_package(Qt4 REQUIRED)
# Include dir
find_path(QTWEETLIB_INCLUDE_DIR
NAMES QTweetLib/qtweetlib_global.h
PATHS ${KDE4_INCLUDE_DIR}
)
# Finally the library itself
find_library(QTWEETLIB_LIBRARY
NAMES QTweetLib
PATHS ${KDE4_LIB_DIR}
)
SET( QTWEETLIB_LIBRARIES ${QTWEETLIB_LIBRARY} ${QJSON_LIBRARIES} )
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(QTweetLib DEFAULT_MSG QTWEETLIB_LIBRARY QTWEETLIB_INCLUDE_DIR)
MARK_AS_ADVANCED(QTWEETLIB_LIBRARIES QTWEETLIB_INCLUDE_DIR)

View File

@@ -1,24 +0,0 @@
# - Find qtsparkle
# Find the qtsparkle includes and the qtsparkle libraries
# This module defines
# QTSPARKLE_INCLUDE_DIR, root qtsparkle include dir. Include qtsparkle includes with qtsparkle/foo.h
# QTSPARKLE_LIBRARY, the path to qtsparkle
# QTSPARKLE_FOUND, whether qtsparkle was found
FIND_PATH(QTSPARKLE_INCLUDE_DIR NAMES qtsparkle/Updater
HINTS
${CMAKE_INSTALL_INCLUDEDIR}
${KDE4_INCLUDE_DIR}
)
FIND_LIBRARY(QTSPARKLE_LIBRARIES NAMES qtsparkle
HINTS
${CMAKE_INSTALL_LIBDIR}
${KDE4_LIB_DIR}
)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(QtSparkle
REQUIRED_VARS QTSPARKLE_LIBRARIES QTSPARKLE_INCLUDE_DIR)
MARK_AS_ADVANCED(QTSPARKLE_INCLUDE_DIR QTSPARKLE_LIBRARIES)

View File

@@ -1,10 +1,11 @@
find_path(QuaZip_INCLUDE_DIR quazip/quazip.h ${CMAKE_INSTALL_PREFIX}/include/quazip ${CMAKE_INSTALL_PREFIX}/include /usr/include/quazip /usr/local/include/quazip ${QT_INCLUDE_DIR}/quazip ${QT_INCLUDE_DIR} ${QUAZIP_DIR}/include/quazip ${QUAZIP_DIR}/quazip ${QUAZIP_DIR}/include)
find_package(Qt4)
find_path(QuaZip_INCLUDE_DIR quazip.h ${CMAKE_INSTALL_PREFIX}/include/quazip ${CMAKE_INSTALL_PREFIX}/include /usr/include/quazip /usr/local/include/quazip ${QT_INCLUDE_DIR}/quazip ${QT_INCLUDE_DIR} ${QUAZIP_DIR}/include/quazip ${QUAZIP_DIR}/quazip ${QUAZIP_DIR}/include)
find_library(QuaZip_LIBRARY NAMES quazip PATHS ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/Library/Frameworks ${QUAZIP_DIR}/lib64 ${QUAZIP_DIR}/lib ${QUAZIP_DIR}/quazip ${QUAZIP_DIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(quazip DEFAULT_MSG QuaZip_LIBRARY QuaZip_INCLUDE_DIR)
set(QuaZip_LIBRARIES ${QuaZip_LIBRARY})
mark_as_advanced(QuaZip_LIBRARY QuaZip_INCLUDE_DIR)
if(QuaZip_LIBRARY AND QuaZip_INCLUDE_DIR)
set(QuaZip_FOUND TRUE)
if(QuaZip_LIBRARY AND QuaZip_INCLUDE_DIR)
set(QuaZip_FOUND TRUE)
endif()

View File

@@ -1,25 +0,0 @@
# - Find google-sparsehash
# Find the google-sparsehash includes
# This module defines
# SPARSEHASH_INCLUDE_DIR, root jreen include dir.
# SPARSEHASH_FOUND, whether libjreen was found
FIND_PACKAGE(PkgConfig QUIET)
PKG_CHECK_MODULES(PC_SPARSEHASH QUIET libsparsehash)
FIND_PATH(SPARSEHASH_INCLUDE_DIR NAMES google/sparsetable
HINTS
${PC_SPARSEHASH_INCLUDEDIR}
${PC_SPARSEHASH_INCLUDE_DIRS}
${CMAKE_INSTALL_INCLUDEDIR}
)
IF(SPARSEHASH_INCLUDE_DIR AND NOT PC_SPARSEHASH_VERSION)
MESSAGE(WARNING "You don't have pkg-config and so the google-sparsehash version check does not work!")
ENDIF()
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sparsehash
REQUIRED_VARS SPARSEHASH_INCLUDE_DIR)
MARK_AS_ADVANCED(SPARSEHASH_INCLUDE_DIR)

View File

@@ -1,27 +0,0 @@
# Copyright (c) 2013, Teo Mrnjavac <teo@kde.org>
include(FindPackageHandleStandardArgs)
if( NOT BUILD_WITH_QT4 )
find_package(TelepathyQt5 NO_MODULE)
set(TelepathyQt_FOUND ${TelepathyQt5_FOUND})
set(TELEPATHY_QT_VERSION ${TELEPATHY_QT5_VERSION})
set(TELEPATHY_QT_INSTALL_DIR ${TELEPATHY_QT5_INSTALL_DIR})
set(TELEPATHY_QT_INCLUDE_DIR ${TELEPATHY_QT5_INCLUDE_DIR})
set(TELEPATHY_QT_LIB_DIR ${TELEPATHY_QT5_LIB_DIR})
set(TELEPATHY_QT_SHARE_DIR ${TELEPATHY_QT5_SHARE_DIR})
set(TELEPATHY_QT_LIBRARIES ${TELEPATHY_QT5_LIBRARIES})
else()
find_package(TelepathyQt4 NO_MODULE)
set(TelepathyQt_FOUND ${TelepathyQt4_FOUND})
set(TELEPATHY_QT_VERSION ${TELEPATHY_QT4_VERSION})
set(TELEPATHY_QT_INSTALL_DIR ${TELEPATHY_QT4_INSTALL_DIR})
set(TELEPATHY_QT_INCLUDE_DIR ${TELEPATHY_QT4_INCLUDE_DIR})
set(TELEPATHY_QT_LIB_DIR ${TELEPATHY_QT4_LIB_DIR})
set(TELEPATHY_QT_SHARE_DIR ${TELEPATHY_QT4_SHARE_DIR})
set(TELEPATHY_QT_LIBRARIES ${TELEPATHY_QT4_LIBRARIES})
endif()
set(TELEPATHY_QT_FOUND ${TelepathyQt_FOUND})
find_package_handle_standard_args(TelepathyQt DEFAULT_MSG TELEPATHY_QT_INSTALL_DIR )

View File

@@ -34,9 +34,6 @@
!define NSI_PATH "${SOURCE_PATH}/admin/win/nsi"
;define app id needed for Windows 8 notifications
!define AppUserModelId org.tomahawk-player.Tomahawk
;-----------------------------------------------------------------------------
; Installer version
;-----------------------------------------------------------------------------
@@ -277,11 +274,11 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${INSTALL_PATH}\bin\tomahawk.exe"
File "${INSTALL_PATH}\bin\tomahawk_crash_reporter.exe"
File "${INSTALL_PATH}\bin\libtomahawk_breakpad.dll"
File "${INSTALL_PATH}\bin\libtomahawk.dll"
File "${INSTALL_PATH}\bin\libtomahawk-widgets.dll"
File "${INSTALL_PATH}\bin\libtomahawk-playdarapi.dll"
File "${INSTALL_PATH}\bin\libqxtweb-standalone.dll"
File "${INSTALL_PATH}\bin\libtomahawk_portfwd.dll"
File "${INSTALL_PATH}\bin\libtomahawklib.dll"
; plugins
File "${INSTALL_PATH}\lib\libtomahawk_*_*.dll"
!endif
@@ -290,11 +287,11 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${BUILD_PATH}\tomahawk.exe"
File "${BUILD_PATH}\tomahawk_crash_reporter.exe"
File "${BUILD_PATH}\libtomahawk_breakpad.dll"
File "${BUILD_PATH}\libtomahawk.dll"
File "${BUILD_PATH}\libtomahawk-widgets.dll"
File "${BUILD_PATH}\libtomahawk-playdarapi.dll"
File "${BUILD_PATH}\libtomahawklib.dll"
File "${BUILD_PATH}\libqxtweb-standalone.dll"
File "${BUILD_PATH}\libtomahawk_portfwd.dll"
; plugins
File "${BUILD_PATH}\libtomahawk_*_*.dll"
!endif
@@ -312,21 +309,16 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${QT_DLL_PATH}\QtUiTools4.dll"
File "${QT_DLL_PATH}\QtWebKit4.dll"
File "${QT_DLL_PATH}\QtXml4.dll"
File "${QT_DLL_PATH}\QtSvg4.dll"
File "${QT_DLL_PATH}\QtDeclarative4.dll"
File "${QT_DLL_PATH}\QtXmlPatterns4.dll"
;SQLite driver
SetOutPath "$INSTDIR\sqldrivers"
File "${SQLITE_DLL_PATH}\qsqlite4.dll"
SetOutPath "$INSTDIR"
File "${MING_BIN}\libsqlite3-0.dll"
;Image plugins
SetOutPath "$INSTDIR\imageformats"
File "${IMAGEFORMATS_DLL_PATH}\qgif4.dll"
File "${IMAGEFORMATS_DLL_PATH}\qjpeg4.dll"
File "${IMAGEFORMATS_DLL_PATH}\qsvg4.dll"
SetOutPath "$INSTDIR"
;Cygwin/c++ stuff
@@ -352,50 +344,26 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
; Other
File "${MING_BIN}\libqjson.dll"
File "${MING_BIN}\libtag.dll"
File "${MING_BIN}\libpng16-16.dll"
File "${MING_BIN}\libpng15-15.dll"
File "${MING_BIN}\libjpeg-8.dll"
File "${MING_BIN}\zlib1.dll"
File "${MING_BIN}\libechonest.dll"
File "${MING_BIN}\liblastfm.dll"
File "${MING_BIN}\libQTweetLib.dll"
File "${MING_BIN}\libquazip.dll"
File "${MING_BIN}\libqtkeychain.dll"
; GnuTLS
File "${MING_BIN}\libgnutls-28.dll"
File "${MING_BIN}\libtasn1-6.dll"
File "${MING_BIN}\libgmp-10.dll"
File "${MING_BIN}\libhogweed-2-4.dll"
File "${MING_BIN}\libintl-8.dll"
File "${MING_BIN}\libnettle-4-6.dll"
File "${MING_BIN}\libp11-kit-0.dll"
File "${MING_BIN}\libffi-6.dll"
; Snorenotify
File "${MING_BIN}\SnoreToast.exe"
File "${MING_BIN}\libsnore.dll"
File "${MING_LIB}\libsnore\libsnore_backend_growl.dll"
File "${MING_LIB}\libsnore\libsnore_backend_snarl.dll"
File "${MING_LIB}\libsnore\libsnore_backend_snore.dll"
File "${MING_LIB}\libsnore\libsnore_backend_snoretoast.dll"
; Snoregrowl
File "${MING_BIN}\libsnoregrowl++.dll"
File "${MING_BIN}\libsnoregrowl.dll"
; Jabber
File "${MING_BIN}\libjreen.dll"
File "${MING_BIN}\libidn-11.dll"
File "${MING_BIN}\libgsasl-7.dll"
File "${MING_BIN}\libqca.dll"
SetOutPath "$INSTDIR\crypto"
File "${MING_LIB}\qt4\plugins\crypto\libqca-ossl.dll"
SetOutPath "$INSTDIR"
File "${MING_BIN}\libssl-10.dll"
File "${MING_BIN}\libcrypto-10.dll"
File "${MING_BIN}\libssl-8.dll"
File "${MING_BIN}\libcrypto-8.dll"
File "${MING_BIN}\libclucene-core.dll"
File "${MING_BIN}\libclucene-shared.dll"
File "${MING_LIB}\libclucene-core.dll"
File "${MING_LIB}\libclucene-shared.dll"
File "${MING_BIN}\libqtsparkle.dll"
File "${MING_BIN}\libattica.dll"
@@ -414,7 +382,6 @@ SectionGroup "Shortcuts"
CreateDirectory "$SMPROGRAMS\Tomahawk"
CreateShortCut "$SMPROGRAMS\Tomahawk\LICENSE.lnk" "$INSTDIR\LICENSE.txt"
CreateShortCut "$SMPROGRAMS\Tomahawk\Tomahawk.lnk" "$INSTDIR\tomahawk.exe"
WinShell::SetLnkAUMI "$SMPROGRAMS\Tomahawk\Tomahawk.lnk" "${AppUserModelId}"
CreateShortCut "$SMPROGRAMS\Tomahawk\Release notes.lnk" "$INSTDIR\NOTES.txt"
CreateShortCut "$SMPROGRAMS\Tomahawk\Uninstall.lnk" "$INSTDIR\uninstall.exe"
SetShellVarContext current
@@ -553,16 +520,12 @@ Section Uninstall
DeleteRegValue HKLM "Software\Tomahawk" "VersionRevision"
DeleteRegValue HKLM "Software\Tomahawk" ""
DeleteRegKey HKLM "Software\Tomahawk"
DeleteRegKey HKCR "Software\Tomahawk"
DeleteRegKey HKCR "Software\TomahawkSpotify"
DeleteRegKey HKCR "tomahawk"
;Start menu shortcuts.
!ifdef OPTION_SECTION_SC_START_MENU
SetShellVarContext all
WinShell::UninstAppUserModelId "${AppUserModelId}"
WinShell::UninstShortcut "$SMPROGRAMS\Tomahawk\Tomahawk.lnk"
RMDir /r "$SMPROGRAMS\Tomahawk"
SetShellVarContext current
!endif

113
ChangeLog
View File

@@ -1,116 +1,3 @@
Version 0.9.0:
Version 0.8.0:
* Playback Queue now saves its state across sessions.
* Added "Inbox" feature, showing incoming song recommendations. Dropping
a track on a user in the sidebar sends a recommendation to them.
* You will now be asked whether you want to trust invalid SSL certificates.
* Improved connecting between Tomahawk peers and support having multiple IPs
(including IPv6).
* Added Trending page, showing you the most played tracks of your friends recently,
trending songs and playlists.
* Removed Top Loved from sidebar.
* JavaScript-Resolver can now handle URLs (e.g. when dropped from a browser)
and resolve them to Playlists/Tracks/Artists/Albums.
* HTTP(S) streaming is now done by Tomahawk instead of the Phonon backend
(fixed HTTPS streaming on MacOS).
* Heavily reduced memory footprint during and after indexing the database.
* New Loved widget shows what friends have loved tracks throughout the app.
* New Artist, Album and Track page design - new fonts, colors, layout.
* Retina display and DPI scaling fixes.
* New Dashboard layout.
* New Stats widget.
* New Collection views.
* Added Telepathy support.
* Plugin refactoring (and .AXE resolver binaries).
* Removed Twitter due to change in Twitter's API.
* Improved error messages.
* Support drag & drop of items from Artist and Album page headers.
* Added basic remote control API.
* Add support for Opus codec in local files (requires TagLib 1.9).
* Support rtmp:// streams.
* Drop QJson as a dependency for Qt5.
* Support additional headers in CustomUrlHandler.
* Fuzzy search indices for JS Resolvers.
* Add metadata retrieval of HTTP(S) streams in JavaScript resolvers.
* New Dependencies: google-sparsehash, GnuTLS.
* Flat Collection View.
* Support for Windows, OS X and Growl notifications.
Version 0.7.0:
* JavaScript Resolvers can now expose collections.
* Introduced bundle system for JavaScript Resolvers, called "axes".
* Fixed playback-loop caused by duplicate tracks in a playlist.
* Improved peer handling and removed connection support through Twitter.
* Taking an account offline now also disconnects associated peers.
* Improved spotify protocol handling.
* Added "Append to Playlist" context menu item.
* User-friendlier collection handling: added info-buttons for artists and
albums. Double-clicking an item expands it now.
* Charts only load on-demand now.
* Fixed Diagnostics information not correctly updating.
* Fixed issue with hidden sidebar and panels.
* Fixed issues with some color schemes.
* Fixed playing files with special characters in the filename.
* Improved stability.
* Added translations for Catalan, Czech, Galician, Greek, Italian and
Chinese.
* (Windows) Smoother and more responsive audio playback.
* (Linux) Fixed grid issues with GTK-styles.
Version 0.6.1:
* Improved stability.
* Improved UPnP detection and port-forwarding.
* Fixed scrolling behaviour of grid-views.
* Lots of small design tweaks and fixes.
Version 0.6.0:
* Improved icon theme with vector graphics.
* Higher resolution artist and album images.
* You can now click artists, albums and tracks mentioned in artists'
biographies.
* New AudioControl logic - only enable Prev/Skip buttons if available.
* Added more options to right-click/context menus.
* Resolver source icon in Audiocontrols now supports being a link-back URL
to original source.
* Make friends' currently playing song (in sidebar) clickable.
* Improve MusicBrainz plugin to use normalized artist names and avoid
duplicate tracks.
* Access Control queries now stay on the bottom of the job view, removing
the tendency to jump away from the mouse.
* Improved random mode, preventing songs from being played in too rapid
succession.
* You can now choose between various view modes for your playlists.
* Nicer layout for the Artist, Album & Track pages.
* Follow HTTP redirects when fetching Playlists.
* Main menu can now be hidden and instead be shown as a toolbar button.
* Connectivity controls in the toolbar.
* Cleaned up settings dialog.
* Ability to sync Spotify Starred Tracks with Tomahawk's Loved Tracks.
* Remove YouTube resolver from plug-in directory on request of YouTube.
* Fixed iTunes m3u playlist support.
* Support dropping of new Soundcloud user, track, set & likes URLs.
* Added HotNewHipHop as available chart.
* Added iTunes as available source for New Releases.
* Updates and additions to translations including: Japanese, Bulgarian,
Finnish, Russian, Arabic, Chinese, Swedish, Czech and more.
* (Windows) Added thumb buttons to Windows 7's taskbar.
* (Linux) Allow disabling of playback notifications.
Version 0.5.5:
* Changed the Spotify config dialog to indicate when the user
is logged in.
* Fixed bug where the wrong avatar could be shown for a user.
* Fixed shortcuts not working in the global search field on OS X.
* Fixed The Echo Nest stations.
* Code-signed executable on OS X for GateKeeper.
* Fixed logging in to Spotify when pressing return in the config dialog.
* Fixed queue not auto-collapsing when playing the last track.
* Fixed bug where album listings would fail to show up.
* Improved stability.
* Fixed bug where it was not possible to drop a mixture of resolved
and unresolved tracks onto a playlist.
Version 0.5.4:
* Improved stability.
* Added support for Spotify album lookups.

51
README Normal file
View File

@@ -0,0 +1,51 @@
Compiling Tomahawk
------------------
$ mkdir build && cd build
$ cmake ..
$ make
Start the application on Linux:
$ ./tomahawk
Start the application on OS X:
$ open tomahawk.app
Detailed building instructions for Ubuntu
-----------------------------------------
See: http://wiki.tomahawk-player.org/mediawiki/index.php/Building_Ubuntu_Binary_on_Precise_(12.04)
Detailed building instructions for OS X
---------------------------------------
See: http://wiki.tomahawk-player.org/mediawiki/index.php/Building_OS_X_Application_Bundle_on_Snow_Leopard_(10.6)_and_Lion_(10.7)
Doxygen Documentation
---------------------
See: http://dev.tomahawk-player.org/api/classes.html
Dependencies
------------
CMake 2.8.6 - http://www.cmake.org/
Qt 4.7.0 - http://qt.nokia.com/
QJson 0.7.1 - http://qjson.sourceforge.net/
SQLite 3.6.22 - http://www.sqlite.org/
TagLib 1.6.2 - http://developer.kde.org/~wheeler/taglib.html
Boost 1.3 - http://www.boost.org/
CLucene 0.9.23 (0.9.21 will fail) - http://clucene.sourceforge.net/download.shtml
libechonest 1.2.1 - http://projects.kde.org/projects/playground/libs/libechonest/
Attica 0.4.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
QuaZip 0.4.3 - http://quazip.sourceforge.net/
The following dependencies are optional, but recommended:
Jreen 1.0.5 - http://qutim.org/jreen / https://github.com/euroelessar/jreen
QTweetLib 0.5.0 - https://github.com/minimoog/QTweetLib
liblastfm 1.0.1 - http://github.com/eartle/liblastfm/
Third party libraries that we ship with our source:
MiniUPnP 1.6 - http://miniupnp.free.fr/
Enjoy!

View File

@@ -1,69 +0,0 @@
Tomahawk
========
Compiling and running Tomahawk
------------------------------
Compile:
$ mkdir build && cd build
$ cmake ..
$ make
Start the application on Linux:
$ ./tomahawk
Start the application on OS X:
$ open tomahawk.app
Detailed building instructions for Ubuntu
-----------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_on_Ubuntu
Detailed building instructions for OS X
---------------------------------------
See: http://wiki.tomahawk-player.org/index.php/Building_OS_X_Application_Bundle
Doxygen Documentation
---------------------
See: http://dev.tomahawk-player.org/api/classes.html
Dependencies
------------
Required dependencies:
* CMake 2.8.6 - http://www.cmake.org/
* Qt 4.7.0 - http://qt-project.org/
* Phonon 4.6.0 - http://phonon.kde.org/
* QJson 0.8.1 - http://qjson.sourceforge.net/
* SQLite 3.6.22 - http://www.sqlite.org/
* TagLib 1.8 - http://developer.kde.org/~wheeler/taglib.html
* Boost 1.3 - http://www.boost.org/
* CLucene 0.9.23 (0.9.21 will fail) - http://clucene.sourceforge.net/download.shtml
* libechonest 2.2.0 - http://projects.kde.org/projects/playground/libs/libechonest/
* Attica 0.4.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
* QuaZip 0.4.3 - http://quazip.sourceforge.net/
* liblastfm 1.0.1 - https://github.com/lastfm/liblastfm/
* QtKeychain 0.1 - https://github.com/frankosterfeld/qtkeychain/
* Sparsehash - https://code.google.com/p/sparsehash/
* GnuTLS - http://gnutls.org/
The following dependencies are optional, but recommended:
* Jreen 1.0.5 (1.1.0 will fail, 1.1.1 is fine) - http://qutim.org/jreen/
* Snorenotify - https://github.com/Snorenotify/Snorenotify/
Third party libraries that we ship with our source:
* MiniUPnP 1.6 - http://miniupnp.free.fr/
* Qocoa - https://github.com/mikemcquaid/Qocoa/
* libqnetwm - http://code.google.com/p/libqnetwm/
* libqxt (QxtWeb module) - http://libqxt.org/
* SPMediaKeyTap - https://github.com/nevyn/SPMediaKeyTap/
* kdSingleApplicationGuard - http://www.kdab.com/
Enjoy!

View File

@@ -1,116 +0,0 @@
include( CMakeParseArguments )
function(tomahawk_add_library)
# parse arguments (name needs to be saved before passing ARGN into the macro)
set(NAME ${ARGV0})
set(options NO_INSTALL NO_VERSION)
set(oneValueArgs NAME TYPE EXPORT_MACRO TARGET TARGET_TYPE EXPORT VERSION SOVERSION INSTALL_BINDIR)
set(multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS QT5_MODULES)
cmake_parse_arguments(LIBRARY "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(LIBRARY_NAME ${NAME})
# message("*** Arguments for ${LIBRARY_NAME}")
# message("Sources: ${LIBRARY_SOURCES}")
# message("Link libraries: ${LIBRARY_LINK_LIBRARIES}")
# message("UI: ${LIBRARY_UI}")
# message("TARGET_TYPE: ${LIBRARY_TARGET_TYPE}")
# message("EXPORT_MACRO: ${LIBRARY_EXPORT_MACRO}")
# message("NO_INSTALL: ${LIBRARY_NO_INSTALL}")
set(target ${LIBRARY_NAME})
# qt stuff
include_directories(${CMAKE_CURRENT_LIST_DIR})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
if(LIBRARY_UI)
qt_wrap_ui(LIBRARY_UI_SOURCES ${LIBRARY_UI})
list(APPEND LIBRARY_SOURCES ${LIBRARY_UI_SOURCES})
endif()
# add resources from current dir
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
qt_add_resources(LIBRARY_RC_SOURCES "resources.qrc")
list(APPEND LIBRARY_SOURCES ${LIBRARY_RC_SOURCES})
unset(LIBRARY_RC_SOURCES)
endif()
# add target
if(LIBRARY_TARGET_TYPE STREQUAL "STATIC")
add_library(${target} STATIC ${LIBRARY_SOURCES})
elseif(LIBRARY_TARGET_TYPE STREQUAL "MODULE")
add_library(${target} MODULE ${LIBRARY_SOURCES})
else() # default
add_library(${target} SHARED ${LIBRARY_SOURCES})
endif()
# HACK: add qt modules - every lib should define its own set of modules
qt5_use_modules(${target} Core Network Widgets Sql Xml DBus ${LIBRARY_QT5_MODULES})
# definitions - can this be moved into set_target_properties below?
add_definitions(${QT_DEFINITIONS})
set_target_properties(${target} PROPERTIES AUTOMOC TRUE)
add_definitions(${TOMAHAWK_DEFINITIONS})
if(LIBRARY_EXPORT_MACRO)
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${LIBRARY_EXPORT_MACRO})
endif()
if(LIBRARY_COMPILE_DEFINITIONS)
# Dear CMake, i hate you! Sincerely, domme
# At least in CMake 2.8.8, you CANNOT set more than one COMPILE_DEFINITIONS value
# only takes the first one if called multiple times or bails out with wrong number of arguments
# when passing in a list, thus i redefine the export macro here in hope it won't mess up other targets
# Dear domme,
# "The COMPILE_DEFINITIONS property may be set to a semicolon-separated list"
# Sincerely, CMake Documentation
add_definitions( "-D${LIBRARY_EXPORT_MACRO}" )
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${LIBRARY_COMPILE_DEFINITIONS})
endif()
# add link targets
target_link_libraries(${target} ${TOMAHAWK_LIBRARIES})
if(LIBRARY_LINK_LIBRARIES)
target_link_libraries(${target} ${LIBRARY_LINK_LIBRARIES})
endif()
if(LIBRARY_LINK_PRIVATE_LIBRARIES)
target_link_libraries(${target} LINK_PRIVATE ${LIBRARY_LINK_PRIVATE_LIBRARIES})
endif()
# add soversion
if(NOT LIBRARY_NO_VERSION)
set_target_properties(${target} PROPERTIES VERSION ${LIBRARY_VERSION})
if(NOT LIBRARY_SOVERSION)
set(LIBRARY_SOVERSION ${LIBRARY_VERSION})
endif()
set_target_properties(${target} PROPERTIES SOVERSION ${LIBRARY_SOVERSION})
endif()
if(NOT LIBRARY_INSTALL_BINDIR)
set(LIBRARY_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}")
endif()
# make installation optional, maybe useful for dummy plugins one day
if(NOT LIBRARY_NO_INSTALL)
include(GNUInstallDirs)
if(NOT LIBRARY_EXPORT)
install( TARGETS ${target}
RUNTIME DESTINATION ${LIBRARY_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
else()
install( TARGETS ${target}
EXPORT ${LIBRARY_EXPORT}
RUNTIME DESTINATION ${LIBRARY_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
endif()
endif()
endfunction()

View File

@@ -1,55 +0,0 @@
include( CMakeParseArguments )
include( ${TOMAHAWK_CMAKE_DIR}/TomahawkAddLibrary.cmake )
function(tomahawk_add_plugin)
# parse arguments (name needs to be saved before passing ARGN into the macro)
set(NAME ${ARGV0})
set(options NO_INSTALL SHARED_LIB)
set(oneValueArgs NAME TYPE EXPORT_MACRO)
set(multiValueArgs SOURCES UI LINK_LIBRARIES COMPILE_DEFINITIONS)
cmake_parse_arguments(PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(PLUGIN_NAME ${NAME})
# message("*** Arguments for ${PLUGIN_NAME}")
# message("Sources: ${PLUGIN_SOURCES}")
# message("Link libraries: ${PLUGIN_LINK_LIBRARIES}")
# message("UI: ${PLUGIN_UI}")
# message("TYPE: ${PLUGIN_TYPE}")
# message("EXPORT_MACRO: ${PLUGIN_EXPORT_MACRO}")
# message("NO_INSTALL: ${PLUGIN_NO_INSTALL}")
# create target name once for convenience
set(target "tomahawk_${PLUGIN_TYPE}_${PLUGIN_NAME}")
# determine target type
if(NOT ${PLUGIN_SHARED_LIB})
set(target_type "MODULE")
else()
set(target_type "SHARED")
endif()
list(APPEND tomahawk_add_library_args
"${target}"
"EXPORT_MACRO" "${PLUGIN_EXPORT_MACRO}"
"TARGET_TYPE" "${target_type}"
"SOURCES" "${PLUGIN_SOURCES}"
)
if(PLUGIN_UI)
list(APPEND tomahawk_add_library_args "UI" "${PLUGIN_UI}")
endif()
if(PLUGIN_LINK_LIBRARIES)
list(APPEND tomahawk_add_library_args "LINK_LIBRARIES" "${PLUGIN_LINK_LIBRARIES}")
endif()
if(PLUGIN_COMPILE_DEFINITIONS)
list(APPEND tomahawk_add_library_args "COMPILE_DEFINITIONS" ${PLUGIN_COMPILE_DEFINITIONS})
endif()
list(APPEND tomahawk_add_library_args "NO_VERSION")
list(APPEND tomahawk_add_library_args "INSTALL_BINDIR" "${CMAKE_INSTALL_LIBDIR}")
tomahawk_add_library(${tomahawk_add_library_args})
endfunction()

View File

@@ -1,4 +0,0 @@
set(TOMAHAWK_INCLUDE_DIRS
"@PROJECT_SOURCE_DIR@/src/libtomahawk"
"@PROJECT_BINARY_DIR@/src/libtomahawk"
)

View File

@@ -7,7 +7,7 @@ SET( CPACK_PACKAGE_FILE_NAME tomahawk-${TOMAHAWK_VERSION} ) # Package file n
# CPACK_GENERATOR CPack generator to be used STGZ;TGZ;TZ
# CPACK_INCLUDE_TOPLEVEL_DIRECTORY Controls whether CPack adds a top-level directory, usually of the form ProjectName-Version-OS, to the top of package tree. 0 to disable, 1 to enable
# CPACK_INSTALL_CMAKE_PROJECTS List of four values: Build directory, Project Name, Project Component, Directory in the package /home/andy/vtk/CMake-bin;CMake;ALL;/
SET( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md" ) # File used as a description of a project /path/to/project/ReadMe.txt
SET( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README" ) # File used as a description of a project /path/to/project/ReadMe.txt
SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY ${TOMAHAWK_DESCRIPTION_SUMMARY} ) # Description summary of a project
# CPACK_PACKAGE_EXECUTABLES List of pairs of executables and labels. Used by the NSIS generator to create Start Menu shortcuts. ccmake;CMake
SET( CPACK_PACKAGE_INSTALL_DIRECTORY ${TOMAHAWK_APPLICATION_NAME} ) # Installation directory on the target system -> C:\Program Files\fellody

View File

@@ -1,21 +0,0 @@
# - Config file for the Tomahawk package
# It defines the following variables
# TOMAHAWK_INCLUDE_DIRS - include directories for Tomahawk
# TOMAHAWK_LIBRARIES - libraries to link against
# TOMAHAWK_EXECUTABLE - the bar executable
# Compute paths
get_filename_component(TOMAHAWK_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
if(EXISTS "${TOMAHAWK_CMAKE_DIR}/CMakeCache.txt")
# In build tree
include("${TOMAHAWK_CMAKE_DIR}/TomahawkBuildTreeSettings.cmake")
else()
set(TOMAHAWK_INCLUDE_DIRS "${TOMAHAWK_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@/libtomahawk")
endif()
# Our library dependencies (contains definitions for IMPORTED targets)
include("${TOMAHAWK_CMAKE_DIR}/TomahawkLibraryDepends.cmake")
# These are IMPORTED targets created by TomahawkLibraryDepends.cmake
set(TOMAHAWK_LIBRARIES tomahawklib)
set(TOMAHAWK_USE_FILE "${TOMAHAWK_CMAKE_DIR}/TomahawkUse.cmake")

View File

@@ -1,12 +0,0 @@
set(PACKAGE_VERSION "@TOMAHAWK_VERSION@")
# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

View File

@@ -1,63 +0,0 @@
#FIXME: this duplicates top level cmakelists: how can we reduce code duplication?
set( TOMAHAWK_QT5 @TOMAHAWK_QT5@ )
if(TOMAHAWK_QT5)
find_package(Qt5Core)
find_package(Qt5Network)
find_package(Qt5Gui)
find_package(Qt5Sql)
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
if(BUILD_GUI OR NOT DEFINED BUILD_GUI)
find_package(Qt5Widgets)
find_package(Qt5Svg)
endif()
macro(qt_wrap_ui)
qt5_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt5_add_resources(${ARGN})
endmacro()
find_package(Qt5LinguistTools REQUIRED)
macro(qt_add_translation)
qt5_add_translation(${ARGN})
endmacro()
else(TOMAHAWK_QT5)
find_package(Qt4 COMPONENTS QtNetwork QtCore QtGui QtSql REQUIRED)
include( ${QT_USE_FILE} )
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
if(BUILD_GUI OR NOT DEFINED BUILD_GUI)
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg")
endif()
find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS})
include( ${QT_USE_FILE} )
macro(qt5_use_modules)
endmacro()
macro(qt_wrap_ui)
qt4_wrap_ui(${ARGN})
endmacro()
macro(qt_add_resources)
qt4_add_resources(${ARGN})
endmacro()
macro(qt_add_translation)
qt4_add_translation(${ARGN})
endmacro()
endif(TOMAHAWK_QT5)
if(NOT TOMAHAWK_CMAKE_DIR)
set(TOMAHAWK_CMAKE_DIR ${CMAKE_CURRENT_LIST_DIR})
endif()
include( "${TOMAHAWK_CMAKE_DIR}/TomahawkAddLibrary.cmake" )
include( "${TOMAHAWK_CMAKE_DIR}/TomahawkAddPlugin.cmake" )

View File

@@ -24,10 +24,6 @@
<string>Tomahawk</string>
<key>LSMinimumSystemVersion</key>
<string>10.5.0</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<true />
<key>SUFeedURL</key>
<string>http://download.tomahawk-player.org/sparkle/update.php</string>
<key>SUPublicDSAKeyFile</key>

View File

@@ -45,9 +45,6 @@ VERSION=$1
header "Creating DMG"
cd ..
header "Signing bundle"
codesign -s "Developer ID Application: Leonardo Franchi" -f -v ./Tomahawk.app
$ROOT/../admin/mac/create-dmg.sh Tomahawk.app
mv Tomahawk.dmg Tomahawk-$VERSION.dmg

View File

@@ -1,5 +1,5 @@
#!/usr/bin/python
# This file is part of Tomahawk.
# This file is part of Tomahawk.
# It was inspired in large part by the macdeploy script in Clementine.
#
# Clementine is free software: you can redistribute it and/or modify
@@ -26,162 +26,162 @@ FRAMEWORK_SEARCH_PATH=[
os.path.join(os.environ['HOME'], 'Library/Frameworks')
]
LIBRARY_SEARCH_PATH=['/usr/local/lib', '/usr/local/Cellar/gettext/0.19.2/lib', '.']
LIBRARY_SEARCH_PATH=['/usr/local/lib', '/usr/local/Cellar/gettext/0.18.1.1/lib', '.']
VLC_PLUGINS=[
'access/libattachment_plugin.dylib',
#'access/libaccess_avio_plugin.dylib',
#'access/libaccess_fake_plugin.dylib',
'access/libftp_plugin.dylib',
'access/libhttp_plugin.dylib',
'access/libimem_plugin.dylib',
#'access/libaccess_mmap_plugin.dylib',
'access/libaccess_mms_plugin.dylib',
'access/libaccess_realrtsp_plugin.dylib',
'access/libtcp_plugin.dylib',
'access/libudp_plugin.dylib',
'access/libcdda_plugin.dylib',
'access/libfilesystem_plugin.dylib',
'access/libqtcapture_plugin.dylib',
'access/librtp_plugin.dylib',
'access/libzip_plugin.dylib',
'access_output/libaccess_output_dummy_plugin.dylib',
'access_output/libaccess_output_file_plugin.dylib',
'access_output/libaccess_output_http_plugin.dylib',
'access_output/libaccess_output_shout_plugin.dylib',
'access_output/libaccess_output_udp_plugin.dylib',
'audio_filter/liba52tofloat32_plugin.dylib',
'audio_filter/liba52tospdif_plugin.dylib',
'audio_filter/libaudio_format_plugin.dylib',
'audio_filter/libaudiobargraph_a_plugin.dylib',
'audio_filter/libchorus_flanger_plugin.dylib',
#'libconverter_fixed_plugin.dylib',
'audio_filter/libdolby_surround_decoder_plugin.dylib',
'audio_filter/libdtstofloat32_plugin.dylib',
'audio_filter/libdtstospdif_plugin.dylib',
'audio_filter/libequalizer_plugin.dylib',
'audio_filter/libheadphone_channel_mixer_plugin.dylib',
'audio_filter/libmono_plugin.dylib',
'audio_filter/libmpgatofixed32_plugin.dylib',
'audio_filter/libnormvol_plugin.dylib',
'audio_filter/libparam_eq_plugin.dylib',
'audio_filter/libscaletempo_plugin.dylib',
'audio_filter/libsimple_channel_mixer_plugin.dylib',
'audio_filter/libspatializer_plugin.dylib',
'audio_filter/libtrivial_channel_mixer_plugin.dylib',
'audio_filter/libugly_resampler_plugin.dylib',
'audio_mixer/libfloat_mixer_plugin.dylib',
'libaccess_attachment_plugin.dylib',
#'libaccess_avio_plugin.dylib',
#'libaccess_fake_plugin.dylib',
'libaccess_ftp_plugin.dylib',
'libaccess_http_plugin.dylib',
'libaccess_imem_plugin.dylib',
#'libaccess_mmap_plugin.dylib',
'libaccess_mms_plugin.dylib',
'libaccess_realrtsp_plugin.dylib',
'libaccess_tcp_plugin.dylib',
'libaccess_udp_plugin.dylib',
'libcdda_plugin.dylib',
'libfilesystem_plugin.dylib',
'libqtcapture_plugin.dylib',
'librtp_plugin.dylib',
'libzip_plugin.dylib',
'libaccess_output_dummy_plugin.dylib',
'libaccess_output_file_plugin.dylib',
'libaccess_output_http_plugin.dylib',
'libaccess_output_shout_plugin.dylib',
'libaccess_output_udp_plugin.dylib',
'liba52tofloat32_plugin.dylib',
'liba52tospdif_plugin.dylib',
'libaudio_format_plugin.dylib',
'libaudiobargraph_a_plugin.dylib',
'libchorus_flanger_plugin.dylib',
'libconverter_fixed_plugin.dylib',
'libdolby_surround_decoder_plugin.dylib',
'libdtstofloat32_plugin.dylib',
'libdtstospdif_plugin.dylib',
'libequalizer_plugin.dylib',
'libheadphone_channel_mixer_plugin.dylib',
'libmono_plugin.dylib',
'libmpgatofixed32_plugin.dylib',
'libnormvol_plugin.dylib',
'libparam_eq_plugin.dylib',
'libscaletempo_plugin.dylib',
'libsimple_channel_mixer_plugin.dylib',
'libspatializer_plugin.dylib',
'libtrivial_channel_mixer_plugin.dylib',
'libugly_resampler_plugin.dylib',
'libfloat32_mixer_plugin.dylib',
#'libspdif_mixer_plugin.dylib',
#'libtrivial_mixer_plugin.dylib',
#'libaout_file_plugin.dylib',
'audio_output/libauhal_plugin.dylib',
'codec/liba52_plugin.dylib',
'codec/libadpcm_plugin.dylib',
'codec/libaes3_plugin.dylib',
'codec/libaraw_plugin.dylib',
'codec/libavcodec_plugin.dylib',
'codec/libcc_plugin.dylib',
'codec/libcdg_plugin.dylib',
'codec/libdts_plugin.dylib',
'codec/libfaad_plugin.dylib',
'libaout_file_plugin.dylib',
'libauhal_plugin.dylib',
'liba52_plugin.dylib',
'libadpcm_plugin.dylib',
'libaes3_plugin.dylib',
'libaraw_plugin.dylib',
'libavcodec_plugin.dylib',
'libcc_plugin.dylib',
'libcdg_plugin.dylib',
'libdts_plugin.dylib',
'libfaad_plugin.dylib',
#'libfake_plugin.dylib',
'codec/libflac_plugin.dylib',
#'libfluidsynth_plugin.dylib',
'libflac_plugin.dylib',
'libfluidsynth_plugin.dylib',
#'libinvmem_plugin.dylib',
'codec/liblpcm_plugin.dylib',
'codec/libmpeg_audio_plugin.dylib',
'codec/libpng_plugin.dylib',
'codec/librawvideo_plugin.dylib',
'codec/libspeex_plugin.dylib',
'codec/libspudec_plugin.dylib',
'codec/libtheora_plugin.dylib',
'codec/libtwolame_plugin.dylib',
'codec/libvorbis_plugin.dylib',
#'control/libgestures_plugin.dylib',
#'libhotkeys_plugin.dylib',
#'libmotion_plugin.dylib',
#'libnetsync_plugin.dylib',
'liblpcm_plugin.dylib',
'libmpeg_audio_plugin.dylib',
'libpng_plugin.dylib',
'librawvideo_plugin.dylib',
'libspeex_plugin.dylib',
'libspudec_plugin.dylib',
'libtheora_plugin.dylib',
'libtwolame_plugin.dylib',
'libvorbis_plugin.dylib',
'libgestures_plugin.dylib',
'libhotkeys_plugin.dylib',
'libmotion_plugin.dylib',
'libnetsync_plugin.dylib',
#'libsignals_plugin.dylib',
'demux/libaiff_plugin.dylib',
'demux/libasf_plugin.dylib',
'demux/libau_plugin.dylib',
'libaiff_plugin.dylib',
'libasf_plugin.dylib',
'libau_plugin.dylib',
#'libavformat_plugin.dylib',
'demux/libavi_plugin.dylib',
'demux/libdemux_cdg_plugin.dylib',
'demux/libdemuxdump_plugin.dylib',
'demux/libdiracsys_plugin.dylib',
'demux/libes_plugin.dylib',
'demux/libflacsys_plugin.dylib',
'access/liblive555_plugin.dylib',
'demux/libmkv_plugin.dylib',
'demux/libmod_plugin.dylib',
'demux/libmp4_plugin.dylib',
'demux/libmpc_plugin.dylib',
'demux/libmpgv_plugin.dylib',
'demux/libnsc_plugin.dylib',
'demux/libnsv_plugin.dylib',
'demux/libnuv_plugin.dylib',
'demux/libogg_plugin.dylib',
'demux/libplaylist_plugin.dylib',
'demux/libps_plugin.dylib',
'demux/libpva_plugin.dylib',
'demux/librawaud_plugin.dylib',
'demux/librawdv_plugin.dylib',
'demux/librawvid_plugin.dylib',
'demux/libreal_plugin.dylib',
'demux/libsmf_plugin.dylib',
'demux/libts_plugin.dylib',
'demux/libtta_plugin.dylib',
'demux/libty_plugin.dylib',
'demux/libvc1_plugin.dylib',
'demux/libvoc_plugin.dylib',
'demux/libwav_plugin.dylib',
'demux/libxa_plugin.dylib',
'meta_engine/libfolder_plugin.dylib',
'meta_engine/libtaglib_plugin.dylib',
#'libaudioscrobbler_plugin.dylib',
'control/libdummy_plugin.dylib',
'misc/libexport_plugin.dylib',
#'libfreetype_plugin.dylib',
#'libgnutls_plugin.dylib',
'misc/liblogger_plugin.dylib',
'lua/liblua_plugin.dylib',
#'libosd_parser_plugin.dylib',
#'libquartztext_plugin.dylib',
#'libstats_plugin.dylib',
'misc/libvod_rtsp_plugin.dylib',
'misc/libxml_plugin.dylib',
'libavi_plugin.dylib',
'libdemux_cdg_plugin.dylib',
'libdemuxdump_plugin.dylib',
'libdirac_plugin.dylib',
'libes_plugin.dylib',
'libflacsys_plugin.dylib',
'liblive555_plugin.dylib',
'libmkv_plugin.dylib',
'libmod_plugin.dylib',
'libmp4_plugin.dylib',
'libmpc_plugin.dylib',
'libmpgv_plugin.dylib',
'libnsc_plugin.dylib',
'libnsv_plugin.dylib',
'libnuv_plugin.dylib',
'libogg_plugin.dylib',
'libplaylist_plugin.dylib',
'libps_plugin.dylib',
'libpva_plugin.dylib',
'librawaud_plugin.dylib',
'librawdv_plugin.dylib',
'librawvid_plugin.dylib',
'libreal_plugin.dylib',
'libsmf_plugin.dylib',
'libts_plugin.dylib',
'libtta_plugin.dylib',
'libty_plugin.dylib',
'libvc1_plugin.dylib',
'libvoc_plugin.dylib',
'libwav_plugin.dylib',
'libxa_plugin.dylib',
'libfolder_plugin.dylib',
'libtaglib_plugin.dylib',
'libaudioscrobbler_plugin.dylib',
'libdummy_plugin.dylib',
'libexport_plugin.dylib',
'libfreetype_plugin.dylib',
'libgnutls_plugin.dylib',
'liblogger_plugin.dylib',
'liblua_plugin.dylib',
'libosd_parser_plugin.dylib',
'libquartztext_plugin.dylib',
'libstats_plugin.dylib',
'libvod_rtsp_plugin.dylib',
'libxml_plugin.dylib',
#'libxtag_plugin.dylib',
'video_chroma/libi420_rgb_mmx_plugin.dylib',
'video_chroma/libi420_yuy2_mmx_plugin.dylib',
'video_chroma/libi422_yuy2_mmx_plugin.dylib',
#'libmemcpymmx_plugin.dylib',
#'libmemcpymmxext_plugin.dylib',
'mux/libmux_asf_plugin.dylib',
'mux/libmux_avi_plugin.dylib',
'mux/libmux_dummy_plugin.dylib',
'mux/libmux_mp4_plugin.dylib',
'mux/libmux_mpjpeg_plugin.dylib',
'mux/libmux_ogg_plugin.dylib',
'mux/libmux_ps_plugin.dylib',
'mux/libmux_ts_plugin.dylib',
'mux/libmux_wav_plugin.dylib',
'packetizer/libpacketizer_copy_plugin.dylib',
'packetizer/libpacketizer_dirac_plugin.dylib',
'packetizer/libpacketizer_flac_plugin.dylib',
'packetizer/libpacketizer_h264_plugin.dylib',
'packetizer/libpacketizer_mlp_plugin.dylib',
'packetizer/libpacketizer_mpeg4audio_plugin.dylib',
'packetizer/libpacketizer_mpeg4video_plugin.dylib',
'packetizer/libpacketizer_mpegvideo_plugin.dylib',
'packetizer/libpacketizer_vc1_plugin.dylib',
'video_chroma/libi420_rgb_sse2_plugin.dylib',
'video_chroma/libi420_yuy2_sse2_plugin.dylib',
'video_chroma/libi422_yuy2_sse2_plugin.dylib',
'stream_filter/libdecomp_plugin.dylib',
#'access/libstream_filter_rar_plugin.dylib',
'stream_filter/librecord_plugin.dylib',
#'libvisual_plugin.dylib',
'libi420_rgb_mmx_plugin.dylib',
'libi420_yuy2_mmx_plugin.dylib',
'libi422_yuy2_mmx_plugin.dylib',
'libmemcpymmx_plugin.dylib',
'libmemcpymmxext_plugin.dylib',
'libmux_asf_plugin.dylib',
'libmux_avi_plugin.dylib',
'libmux_dummy_plugin.dylib',
'libmux_mp4_plugin.dylib',
'libmux_mpjpeg_plugin.dylib',
'libmux_ogg_plugin.dylib',
'libmux_ps_plugin.dylib',
'libmux_ts_plugin.dylib',
'libmux_wav_plugin.dylib',
'libpacketizer_copy_plugin.dylib',
'libpacketizer_dirac_plugin.dylib',
'libpacketizer_flac_plugin.dylib',
'libpacketizer_h264_plugin.dylib',
'libpacketizer_mlp_plugin.dylib',
'libpacketizer_mpeg4audio_plugin.dylib',
'libpacketizer_mpeg4video_plugin.dylib',
'libpacketizer_mpegvideo_plugin.dylib',
'libpacketizer_vc1_plugin.dylib',
'libi420_rgb_sse2_plugin.dylib',
'libi420_yuy2_sse2_plugin.dylib',
'libi422_yuy2_sse2_plugin.dylib',
'libdecomp_plugin.dylib',
'libstream_filter_rar_plugin.dylib',
'libstream_filter_record_plugin.dylib',
'libvisual_plugin.dylib',
]
VLC_SEARCH_PATH=[
@@ -195,20 +195,14 @@ QT_PLUGINS = [
'imageformats/libqgif.dylib',
'imageformats/libqico.dylib',
'imageformats/libqjpeg.dylib',
'imageformats/libqsvg.dylib',
'imageformats/libqmng.dylib',
]
SNORE_PLUGINS = [
'libsnore_backend_growl.so',
'libsnore_backend_osxnotificationcenter.so',
]
TOMAHAWK_PLUGINS = [
'libtomahawk_account_xmpp.dylib',
'libtomahawk_account_xmpp.so',
'libtomahawk_account_google.so',
'libtomahawk_account_twitter.so',
'libtomahawk_account_zeroconf.so',
'libtomahawk_account_hatchet.so',
'libtomahawk_infoplugin_adium.so',
'libtomahawk_infoplugin_charts.so',
'libtomahawk_infoplugin_discogs.so',
@@ -218,21 +212,13 @@ TOMAHAWK_PLUGINS = [
'libtomahawk_infoplugin_musixmatch.so',
'libtomahawk_infoplugin_newreleases.so',
'libtomahawk_infoplugin_rovi.so',
'libtomahawk_infoplugin_snorenotify.so',
'libtomahawk_infoplugin_spotify.so',
'libtomahawk_viewpage_dashboard.so',
# 'libtomahawk_viewpage_networkactivity.so',
'libtomahawk_viewpage_whatshot.so',
'libtomahawk_viewpage_whatsnew_0_8.so',
]
QT_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/qt/4.8.6/plugins',
'/usr/local/Cellar/qt/4.8.2/plugins',
]
SNORE_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/snorenotify/HEAD/lib/libsnore',
]
class Error(Exception):
pass
@@ -250,10 +236,6 @@ class CouldNotFindQtPluginError(Error):
pass
class CouldNotFindSnorePluginError(Error):
pass
class CouldNotFindVLCPluginError(Error):
pass
@@ -262,10 +244,12 @@ class CouldNotFindScriptPluginError(Error):
pass
if len(sys.argv) < 2:
print 'Usage: %s <bundle.app>' % sys.argv[0]
bundle_dir = sys.argv[1]
bundle_name = os.path.basename(bundle_dir).split('.')[0]
commands = []
@@ -273,10 +257,6 @@ commands = []
binary_dir = os.path.join(bundle_dir, 'Contents', 'MacOS')
frameworks_dir = os.path.join(bundle_dir, 'Contents', 'Frameworks')
commands.append(['mkdir', '-p', frameworks_dir])
vlcplugins_dir = os.path.join(frameworks_dir, 'vlc', 'plugins')
commands.append(['mkdir', '-p', vlcplugins_dir])
snoreplugins_dir = os.path.join(binary_dir, 'libsnore')
commands.append(['mkdir', '-p', snoreplugins_dir])
resources_dir = os.path.join(bundle_dir, 'Contents', 'Resources')
commands.append(['mkdir', '-p', resources_dir])
plugins_dir = os.path.join(bundle_dir, 'Contents', 'qt-plugins')
@@ -388,12 +368,12 @@ def FixLibrary(path):
for library in broken_libs['libs']:
FixLibraryInstallPath(library, new_path)
def FixVLCPlugin(abs_path):
def FixVLCPlugin(abs_path, subdir):
broken_libs = GetBrokenLibraries(abs_path)
FixAllLibraries(broken_libs)
#print "Copying plugin....%s %s %s" % (plugins_dir, subdir, os.path.join(abs_path.split('/')[-2:]))
new_path = os.path.join(vlcplugins_dir, os.path.basename(abs_path))
new_path = os.path.join(plugins_dir, subdir, os.path.basename(abs_path))
args = ['mkdir', '-p', os.path.dirname(new_path)]
commands.append(args)
args = ['ditto', '--arch=i386', '--arch=x86_64', abs_path, new_path]
@@ -508,12 +488,6 @@ def FindQtPlugin(name):
return os.path.join(path, name)
raise CouldNotFindQtPluginError(name)
def FindSnorePlugin(name):
for path in SNORE_PLUGINS_SEARCH_PATH:
if os.path.exists(path):
if os.path.exists(os.path.join(path, name)):
return os.path.join(path, name)
raise CouldNotFindSnorePluginError(name)
def FindVLCPlugin(name):
for path in VLC_SEARCH_PATH:
@@ -525,14 +499,11 @@ def FindVLCPlugin(name):
FixBinary(binary)
for plugin in VLC_PLUGINS:
FixVLCPlugin(FindVLCPlugin(plugin))
FixVLCPlugin(FindVLCPlugin(plugin), '../plugins')
for plugin in TOMAHAWK_PLUGINS:
FixPlugin(plugin, '../MacOS')
for plugin in SNORE_PLUGINS:
FixPlugin(FindSnorePlugin(plugin), '../MacOS/libsnore')
try:
FixPlugin('tomahawk_crash_reporter', '../MacOS')
except:

View File

@@ -3,19 +3,10 @@ Type=Application
Version=1.0
Name=Tomahawk
GenericName=Music Player
GenericName[de]=Musik Player
GenericName[fi]=Musiikkisoitin
GenericName[pl]=Odtwarzacz Muzyki
GenericName[ro]=Redare muzică
GenericName[se]=Musikspelare
TryExec=tomahawk
Exec=tomahawk %u
Comment=Tomahawk Social Music Player
Comment[fi]=Tomahawk sosiaalinen musiikkisoitin
Comment[pl]=Tomahawk Społecznościowy Odtwarzacz Muzyki
Comment[ro]=Tomahawk Redare muzică în mod social
Comment[se]=Tomahawk — Den Sociala Musikspelaren
Comment=Tomahawk - Social Music Player
Icon=tomahawk
Terminal=false
Categories=Qt;AudioVideo;Audio;Player;
MimeType=x-scheme-handler/tomahawk;x-scheme-handler/spotify;
MimeType=x-scheme-handler/tomahawk;

View File

@@ -5,9 +5,11 @@ SET(CMAKE_SYSTEM_NAME Windows)
# specify the cross compiler
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}-gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}-g++)
SET(CMAKE_RC_COMPILER ${MINGW_PREFIX}-windres)
SET(CMAKE_C_COMPILER ccache ${MINGW_PREFIX}-gcc)
SET(CMAKE_C_FLAGS "-fno-keep-inline-dllexport")
SET(CMAKE_CXX_COMPILER ccache ${MINGW_PREFIX}-g++)
SET(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
SET(CMAKE_RC_COMPILER /usr/bin/${MINGW_PREFIX}-windres)
# where is the target environment containing libraries
SET(CMAKE_FIND_ROOT_PATH /usr/${MINGW_PREFIX}/sys-root/mingw)
@@ -16,22 +18,6 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
## configure qt variables
# generic
SET(QMAKESPEC win32-g++-cross)
# dirs
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins)
SET(QT_MKSPECS_DIR ${CMAKE_FIND_ROOT_PATH}/share/qt4/mkspecs)
SET(QT_QT_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/include)
# qt tools
SET(QT_QMAKE_EXECUTABLE ${MINGW_PREFIX}-qmake )
SET(QT_MOC_EXECUTABLE ${MINGW_PREFIX}-moc)
SET(QT_RCC_EXECUTABLE ${MINGW_PREFIX}-rcc)
SET(QT_UIC_EXECUTABLE ${MINGW_PREFIX}-uic)
SET(QT_LRELEASE_EXECUTABLE ${MINGW_PREFIX}-lrelease)
# phonon -_-
SET(Automoc4_DIR "/usr/lib64/automoc4/")
# configure qt variables
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins/)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -49,34 +49,10 @@ tar xvjf pvlc.tar.bz2
# libtaglib_plugin.dll
# this is for vlc-2.x
rm -rvf \
video_*/ \
gui/ \
**/libold* \
**/libvcd* \
**/libdvd* \
**/liblibass* \
**/libx264* \
**/libschroe* \
**/liblibmpeg2* \
**/libstream_out_* \
**/libmjpeg_plugin* \
**/libh264_plugin* \
**/libzvbi_plugin* \
**/lib*sub* \
services_discovery/ \
visualization/ \
control/ \
**/libi420* \
**/libi422* \
mux/ \
stream_filter/ \
**/libtheora_plugin* \
**/liblibbluray_plugin* \
**/libdtv_plugin* \
**/*.dll.a \
**/*.la
# this is for vlc-1.2
# rm -rvf video_*/ gui/ */libold* */libvcd* */libdvd* */liblibass* */libx264* */libschroe* */liblibmpeg2* \
# */libstream_out_* */libmjpeg_plugin* */libh264_plugin* */libzvbi_plugin* */lib*sub* \
# services_discover/ visualization/ control/ misc/
echo "Downloaded and stripped VLC"

View File

@@ -1,92 +0,0 @@
Copyright (c) 2009-2011 by Accademia di Belle Arti di Urbino and students of MA course of Visual design. Some rights reserved.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 852 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,23 +1,80 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="3100px" height="3100px" viewBox="0 0 3100 3100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>tomahawk-icon</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<filter x="-20%" y="-20%" width="140%" height="140%" filterUnits="objectBoundingBox" id="filter-1">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
<feMerge>
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
</defs>
<g id="Page 1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<circle d="M1546,3051 C2374.42717,3051 3046,2379.42717 3046,1551 C3046,722.572834 2374.42717,51 1546,51 C717.572834,51 46,722.572834 46,1551 C46,2379.42717 717.572834,3051 1546,3051 Z M1546,3051" id="Oval 1" stroke="#979797" fill="#FFFFFF" sketch:type="MSShapeGroup" cx="1546" cy="1551" r="1500"></circle>
<g id="Group" sketch:type="MSLayerGroup" transform="translate(46.000000, 48.000000)">
<path d="M1500.00026,326.562245 C852.333832,326.562245 325.623384,853.409757 325.623384,1501.14467 C325.623384,2148.84339 852.297589,2675.87184 1500.00026,2675.87184 C1592.85982,2675.87184 1682.97119,2664.36909 1769.71967,2643.75096 L1769.71967,1630.53256 L961.97175,2202.26973 C954.812018,2207.15297 945.916593,2209.9744 937.346612,2209.9744 C930.693123,2209.9744 923.894994,2208.56369 917.783909,2205.05499 C903.464446,2197.74821 894.56902,2183.06231 894.56902,2167.32742 L894.56902,827.040286 C894.56902,811.305396 903.464445,796.474809 917.783909,788.951001 C932.103373,781.969774 949.026377,783.199628 961.97175,792.27884 L1769.71967,1364.0522 L1769.71967,784.284802 L1804.10807,784.284802 L2127.56161,784.284802 L2127.56161,2492.84071 C2455.75216,2284.34437 2674.34095,1918.13743 2674.34095,1501.10857 C2674.34087,853.446289 2147.48558,326.562245 1500.00026,326.562245 L1500.00026,326.562245 L1500.00026,326.562245" id="Shape" sketch:type="MSShapeGroup"></path>
<path d="M1500.00026,0.904613118 C672.870406,0.904613118 0.0726019231,673.923876 0.0726019231,1501.14494 C0.0726019231,2328.4023 672.870475,3001.38527 1500.00026,3001.38527 C2326.94928,3001.38527 2999.78337,2328.40223 2999.78337,1501.14494 C2999.74681,673.923394 2326.94887,0.904613118 1500.00026,0.904613118 L1500.00026,0.904613118 L1500.00026,0.904613118 M2127.56146,2492.87708 L2127.56146,784.321176 L1804.10793,784.321176 L1769.71952,784.321176 L1769.71952,1364.08857 L961.971604,792.315213 C949.06239,783.236001 932.103228,782.006148 917.783763,788.987375 C903.464299,796.511184 894.568874,811.341769 894.568874,827.076659 L894.568874,2167.3638 C894.568874,2183.09869 903.464299,2197.78459 917.783763,2205.09136 C923.894847,2208.60006 930.692976,2210.01078 937.346465,2210.01078 C945.880287,2210.01078 954.775711,2207.18935 961.971604,2202.30611 L1769.71952,1630.56893 L1769.71952,2643.78733 C1682.97105,2664.36929 1592.85968,2675.90821 1500.00012,2675.90821 C852.333686,2675.90821 325.623237,2148.87983 325.623237,1501.18104 C325.623237,853.482317 852.297442,326.598618 1500.00012,326.598618 C2147.48578,326.598618 2674.377,853.44613 2674.377,1501.18104 C2674.34087,1918.17376 2455.75215,2284.38047 2127.56146,2492.87708 L2072.56159,399.051282" id="Shape" fill="#E63E30" filter="url(#filter-1)" sketch:type="MSShapeGroup"></path>
</g>
</g>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="606.2478"
height="595.49866"
viewBox="0 0 606.24779 595.49863"
enable-background="new 0 0 841.89 595.28"
xml:space="preserve"
inkscape:version="0.48.2 r9819"
sodipodi:docname="tomahawk-icon.svg"><metadata
id="metadata15"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs13" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1440"
inkscape:window-height="794"
id="namedview11"
showgrid="false"
inkscape:zoom="1"
inkscape:cx="431.12548"
inkscape:cy="336.94553"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1"
inkscape:snap-page="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"><sodipodi:guide
position="-3.5728101e-05,-1.501866e-05"
orientation="0,841.89001"
id="guide2994" /><sodipodi:guide
position="841.88997,-1.501866e-05"
orientation="-595.28003,0"
id="guide2996" /><sodipodi:guide
position="841.88997,595.28001"
orientation="0,-841.89001"
id="guide2998" /><sodipodi:guide
position="-3.5728101e-05,595.28001"
orientation="595.28003,0"
id="guide3000" /></sodipodi:namedview>
<g
id="g3"
transform="matrix(7.3080643,0,0,7.1790074,-2773.1692,-1839.0104)">
<g
id="g5">
<path
d="m 420.947,265.168 c -17.911,0 -32.477,14.565 -32.477,32.472 0,17.906 14.565,32.476 32.477,32.476 2.568,0 5.06,-0.318 7.459,-0.888 v -28.011 l -22.338,15.806 c -0.198,0.135 -0.444,0.213 -0.681,0.213 -0.184,0 -0.372,-0.039 -0.541,-0.136 -0.396,-0.202 -0.642,-0.608 -0.642,-1.043 v -37.053 c 0,-0.435 0.246,-0.845 0.642,-1.053 0.396,-0.193 0.864,-0.159 1.222,0.092 l 22.338,15.807 v -16.028 h 0.951 8.945 v 47.234 c 9.076,-5.764 15.121,-15.888 15.121,-27.417 10e-4,-17.905 -14.569,-32.471 -32.476,-32.471 z"
id="path7"
inkscape:connector-curvature="0"
style="fill:none" />
<path
d="m 420.947,256.165 c -22.874,0 -41.48,18.606 -41.48,41.475 0,22.87 18.606,41.475 41.48,41.475 22.869,0 41.476,-18.605 41.476,-41.475 0,-22.869 -18.607,-41.475 -41.476,-41.475 z m 17.356,68.892 v -47.234 h -8.945 -0.951 v 16.028 l -22.338,-15.807 c -0.357,-0.251 -0.826,-0.285 -1.222,-0.092 -0.396,0.208 -0.642,0.618 -0.642,1.053 v 37.053 c 0,0.435 0.246,0.841 0.642,1.043 0.169,0.097 0.357,0.136 0.541,0.136 0.236,0 0.482,-0.078 0.681,-0.213 l 22.338,-15.806 v 28.011 c -2.399,0.569 -4.891,0.888 -7.459,0.888 -17.911,0 -32.477,-14.57 -32.477,-32.476 0,-17.906 14.565,-32.472 32.477,-32.472 17.906,0 32.477,14.565 32.477,32.472 -0.001,11.528 -6.046,21.652 -15.122,27.416 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#e63e30" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="63px" height="63px" viewBox="0 0 63 63" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="50%" id="radialGradient-1">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M39.4882425,50.1164605 L31,62 L22.2995024,49.8193034 C9.95141137,46.556924 1,36.9024496 1,25.5 C1,11.4167382 14.6553143,0 31.5,0 C48.3446857,0 62,11.4167382 62,25.5 C62,37.2723466 52.4583986,47.1814694 39.4882425,50.1164605 Z" id="Triangle-1" fill="#000000" sketch:type="MSShapeGroup"></path>
<path d="M4.5,62 L56.5,62" id="Line" stroke="url(#radialGradient-1)" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="63px" height="63px" viewBox="0 0 63 63" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="50%" id="radialGradient-1">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M39.4882425,50.1164605 L31,62 L22.2995024,49.8193034 C9.95141137,46.556924 1,36.9024496 1,25.5 C1,11.4167382 14.6553143,0 31.5,0 C48.3446857,0 62,11.4167382 62,25.5 C62,37.2723466 52.4583986,47.1814694 39.4882425,50.1164605 Z" id="Triangle-1" fill="#D6D6D6" sketch:type="MSShapeGroup"></path>
<path d="M4.5,62 L56.5,62" id="Line" stroke="url(#radialGradient-1)" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="63px" height="63px" viewBox="0 0 63 63" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs>
<radialGradient cx="50%" cy="0%" fx="50%" fy="0%" r="50%" id="radialGradient-1">
<stop stop-color="#000000" offset="0%"></stop>
<stop stop-color="#FFFFFF" offset="100%"></stop>
</radialGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M39.4882425,50.1164605 L31,62 L22.2995024,49.8193034 C9.95141137,46.556924 1,36.9024496 1,25.5 C1,11.4167382 14.6553143,0 31.5,0 C48.3446857,0 62,11.4167382 62,25.5 C62,37.2723466 52.4583986,47.1814694 39.4882425,50.1164605 Z" id="Triangle-1" fill="#198DE7" sketch:type="MSShapeGroup"></path>
<path d="M4.5,62 L56.5,62" id="Line" stroke="url(#radialGradient-1)" stroke-width="2" stroke-linecap="square" sketch:type="MSShapeGroup"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="62px" height="62px" viewBox="0 0 62 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="account-settings" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)" fill="#000000">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="account-settings">
<g id="Page-1">
<path d="M51.0600062,15.0759327 L40.5857196,25.552555 L37.0910209,22.5074737 L47.7906208,11.8039501 L49.2134624,8.24707031 L53.5493811,5.02172353 L57.8461191,9.31341677 L54.625705,13.6433753 L51.0600062,15.0759327 L51.0600062,15.0759327 Z M57.345307,44.205397 C61.0555096,47.9156369 61.0542764,53.9534837 57.3428584,57.6662143 C55.5440824,59.4649897 53.152654,60.4543774 50.6106132,60.4543774 C48.0685724,60.4543774 45.6795929,59.4649898 43.8428582,57.6258061 L21.5938785,32.0829482 C19.524491,32.5115197 17.4085725,32.7368258 15.4457154,32.7368258 L15.4444909,32.7368258 C10.7657158,32.7368258 7.02612397,31.4694787 4.62734847,29.0719277 C0.596328,25.0384588 -1.14979445,19.289479 -0.0404066755,13.6886628 C0.0195933184,13.3825403 0.242450461,13.1388669 0.536328,13.0507036 C0.831430004,12.9613158 1.15102184,13.0409077 1.37143002,13.2600913 L8.67183806,20.5580505 L15.732246,22.0188669 L21.6955112,16.0580505 L20.2334702,8.99641758 L12.9330623,1.69478515 C12.7151031,1.47805047 12.6355113,1.15600963 12.7248991,0.862132078 C12.8155113,0.565805547 13.0591848,0.345397384 13.3628582,0.284172894 C14.4538787,0.068662702 15.5730623,-0.0427658706 16.6885727,-0.0427658706 C21.2436744,-0.0427658706 25.5269396,1.7315197 28.7448988,4.9531524 C33.6391845,9.844989 32.4281641,18.6380505 31.7571437,21.9172342 L37.2820418,26.7294791 L37.9702051,27.3294791 L57.345307,44.205397 L57.345307,44.205397 Z M52.2930535,52.6138991 C51.3648901,53.5432869 49.8624411,53.5432869 48.9342779,52.6151236 L48.9330534,52.6138991 C48.0061146,51.6857358 48.0061146,50.1808379 48.9330534,49.2538991 C49.8612167,48.3281848 51.3648901,48.3281848 52.2930534,49.2563481 L52.2942779,49.2563481 C53.2199968,50.1831553 53.2199968,51.6856664 52.2930535,52.6138991 L52.2930535,52.6138991 L52.2930535,52.6138991 Z M20.401219,36.7042013 L25.5342795,42.6809353 C26.3816264,43.5295067 26.3816264,44.9046087 25.5342795,45.7519556 L11.7244837,59.5605276 C10.8746879,60.40665 9.50081035,60.40665 8.65346344,59.5605276 L3.1016268,54.0062422 C2.2542799,53.1564463 2.2542799,51.7825687 3.1016268,50.9364463 L17.3314231,36.7042013 C18.1799945,35.8568543 19.553872,35.8568543 20.401219,36.7042013 L20.401219,36.7042013 L20.401219,36.7042013 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,77 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="icon_Connect1" sketch:type="MSLayerGroup">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54" fill="#000000" sketch:type="MSShapeGroup">
<g id="Group">
<path d="M36,32.25 C35.25,33 34.5,33.375 34.125,34.125 C31.875,36 30,38.25 28.125,40.125 C25.125,37.5 22.5,34.5 19.875,31.875 L21.375,30.375 L27.75,24 C28.5,23.25 28.5,22.125 27.75,21.375 C27.375,20.625 26.25,20.625 25.5,21.375 C25.125,21.75 24.75,22.125 24.375,22.125 L16.875,29.625 C16.125,28.5 15.375,27.75 14.25,26.625 C12,29.25 9.375,31.5 7.5,34.125 C5.625,36.375 5.25,39 5.625,42 C5.625,44.25 6.75,46.5 7.875,48.375 L0.375,55.875 L4.125,59.625 L11.625,52.125 C16.125,54.75 20.625,55.125 25.5,52.5 C28.875,50.625 30.75,47.625 33.75,45 C32.625,44.25 31.875,43.125 30.75,42.375 L34.125,39 C35.625,37.5 37.125,36 39,34.5 C39.75,33.75 40.125,32.625 39.375,31.875 C37.875,31.5 36.75,31.5 36,32.25 L36,32.25 Z" id="Shape"></path>
<path d="M60,3.75 L56.25,0 L48.75,7.5 C48.375,7.5 48.375,7.125 48,7.125 C43.5,4.875 38.625,4.5 34.125,7.5 C31.5,9.375 29.25,12 27,14.25 L45.75,33 C47.625,31.125 49.5,29.625 51.375,27.375 C53.625,24.75 54.75,21.375 54.375,18 C54.375,15.75 53.625,13.5 52.125,11.625 L60,3.75 L60,3.75 Z" id="Shape"></path>
</g>
</g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="68px" height="68px" viewBox="0 0 68 68" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="list-remove" sketch:type="MSLayerGroup" transform="translate(34.500000, 33.500000) rotate(-45.000000) translate(-34.500000, -33.500000) translate(6.000000, 5.000000)">
<g id="Page-1">
<g id="list-remove">
<g id="Page-1">
<g id="icon_Cross">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44" fill="#000000" sketch:type="MSShapeGroup">
<path d="M56.6666667,9.33333333 L47.3333333,0 L28,18.6666667 L9.33333333,0 L0,9.33333333 L18.6666667,28 L0,47.3333333 L9.33333333,56.6666667 L28,38 L47.3333333,56.6666667 L56.6666667,47.3333333 L38,28 L56.6666667,9.33333333 L56.6666667,9.33333333 Z" id="Shape"></path>
</g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="icon_Settings" sketch:type="MSLayerGroup">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40"></g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63" fill="#000000" sketch:type="MSShapeGroup">
<path d="M39.5,9.5 C39,9.5 38.5,9 38,9 C37.5,9 37,8.5 36.5,8.5 L34.5,0.5 C31,1.38777878e-17 28,1.38777878e-17 24.5,0.5 L22.5,9 C21.5,9 20.5,9.5 19.5,10 L12,6 C9.5,8 7,10 5.5,13 L10,20.5 C10,21 9.5,21.5 9.5,22 C9.5,22.5 9,23 9,23.5 L0.5,25.5 C1.38777878e-17,29 1.38777878e-17,32 0.5,35.5 L9,37.5 C9,38.5 9.5,39.5 10,40.5 L6,48 C8,50.5 10.5,53 13,55 L20.5,50.5 C21,50.5 21.5,51 22,51 C22.5,51 23,51.5 23.5,51.5 L26,59.5 C29.5,60 32.5,60 35.5,59.5 L37.5,51 L40.5,49.5 L48,53.5 C50.5,51.5 53,49 55,46.5 L50.5,39 C50.5,38.5 51,38 51,37.5 C51,37 51.5,36.5 51.5,36 L59.5,33.5 C60,30 60,27 59.5,24 L51,22 L49.5,19 L53.5,11.5 C51.5,9 49,6.5 46.5,4.5 L39.5,9.5 L39.5,9.5 Z M40.5,34 C38,39.5 31.5,42.5 26,40.5 C20.5,38 17.5,31.5 19.5,26 C21.5,20.5 28,17.5 34,20 C39.5,22 42.5,28.5 40.5,34 L40.5,34 Z" id="Shape"></path>
</g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="album-icon" sketch:type="MSLayerGroup">
<g id="Page-1">
<g id="icon_Playlist">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40" fill="#000000" sketch:type="MSShapeGroup">
<path d="M30,0 C13.5,0 0,13.5 0,30 C0,46.5 13.5,60 30,60 C46.5,60 60,46.5 60,30 C59.5,13.5 46.5,0 30,0 L30,0 L30,0 Z M30,40 C24.5,40 20,35.5 20,30 C20,24.5 24.5,20 30,20 C35.5,20 39.5,24.5 39.5,30 C39.5,35.5 35,40 30,40 L30,40 L30,40 Z" id="Shape"></path>
</g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 260 KiB

View File

@@ -1,87 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="200px" height="200px" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>Slice 1</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="album-placeholder-grid" sketch:type="MSLayerGroup">
<g id="Page-1">
<rect id="Rectangle-1" fill="#D8D8D8" sketch:type="MSShapeGroup" x="0" y="0" width="200" height="200"></rect>
<g id="album-placeholder-grid" transform="translate(75.000000, 75.000000)">
<g id="Page-1">
<g id="album-icon">
<g id="Page-1">
<g id="icon_Playlist">
<g id="Layer_2"></g>
<g id="Layer_3"></g>
<g id="Layer_4"></g>
<g id="Layer_5"></g>
<g id="Layer_6"></g>
<g id="Layer_8"></g>
<g id="Layer_9"></g>
<g id="Layer_10"></g>
<g id="Layer_11"></g>
<g id="Layer_12"></g>
<g id="Layer_13"></g>
<g id="Layer_14"></g>
<g id="Layer_15"></g>
<g id="Layer_16"></g>
<g id="Layer_17"></g>
<g id="Layer_18"></g>
<g id="Layer_19"></g>
<g id="Layer_20"></g>
<g id="Layer_21"></g>
<g id="Layer_24"></g>
<g id="Layer_25"></g>
<g id="Layer_26"></g>
<g id="Layer_27"></g>
<g id="Layer_28"></g>
<g id="Layer_29"></g>
<g id="Layer_47"></g>
<g id="Layer_30"></g>
<g id="Layer_31"></g>
<g id="Layer_32"></g>
<g id="Layer_33"></g>
<g id="Layer_34"></g>
<g id="Layer_35"></g>
<g id="Layer_36"></g>
<g id="Layer_37"></g>
<g id="Layer_38"></g>
<g id="Layer_39"></g>
<g id="Layer_40" fill="#606060" sketch:type="MSShapeGroup">
<path d="M25,0 C11.25,0 0,11.25 0,25 C0,38.75 11.25,50 25,50 C38.75,50 50,38.75 50,25 C49.5833333,11.25 38.75,0 25,0 L25,0 L25,0 Z M25,33.3333333 C20.4166667,33.3333333 16.6666667,29.5833333 16.6666667,25 C16.6666667,20.4166667 20.4166667,16.6666667 25,16.6666667 C29.5833333,16.6666667 32.9166667,20.4166667 32.9166667,25 C32.9166667,29.5833333 29.1666667,33.3333333 25,33.3333333 L25,33.3333333 L25,33.3333333 Z" id="Shape"></path>
</g>
<g id="Layer_41"></g>
<g id="Layer_42"></g>
<g id="Layer_43"></g>
<g id="Layer_44"></g>
<g id="Layer_45"></g>
<g id="Layer_46"></g>
<g id="Layer_48"></g>
<g id="Layer_49"></g>
<g id="Layer_51"></g>
<g id="Layer_52"></g>
<g id="Layer_53"></g>
<g id="Layer_54"></g>
<g id="Layer_55"></g>
<g id="Layer_56"></g>
<g id="Layer_57"></g>
<g id="Layer_58"></g>
<g id="Layer_59"></g>
<g id="Layer_60"></g>
<g id="Layer_61"></g>
<g id="Layer_62"></g>
<g id="Layer_63"></g>
<g id="Layer_64"></g>
<g id="Layer_65"></g>
<g id="Layer_66"></g>
<g id="Layer_50"></g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="51px" height="50px" viewBox="0 0 51 50" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>apply-check</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="apply-check" sketch:type="MSLayerGroup" transform="translate(1.000000, 1.000000)">
<g id="Page-1" sketch:type="MSShapeGroup">
<g id="apply-check">
<g id="Page-1">
<g id="Group">
<path d="M4.24000168,-0.24597168 C1.78800178,-0.24597168 -0.208998203,1.74902833 -0.208998203,4.2030282 L-0.208998203,43.8820291 C-0.208998203,46.3350291 1.78800178,48.3320289 4.24000168,48.3320289 L45,48.3320289 C47.4519999,48.3320289 49.4489999,46.3350289 49.4489999,43.8820291 L49.4489999,4.2030282 C49.4489746,1.74902344 47.4520264,-0.24597168 45,-0.24597168 L4.24000168,-0.24597168 Z" id="Shape" fill="#000000"></path>
<path d="M38.992981,10.0159912 C38.112981,9.3459912 36.857981,9.5139912 36.1889811,10.3919912 L19.0559816,32.827992 L12.6759815,25.2839919 C11.9629815,24.4409919 10.6999816,24.3349919 9.8579814,25.0479919 C9.0139815,25.7619919 8.90898144,27.0239918 9.6219814,27.865992 L17.6079815,37.3099922 C17.9889815,37.7599922 18.5469815,38.0189922 19.1349815,38.0189922 C19.1519815,38.0189922 19.1679815,38.0189922 19.1849815,38.0179922 C19.7899815,38.0029922 20.3569815,37.7139922 20.7249814,37.2329922 L39.3689805,12.8199921 C40.0390015,11.94104 39.8709717,10.6870117 38.992981,10.0159912 C38.992981,10.0159912 39.8709717,10.6870117 38.992981,10.0159912 L38.992981,10.0159912" id="Shape" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="45px" height="45px" viewBox="0 0 45 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<title>arrow-down-double</title>
<description>Created with Sketch (http://www.bohemiancoding.com/sketch)</description>
<defs></defs>
<g id="Page 1" fill="rgb(215,215,215)" fill-rule="evenodd">
<g id="arrow-up-double" fill="rgb(0,0,0)" transform="translate(22.000000, 23.500000) rotate(-180.000000) translate(-22.000000, -23.500000)">
<g id="Page 1" fill="rgb(222,223,222)">
<g id="Group" fill="rgb(0,0,0)">
<path d="M3.48530778,39.7090464 L40.6463071,39.7090464 C41.8023053,39.7090464 42.8623067,39.0600481 43.3873082,38.0280466 C43.6143056,37.5890474 43.7243062,37.1090479 43.7243062,36.6310472 C43.7243062,35.9940462 43.5243054,35.3570452 43.1353055,34.8230448 L24.5533067,9.24104548 C23.9743062,8.44204569 23.0483056,7.9720459 22.0633069,7.9720459 C21.0783063,7.9720459 20.1523057,8.44404554 19.5743066,9.24104548 L0.993306841,34.8230448 C0.313306834,35.7580462 0.218306865,37.0010462 0.742306854,38.0280466 C1.2672902,39.0601206 2.32832536,39.7090464 3.48530778,39.7090464 C3.48530778,39.7090464 2.32832536,39.7090464 3.48530778,39.7090464 L3.48530778,39.7090464" id="Shape" fill="rgb(99,100,99)"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

Some files were not shown because too many files have changed in this diff Show More