1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-07 12:40:45 +02:00

Compare commits

...

1569 Commits
0.0.1 ... 0.2.3

Author SHA1 Message Date
Christian Muehlhaeuser
f7e82368bd * Unbreak OSX compile. 2011-08-30 02:44:24 +02:00
Christian Muehlhaeuser
b54670ad48 * Prepare for 0.2.3. 2011-08-30 02:00:14 +02:00
Christian Muehlhaeuser
1a869762f6 * Fixed TWK-451: Properly parent the friends auth / add dialog. 2011-08-30 00:54:01 +02:00
Christian Muehlhaeuser
8af49897a9 * Fixed TWK-482: Don't close after showing a jabber friend request. 2011-08-30 00:27:46 +02:00
Jason Herskowitz
6571a0b88e Added fix for Spotify links 2011-08-30 00:19:45 -03:00
Jeff Mitchell
70b350510f Do please check your debug for null pointers :-) 2011-08-29 13:13:44 -04:00
Christian Muehlhaeuser
72471f70d3 * Added more debug output for playlist errors. 2011-08-29 17:13:06 +02:00
Jeff Mitchell
6fe16be23b Remove dependency on XComposite on X11. It wasn't actually a dependency
on the library, just the development headers (used to check for th
existence of compositing at runtime, but not necessary for us).
2011-08-29 11:04:02 -04:00
Leo Franchi
a3833c1da5 Fix rdio links 2011-08-29 10:51:44 -04:00
Leo Franchi
053652756a Fix rdio links 2011-08-29 10:49:29 -04:00
Leo Franchi
33ee2a4724 Sync master and stable 0.2.3 changelog 2011-08-29 10:16:38 -04:00
Leo Franchi
c15c1531f8 Changelog 2011-08-29 10:14:50 -04:00
Leo Franchi
e3d1f2ea8c Don't depend on sender() as it can be null in queued events
(cherry picked from commit 1994ab33fe)
2011-08-29 10:13:51 -04:00
Leo Franchi
ecc9502c2c TWK-441: Try to fix crash where sourcetreeitem would hold on to a dangling parent
(cherry picked from commit 3fa9fa337e)
2011-08-29 10:13:42 -04:00
Christian Muehlhaeuser
446dd993a8 * Be safer. 2011-08-29 16:08:40 +02:00
Christian Muehlhaeuser
2e19306458 * Some debug and safety meassures. 2011-08-29 16:05:04 +02:00
Christian Muehlhaeuser
b256141f74 * Updated ChangeLog. 2011-08-28 06:06:07 +02:00
Jeff Mitchell
61ddd9bfa1 Changelogify Twitter issue 2011-08-27 22:10:06 -04:00
Jeff Mitchell
bce77397a7 Make public/mentions timelines check less often to offset bumping up the dm timer 2011-08-27 22:06:40 -04:00
Jeff Mitchell
47f0895efb Some further cleanup and make dms poll a bit more often while keeping the timelines longer 2011-08-27 22:06:33 -04:00
Jeff Mitchell
a16139266b Hopefully really fix the twitter issue 2011-08-27 22:06:27 -04:00
Jeff Mitchell
e050b99550 Fix twitter saved offer key issue, maybe 2011-08-27 22:06:21 -04:00
Jeff Mitchell
92b2fdcb2e Move libqnetwm down one level and hopefully fix building for leo 2011-08-27 16:25:10 -04:00
Jeff Mitchell
ab72133c15 Fix include path 2011-08-27 16:08:14 -04:00
Jeff Mitchell
44a9c35413 Fix listen along menu not resetting when you stop listening along 2011-08-27 14:05:56 -04:00
Jeff Mitchell
e7e2a7775d Changelogify++ 2011-08-27 14:02:37 -04:00
Jeff Mitchell
f0d677ce52 Doh, smart pointers -- fix compile 2011-08-27 17:15:40 -04:00
Jeff Mitchell
4687e73aa9 Hells. Yes. Make TH window come to front when launched with a URL. (X11, not sure if Win works yet.) 2011-08-27 17:14:00 -04:00
Jeff Mitchell
fcb70b551b Fix compile on mingw32 2011-08-27 17:13:53 -04:00
Jeff Mitchell
5975d45ca4 Add definitions for bringToFront. Can't test on X11 as TH crashes with database errors before I get the chance. 2011-08-27 17:13:46 -04:00
Jeff Mitchell
95b99f4e8c None of this works, but maybe it's a start since Qt directly isn't
working
2011-08-27 17:13:36 -04:00
Jeff Mitchell
4047588086 Better structuring 2011-08-27 17:13:19 -04:00
Jeff Mitchell
cdd1c05f22 Draw the battle lines 2011-08-27 17:13:06 -04:00
Jeff Mitchell
c4b595d446 Base64 encode our twitter credentials like elsewhere 2011-08-27 17:12:53 -04:00
Jeff Mitchell
0732ce120a Fix crash; pointer safety! 2011-08-27 17:12:13 -04:00
Christian Muehlhaeuser
e62a868562 * Fixed TWK-461: Always pre-sort searches by score column. 2011-08-26 00:54:46 +02:00
Christian Muehlhaeuser
67c9e79dac * Remove obsolete debug output. 2011-08-26 00:53:36 +02:00
Christian Muehlhaeuser
037f7a4f57 * Guard pipeline against dupe queries. 2011-08-26 00:53:36 +02:00
Leo Franchi
bedf36c3f6 Don't resolve a query twice. EchonestGenerator no longer gives out auto-resolving queries, resolve your own. 2011-08-26 00:53:36 +02:00
Christian Muehlhaeuser
fcc4cbbc55 * Add debug output. 2011-08-26 00:53:36 +02:00
Christian Muehlhaeuser
5e95567db0 * Refactor pipeline. 2011-08-26 00:53:36 +02:00
Leo Franchi
f9591e800c TWK-340: smooth transform for more pixmaps 2011-08-26 00:53:36 +02:00
Leo Franchi
c887bbdd57 TWK-447: Clear albums model before appending to it 2011-08-26 00:53:36 +02:00
Christian Muehlhaeuser
0a0c8607fc * Make sure onResolvingFinished gets called. 2011-08-26 00:53:36 +02:00
Christian Muehlhaeuser
756ff7c869 * Cleaned up debugging in Servent. 2011-08-26 00:53:36 +02:00
Christian Muehlhaeuser
5374d65a05 * Don't assert out on too late results. 2011-08-26 00:53:36 +02:00
Michael Zanetti
4327d61df7 make trackURLs work again 2011-08-24 08:51:44 +02:00
Jason Herskowitz
5a9fb8d1cc Changed "added" to "fixed Ogg Vorbis support for OS X". 2011-08-23 03:00:19 -03:00
Jason Herskowitz
a169972723 Noted Ogg Vorbis (OS X) support in changelog. 2011-08-23 02:26:13 -03:00
Leo Franchi
1279b1fa12 Changelog 2011-08-22 19:17:31 -04:00
Leo Franchi
fd99fa84be TWK-431: Don't re-use the same infosystem caller id for every artistinfowidget.
(cherry picked from commit ac317eb0a6)
2011-08-22 19:17:03 -04:00
Jason Herskowitz
13ab10adea Edited ChangeLog via GitHub 2011-08-22 12:29:31 -04:00
Christian Muehlhaeuser
20d2a5ff59 * Bumped version to 0.2.2. 2011-08-22 17:46:55 +02:00
Leo Franchi
6b9eec00fd Changelog 2011-08-22 07:34:47 -04:00
Leo Franchi
d7416ddd57 TWK-415: Don't crash if the trackproxymodel has an invalid current track
(cherry picked from commit 498d7052de)
2011-08-22 07:32:48 -04:00
Leo Franchi
2e9aa7f3b3 Changelog. 2011-08-21 21:41:31 -04:00
Leo Franchi
208393deb0 TWK-401: Only update source stats after addfiles dbcmd is finished, instead of playing a race condition game. Also, refresh recent albums on stats change
(cherry picked from commit 6521198127)
2011-08-21 21:34:26 -04:00
Leo Franchi
b923d4f994 TWK-420: Show resolver wrench immediately after enabling a resolver.
(cherry picked from commit f0a6d4e8bb)
2011-08-21 21:34:20 -04:00
Christian Muehlhaeuser
edbee5a922 * Fixed filtering out unwanted dupes when viewing a local collection. 2011-08-21 22:52:53 +02:00
Michael Zanetti
e0bdc4b8bc TWK-411: Dragging an album/artist to "New Station" creates a station based on that artist instead of all the tracks 2011-08-21 16:00:21 +02:00
Christian Muehlhaeuser
4b53d20663 * Updated ChangeLog. 2011-08-21 04:51:52 +02:00
Christian Muehlhaeuser
74c4f4ddc2 * Fixed TWK-442: Provide stable sort ordering in Track- / TreeProxyModel. 2011-08-21 03:53:42 +02:00
Christian Muehlhaeuser
ec03ece35c * Fixed TWK-435: Don't block pipeline if a resolver times out. 2011-08-21 03:33:32 +02:00
Dominik Schmidt
d217e7fae0 TWK-410: possible fix 2011-08-21 03:33:25 +02:00
Christian Muehlhaeuser
bc3bcc708f * Don't filter out some wanted tracks, e.g. when multiple tracks of an album have the same name, but different tracks numbers. 2011-08-21 02:59:09 +02:00
Christian Muehlhaeuser
7a90ba11bb * Fixed TWK-387: Stop showing a loading spinner, if there are no items to load. 2011-08-21 02:58:59 +02:00
Michael Zanetti
ed219a56cd don't add duplicates when dropping albums or artists and fix losing items when combining synchronous and asynchrounous drop operations 2011-08-20 14:38:43 +02:00
Christian Muehlhaeuser
1537d5b08a * Updated ChangeLog. 2011-08-18 00:05:45 +02:00
Christian Muehlhaeuser
263340a270 * No need for clucene in Tomahawk binary. 2011-08-17 22:13:24 +02:00
Jason Herskowitz
bf54ebf7fe De-decapitate avatar placeholder
(cherry picked from commit 77d60fa02d)
2011-08-17 14:40:04 -04:00
Leo Franchi
bfbac296b0 Fix resolvers on qt 4.8, baseUrl is required for html5 security policy stuff for localStorage
(cherry picked from commit 4abb53ccdf)
2011-08-17 14:36:02 -04:00
Christian Muehlhaeuser
7971e7aadc * More verbose debug output in DBSyncConnection. 2011-08-17 04:15:28 +02:00
Christian Muehlhaeuser
4cc1690dea * Fixed sorting of identical items in Tree- & TrackProxyModel. 2011-08-17 03:34:21 +02:00
Christian Muehlhaeuser
2090d76955 * Fixed sidebar sorting for items with identical names. 2011-08-17 03:20:23 +02:00
Christian Muehlhaeuser
d09397a8ab * Moved the AudioControl QSlider stylesheets into SeekSlider. 2011-08-17 03:20:12 +02:00
Christian Muehlhaeuser
a734cad4e1 * No need for mouse tracking. 2011-08-17 02:27:39 +02:00
Christian Muehlhaeuser
9b433379ee * Fixed TWK-212: Sliders should jump to the position they are clicked on. 2011-08-17 02:27:25 +02:00
Christian Muehlhaeuser
2e11376d01 * Fix sorting for real. 2011-08-17 01:10:56 +02:00
Christian Muehlhaeuser
9ba11290ae * Fixed sidebar sorting. 2011-08-17 01:10:45 +02:00
Leo Franchi
97e0bbaf38 Allow to show the setting dialog always, and disable +/- buttons till loaded
(cherry picked from commit 713243cc5d)
2011-08-16 19:08:03 -04:00
Leo Franchi
eb4242622d Show spinner on initial load while loading sip plugins in preferences. Disable Settings action till servent is loaded
(cherry picked from commit ee8da33e06)
2011-08-16 19:07:57 -04:00
Michael Zanetti
469bea43ba added drag capabilities to albumview ins sourceinfowidget and welcomewidget 2011-08-16 23:49:24 +02:00
Michael Zanetti
f9f3a45a31 fix copyright headers in SettingsListDelegate 2011-08-16 19:53:50 +02:00
Michael Zanetti
0579d63013 fixed copyright headers 2011-08-16 19:53:41 +02:00
Michael Zanetti
1bb115ec6f Created DropJob which will start a query for the dropped items and wait for the results 2011-08-16 19:53:30 +02:00
Michael Zanetti
5f320028b8 more work to be able to drag and drop mixed mimetypes (e.g. an artist and some tracks) 2011-08-16 19:53:15 +02:00
Michael Zanetti
b0d445c262 added drag and drop to playlists for albums and artists 2011-08-16 19:53:06 +02:00
Christian Muehlhaeuser
479a0c469f * Un-regress listen-along. 2011-08-16 03:25:24 +02:00
Christian Muehlhaeuser
b8bf7420d0 * Updated ChangeLog. 2011-08-16 03:14:09 +02:00
Christian Muehlhaeuser
16f32253c3 * Don't try to play unavailable results. 2011-08-16 03:13:11 +02:00
Christian Muehlhaeuser
b6fcae3a4a * Updated ChangeLog. 2011-08-16 02:44:46 +02:00
Christian Muehlhaeuser
2e2ff63a7a * Don't crash when encountering an unknown artist in a search. 2011-08-16 01:45:05 +02:00
Christian Muehlhaeuser
7b24444010 * Update to version 0.2.1. 2011-08-16 01:28:39 +02:00
Christian Muehlhaeuser
7c6304beea * Fixed Javascript resolvers not working / breaking Tomahawk. 2011-08-16 01:27:07 +02:00
Dominik Schmidt
2cd4d7a682 He iiis iiis ... release breaker.. iiis iis release breaker! 2011-08-15 23:54:29 +02:00
Christian Muehlhaeuser
1ff6cfa31f * This makes it official then: 0.2.0 is released. 2011-08-15 21:50:07 +02:00
Leo Franchi
cd8e187bfe paint album selection rect on windows 2011-08-15 14:00:55 -04:00
Christian Muehlhaeuser
33a3ec4c4c * Added logging to Servent. 2011-08-15 19:07:09 +02:00
Leo Franchi
f9c623d654 use correct servicetype in portforward delete as well as create 2011-08-15 11:02:21 -04:00
Leo Franchi
283a3bd216 oops, didn't mean to commit that 2011-08-15 01:47:29 -04:00
Leo Franchi
a8513d41ea Fix sparkle. Again. No, undefined macros are not fun when #ifed. 2011-08-15 01:45:42 -04:00
Leo Franchi
b8394003e8 draw selection rect in settings dialog on windows too. hope it looks okay... 2011-08-15 00:20:40 -04:00
Christian Muehlhaeuser
ae1095217c * Fixed header resizing issues, which were caused by varying column counts. 2011-08-15 04:59:55 +02:00
Leo Franchi
e159698bfd Use update.php instead of sparkle.xml to save stats 2011-08-14 22:40:30 -04:00
Leo Franchi
cd07bd4f71 Add system profiling 2011-08-14 22:26:25 -04:00
Leo Franchi
825903f294 Fix copying automatic playlists and stations 2011-08-14 22:23:14 -04:00
Christian Muehlhaeuser
a5596e0288 * ChangeLog cleanup. 2011-08-15 02:54:12 +02:00
Jason Herskowitz
53c9d0fcde Changelogging 2011-08-14 20:27:23 -04:00
Christian Muehlhaeuser
277c8c4275 Merge remote-tracking branch 'origin/async' 2011-08-15 02:01:34 +02:00
Christian Muehlhaeuser
3d28293250 * Set fixed widths for add / remove buttons in the settings dialog. 2011-08-15 01:55:41 +02:00
Leo Franchi
3df2c2a104 TWK-123: Re-resolve queries when their resolved-to result goes offline. 2011-08-14 18:39:04 -04:00
Christian Muehlhaeuser
65b2f42463 * Fixed TWK-386. Renamed Music to Collection in settings dialog. 2011-08-15 00:10:17 +02:00
Leo Franchi
0e7fae2b5a Tighten up margins in diagnostics dialog 2011-08-14 17:54:16 -04:00
Leo Franchi
afbe74bc13 Add Michael Zanetti to Thanks To... 2011-08-14 17:49:38 -04:00
Leo Franchi
ae32b0b368 TWK-216: reset the proper view mode toggle when changing to a different view mode automatically 2011-08-14 17:44:43 -04:00
Leo Franchi
7d2c284a3e Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-08-14 17:16:02 -04:00
Leo Franchi
198ad22f09 Fix strange padding due to QPushButton incorrect layouting rect on OS X 2011-08-14 17:15:46 -04:00
Leo Franchi
f9af1e0520 Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-08-14 16:39:27 -04:00
Michael Zanetti
f2e76803cc fixed offset issue with icons in settings list 2011-08-14 22:37:55 +02:00
Leo Franchi
a11ec10748 Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-08-14 15:32:37 -04:00
Leo Franchi
a887232fff Fix some margins and fonts on settings dialog 2011-08-14 15:29:07 -04:00
Jason Herskowitz
7e249b91d8 Make dashboard.png not be huge 2011-08-14 15:01:34 -04:00
Leo Franchi
83b3758a25 Change New Additions page to fit other pages more, with title and description and icon. 2011-08-14 14:38:44 -04:00
Leo Franchi
9313de5b17 Show treeview in artistinfowidget with only one column 2011-08-14 14:27:44 -04:00
Leo Franchi
99a298edb5 Manually encode "'" as %27 for QUrls which is legal and makes more apps happy 2011-08-14 14:17:06 -04:00
Leo Franchi
65405682aa Elide description label for long playlist names force window resizes 2011-08-14 14:04:23 -04:00
Leo Franchi
d32e177583 local results should only load social actions by the local source 2011-08-14 13:50:27 -04:00
Dominik Schmidt
4db7228d0c Add async api for returning results in a qtscriptresolver 2011-08-14 16:42:21 +02:00
Jason Herskowitz
56ddbfe93d Make dashboard icon more white like other icons 2011-08-14 10:37:11 -04:00
Dominik Schmidt
4f24e9c5f8 Add some aliases to tomahawk.js 2011-08-14 14:37:16 +02:00
Dominik Schmidt
9b7db84a9e Move result parsing in qtscriptresolver to a method 2011-08-14 14:32:59 +02:00
Dominik Schmidt
e7aa846a0f Remove all references to installer revision 2011-08-14 14:29:55 +02:00
Alejandro Wainzinger
0aa07d62fd Wait for script QProcess to properly exit. 2011-08-14 13:30:22 +02:00
Christian Muehlhaeuser
5449154ee9 * Fixed and cleaned up Logger class. 2011-08-14 08:19:48 +02:00
Christian Muehlhaeuser
2dc94021e2 * You can't expand anything in the track view of the album page. 2011-08-14 06:41:47 +02:00
Christian Muehlhaeuser
33a237086c * Fixed queue button flickering. Much smoother animation. QSplitter, I'll meet you in hell. 2011-08-14 06:29:07 +02:00
Christian Muehlhaeuser
aff34a9dc5 * Removed debugging utility. 2011-08-14 06:19:25 +02:00
Christian Muehlhaeuser
15f5212fa0 * Fixed TWK-375: TreeItemDelegate's painting for tracks was broken. 2011-08-14 04:54:45 +02:00
Christian Muehlhaeuser
add8515111 * Fixed wording on album page. 2011-08-14 04:28:03 +02:00
Christian Muehlhaeuser
37367bc5da * Further cleanups and fixed QPixmap warning: We need to store Source's QPixmaps as pointers, since a Source is being constructed in a thread. 2011-08-14 04:13:38 +02:00
Christian Muehlhaeuser
9ec9901e14 * Remove WebCollection altogether. We've established it's not quite gonna work out that way. 2011-08-14 03:28:35 +02:00
Christian Muehlhaeuser
1fb0af1d97 * Don't initialise a WebCollection. 2011-08-14 03:23:12 +02:00
Christian Muehlhaeuser
989243914c * Fixed queue not allowing to remove items from it. 2011-08-14 03:14:39 +02:00
Dominik Schmidt
7d8e29a932 Removed revision.txt. No warranty, I'm drnuk 2011-08-14 02:47:45 +02:00
Christian Muehlhaeuser
001c42f19f * Removed obsolete tomahawk.nsi. 2011-08-14 02:29:53 +02:00
Dominik Schmidt
d871762897 Remove another obsoleted file 2011-08-14 02:20:20 +02:00
Christian Muehlhaeuser
c5bfb4827d * Removed obsolete files. 2011-08-14 01:46:47 +02:00
Christian Muehlhaeuser
6dd1952ad3 * Fixed TWK-373: Auto-load covers, without waiting for the scrollbar to be triggered. 2011-08-14 01:33:12 +02:00
Christian Muehlhaeuser
28e18b66a6 * Fixed TWK-366: Don't accept drops unless we are using a backing playlist. 2011-08-14 01:25:54 +02:00
Christian Muehlhaeuser
99c61d1731 * Removed debug. 2011-08-14 00:54:56 +02:00
Christian Muehlhaeuser
65835fc2b2 * Fixed cut-off text in WelcomeWidget on non-OSX. 2011-08-14 00:54:56 +02:00
Leo Franchi
4732db07d1 draw a border on osx around album covers as there's no selection background 2011-08-13 18:39:03 -04:00
Leo Franchi
67763df201 use a grey instead of blue for osx selection rect 2011-08-13 17:20:05 -04:00
Leo Franchi
1ef2be9f3c Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-08-13 17:13:30 -04:00
Leo Franchi
3b148c66ad Paint a selection rect around items in the config dialog on osx 2011-08-13 17:13:05 -04:00
Dominik Schmidt
968bee2a62 Gooooood mooooorniiiing, viiieeetnaaam! 2011-08-13 23:00:00 +02:00
Christian Muehlhaeuser
a7a4b97df8 * Fixed TWK-362: Only display other albums on album page. 2011-08-13 22:56:51 +02:00
Dominik Schmidt
999b9bae22 Restructure version string generation 2011-08-13 22:42:08 +02:00
Dominik Schmidt
e6bb2877ee Fix building installers for windows 2011-08-13 22:18:44 +02:00
Leo Franchi
e367e49039 Remove assertion---happens easily on shutdown if you quit too early while tomahawk is loading, and i've never seen it otherwise. 2011-08-13 16:08:27 -04:00
Dominik Schmidt
47a92664df Recover from apachalogger's "fixes" :P 2011-08-13 21:51:31 +02:00
Leo Franchi
29b0b4e431 Draw whole row background on osx 2011-08-13 15:15:50 -04:00
Leo Franchi
9ca97d2e1a Paint proper text color in tree item delegate 2011-08-13 14:57:03 -04:00
Leo Franchi
50267afe06 Fix cutting off playlistview column in short with avatar mode 2011-08-13 10:14:20 -04:00
Christian Muehlhaeuser
3766edcc43 * Cleaned up tomahawkapp.cpp. 2011-08-13 07:28:15 +02:00
Christian Muehlhaeuser
51b39b5302 * Source & warning cleanup. 2011-08-13 07:25:58 +02:00
Christian Muehlhaeuser
35fdb26b77 * Confusing. It was just working a second ago. 2011-08-13 06:04:43 +02:00
Christian Muehlhaeuser
74d52e3208 * Fixed cross compiling with MinGW. 2011-08-13 05:58:05 +02:00
Christian Muehlhaeuser
db4437cf62 * Fixed adding tracks to the top-level in TreeModel. 2011-08-13 05:37:30 +02:00
Christian Muehlhaeuser
b766f6808f * Fix cross compiling with MinGW and try to unbreak the MainWindow a bit more. 2011-08-13 04:49:09 +02:00
Christian Muehlhaeuser
dce31156db * Another attempt. 2011-08-13 04:46:56 +02:00
Christian Muehlhaeuser
637ec28ab1 * Try to fix ViewManager, too. 2011-08-13 04:38:08 +02:00
Christian Muehlhaeuser
f15dd8153f * Try to fix OS X painting glitch. 2011-08-13 04:23:37 +02:00
Christian Muehlhaeuser
aa68229ac6 * Fixed TWK-107: paint dividers between toolbar, central widget and status bar. 2011-08-13 04:16:04 +02:00
Michael Zanetti
5e6751dc64 merge lfranchi's commit 2011-08-13 04:07:29 +02:00
Michael Zanetti
aff075f2ad added --help command line option 2011-08-13 03:23:00 +02:00
Michael Zanetti
7baf43e3d7 shrink font in newplaylistwidget und allow wordwrap for the text 2011-08-12 22:38:03 +02:00
Leo Franchi
b43fe66409 Hide header for track list in welcome widget 2011-08-12 15:34:21 -04:00
Leo Franchi
809d1139d4 Never sh ow horiz scrollbar in welcomewidget trackview 2011-08-12 15:13:03 -04:00
Jason Herskowitz
009be45dc3 Cha-cha-cha-changelog 2011-08-12 14:51:59 -04:00
Leo Franchi
7d90bc7426 support rd.io shortened links too 2011-08-12 13:04:12 -04:00
Leo Franchi
bb0e7e7631 changelog 2011-08-12 12:52:13 -04:00
Leo Franchi
01c5012028 use artist-description radio instead of song-radio when no artist/song elements are present. fixes TWK-355 2011-08-12 12:50:49 -04:00
Leo Franchi
b9f7bf2656 misc avatar and welcome widget work 2011-08-12 12:30:33 -04:00
Jason Herskowitz
70b0203acd More changelogging. 2011-08-12 09:27:40 -04:00
Dominik Schmidt
1245ae7ac2 Fix linking against QtUiTools on windows 2011-08-12 15:22:06 +02:00
Christian Muehlhaeuser
eda6f8ff8f * We're officially 0.2.0 (rc1) now. 2011-08-12 15:11:34 +02:00
Leo Franchi
4bef594b53 actually fix things :) 2011-08-12 09:11:05 -04:00
Leo Franchi
a72ef2bf6e qt.conf, not info.plist 2011-08-12 09:06:53 -04:00
Harald Sitter
1d6697f11d use cmake_module_path for includes of cmakemodules 2011-08-12 14:25:42 +02:00
Dominik Schmidt
6be91dd558 Fix cross-compilation in cmake 2.8.5 2011-08-12 14:05:47 +02:00
Dominik Schmidt
dc34262445 Hopefully fix AddAppIconMacro inclusion problems for everyone 2011-08-12 13:59:43 +02:00
Leo Franchi
bb1a06a636 mac-specific tweaks 2011-08-12 00:18:38 -04:00
Leo Franchi
1fa1ed42e9 Paint a nicer playlist delegate, and number count backdrop 2011-08-12 00:10:31 -04:00
Christian Muehlhaeuser
fe15fcd1f5 * Remove obsolete method. 2011-08-12 04:18:51 +02:00
Dominik Schmidt
7169aa352e cmake: check for QtWebkit 2011-08-12 04:01:39 +02:00
Dominik Schmidt
4da0b72ded cmake: check for boost 2011-08-12 03:56:30 +02:00
Leo Franchi
7a4a2f5b70 didn't mean to commit that change, doing a partial update of the playlist delegate isn't great 2011-08-11 21:26:05 -04:00
Christian Muehlhaeuser
744f31bb45 Added almost-finished AlbumInfoWidget. 2011-08-12 03:23:46 +02:00
Christian Muehlhaeuser
53f812ed42 * Used tLog() instead of qDebug() for jabber errors. 2011-08-12 03:23:46 +02:00
Leo Franchi
91525bf5d9 reload top loved tracks playlist with love by local source as well 2011-08-11 21:19:57 -04:00
Leo Franchi
595d0cf987 Update playlists when revision info comes in 2011-08-11 21:11:59 -04:00
Leo Franchi
78d867b16f add rdio link parsing 2011-08-11 20:37:17 -04:00
Leo Franchi
2a061b5bf1 change Recently Played for super collection to Dashboard 2011-08-11 18:37:31 -04:00
Leo Franchi
11f7f4a25e re-enable avatars in recently played tracks list, as per TWK-346 2011-08-11 18:24:39 -04:00
Leo Franchi
a9c0d5f820 only show infinity icon for stations, not auto playlists 2011-08-11 18:10:55 -04:00
Leo Franchi
c99fff2b16 Polish up the playlist widget a whole bunch. TWK-348 2011-08-11 18:06:48 -04:00
Michael Zanetti
eda5893012 removed unused function 2011-08-11 23:59:11 +02:00
Michael Zanetti
0e6c79b921 auto-expand the local collections on startup 2011-08-11 23:51:56 +02:00
Christian Muehlhaeuser
c8ba2ee171 Revert "Use 512x512 icon on osx as lion has bigger icon previews"
This reverts commit b7649a3281.
2011-08-11 22:27:31 +02:00
Leo Franchi
206c212767 Don't install Info.plist at cmake time, as it is only valid for releases 2011-08-11 16:07:12 -04:00
Leo Franchi
b0d01ec0fb Add a new macdeploy.py script that intelligently handles osx bundling
Add sip plugins and spotify

Remove old scripts and update build-release-osx.sh to use new macdeploy

Remove old files
2011-08-11 14:40:12 -04:00
Christian Muehlhaeuser
d7100c0e8e * Generally prioritize resolving newer queries to make the GUI feel more responsive. 2011-08-11 18:10:06 +02:00
Christian Muehlhaeuser
6d82ae0c4d * Don't try to resolve search queries when appending them to the SearchWidget's TrackModel. 2011-08-11 15:48:27 +02:00
Jason Herskowitz
649d30e11b Add album art drop shadow. Take 1. 2011-08-11 09:15:07 -04:00
Jason Herskowitz
f36cf0e5fa Make light gray on track placeholder icon match the gray used on album placeholder image. 2011-08-11 08:19:49 -04:00
Christian Muehlhaeuser
e0b406e7ef * Fixed TWK-325: Show a spinner animation while searching for tracks. 2011-08-11 13:58:22 +02:00
Leo Franchi
ca65bb2ccc Don't disable play/pause ever now that we have a stacked layout 2011-08-10 23:17:32 -04:00
Leo Franchi
3a890ee929 Use QStackedLayout instead of show/hide for play/pause widget. Fixes flicker. Extra 2px of spacing i can't get rid of... will work harder. TWK-128 2011-08-10 22:52:50 -04:00
Leo Franchi
c7333a2f1f Merge branch 'leo-test' 2011-08-10 22:51:52 -04:00
Christian Muehlhaeuser
0dd29ffa3d * Use track-placeholder.png in the PlaylistItemDelegate. 2011-08-11 02:48:28 +02:00
Christian Muehlhaeuser
503de73c7f * Use smaller fonts for PipelineStatus- & TransferView. 2011-08-11 02:40:08 +02:00
Christian Muehlhaeuser
5377ff718d Merge pull request #33 from Horrendus/patch-1
Corrected the Path for Jreen
2011-08-10 16:55:04 -07:00
Stefan Derkits
caef0ccdbd Corrected the Path for Jreen 2011-08-11 02:54:32 +03:00
Christian Muehlhaeuser
9e901dba2d * Disable horizontal scrollbars in TransferView. 2011-08-11 01:51:25 +02:00
Christian Muehlhaeuser
291035db9c * Fixed TWK-343, wording in SourceInfoWidget. 2011-08-11 01:30:09 +02:00
Christian Muehlhaeuser
a065480f75 * Let headless users trigger a rescan with --filescan. 2011-08-11 00:57:33 +02:00
Michael Zanetti
3fa64c76ee make use of the avatar frame in recently played 2011-08-11 00:14:20 +02:00
Jason Herskowitz
554a688077 Add track placeholder image for artist pages (Top Hits) and New Additions pages (Latest Additions). 2011-08-10 16:56:02 -04:00
Jason Herskowitz
c1f043d2d1 Mo' better avatar frame 2011-08-10 16:20:50 -04:00
Michael Zanetti
bc3662a997 added the avatar frame also to the Collection and SuperCollection icons
BUG: TWK-337
2011-08-10 17:23:02 +02:00
Michael Zanetti
d3ab32d06a changed color of score bars to match the rest of the color palette
BUG-252
2011-08-10 17:23:02 +02:00
Leo Franchi
c36373569a Check for KDE4 dev headers, in order for sip icons to show up in delegate. No, I don't have any clue why this fixes it. Stop asking. Go Away. 2011-08-09 22:46:50 -04:00
Michael Zanetti
3dbc426954 fixed the off-by-one issue with avatar frames 2011-08-10 04:10:16 +02:00
Jason Herskowitz
4415aa59f8 Make 32px image actually be 32px 2011-08-09 21:55:31 -04:00
Christian Muehlhaeuser
6fdec28f50 * Silly whitespace fixes. 2011-08-10 03:47:46 +02:00
Christian Muehlhaeuser
ef2514e95c * Added convenient new Album::get method. 2011-08-10 03:47:46 +02:00
Michael Zanetti
27480f8cdb added SettingsListDelegate to center the items in SettingsDialogList
BUG: 314
2011-08-10 03:41:02 +02:00
Jason Herskowitz
fbcfb552ad Make inner square of frame a square instead of a rectangle so the image doesn't look off-center. 2011-08-09 21:16:50 -04:00
Michael Zanetti
25012ecc26 changed slider button stylesheets to allow moving them to the end
BUG: TWK-289
2011-08-10 00:14:03 +02:00
Michael Zanetti
c29ce585a5 Added a frame to the avatars as requested in bug TWK-106.
The frame image must be in displayed size and the avatar takes 80% of the available space centered.
2011-08-10 00:14:03 +02:00
Leo Franchi
3af34a8581 Only show loved tracks (not loved or unloved) in playlist. Update existing social action instead of duplicating it.. 2011-08-09 10:48:26 -04:00
Leo Franchi
9ec284bfa5 Merge branch 'master' into leo-test
Conflicts:
	src/libtomahawk/playlist/dynamic/DynamicPlaylist.h
	src/libtomahawk/widgets/welcomeplaylistmodel.cpp
2011-08-09 07:26:26 -04:00
Leo Franchi
585bfcdc49 debug-- 2011-08-09 07:12:55 -04:00
Leo Franchi
339710c86a Find playlist/dynplaylist item to activate if opened from non-sidebar. TWK-300. Ugh. 2011-08-08 23:24:24 -04:00
Christian Muehlhaeuser
fc43a6a851 * Hide the last.fm test button on OS X - for the 0.2 release. 2011-08-09 03:41:06 +02:00
Christian Muehlhaeuser
4b2c6e8d89 * 50 fps is enough for our AnimatedSplitter animation. 2011-08-09 03:36:16 +02:00
Christian Muehlhaeuser
6cba708640 * BUG: TWK-312 - Fixed AnimatedSplitter cutting off child widgets. 2011-08-09 03:21:55 +02:00
Dominik Schmidt
a46aadd843 Use filter.png for the filter in the topbar 2011-08-09 03:20:54 +02:00
Leo Franchi
d7dd3292ff be safer and don't crash. TWK-333 2011-08-08 21:07:49 -04:00
Dominik Schmidt
6b62265708 Show what you've actually searched for in the sidebar 2011-08-09 02:52:01 +02:00
Christian Muehlhaeuser
304981c28b * We should still remove the query from the pending list in Pipeline. 2011-08-09 02:00:03 +02:00
Dominik Schmidt
ba0c21e111 Show tomahawk version in the diagnostics dialog 2011-08-09 01:48:20 +02:00
Christian Muehlhaeuser
023be21950 * Fixed the preemptive onResolvingFinished() call triggered by the Pipeline. Fixes stations, I bet. 2011-08-09 00:54:56 +02:00
Michael Zanetti
fb95568196 Start playing on ENTER in artistview
BUG: TWK-204
2011-08-09 00:45:37 +02:00
Christian Muehlhaeuser
d9a4b718ed * Use setPixelSize instead of setPointSize. Should fix HeaderLabel weirdness on some systems. 2011-08-08 21:55:39 +02:00
Christian Muehlhaeuser
72add01e66 * Prevent multiple resolvingFinished() signals being emitted from Query. 2011-08-08 21:32:54 +02:00
Dominik Schmidt
f05c58150e Fix FindPhonon.cmake to respect find_version 2011-08-08 14:54:54 +02:00
Dominik Schmidt
7dc1e94ae6 Fix FindCLucene.cmake to respect find_version 2011-08-08 14:53:35 +02:00
Dominik Schmidt
8e07eb5c55 Use macro_optional_find_package everywhere. FindPhonon needs to be fixed
to respect the version number.
2011-08-08 14:08:17 +02:00
Leo Franchi
44aa85b51e support spotifyURL and spotifyURI in track/open, track/queue, and track/play links 2011-08-07 17:43:48 -04:00
Jason Herskowitz
dcf1ebb70f Don't forget one of the drag indicator icon sizes (22x22) 2011-08-07 17:37:27 -04:00
Leo Franchi
0865741733 Don't draw white text on light background 2011-08-07 17:09:18 -04:00
Leo Franchi
58c18acd01 Load automatic playlists and stations in Newest Stations and Playlists list... 2011-08-07 17:09:18 -04:00
Leo Franchi
4630b238bf Merge branch 'master' into leo-test
Conflicts:
	src/audiocontrols.cpp
2011-08-07 17:00:16 -04:00
Jason Herskowitz
f3dc1a0800 Trying some new matching icons for the drag indictors for songs 2011-08-07 16:44:57 -04:00
Leo Franchi
7df6e8c153 use avatar icon in recently played tracks for not-found avatars 2011-08-07 12:41:29 -04:00
Leo Franchi
566880365a Better copy for loved tracks playlist, and show all without limit. 2011-08-07 12:41:29 -04:00
Dominik Schmidt
dd54736e76 Unbreak clang compilation. 2011-08-07 15:56:06 +02:00
Leo Franchi
2c8fac1f8c Actually draw speaker icon in playlist delegate. I'm assuming this was a typo... 2011-08-06 23:59:41 -04:00
Leo Franchi
ce4328c0c3 Hide headers for related artists treeview in artistinfowidget. Don't ask my why it has to happen when it's already displayed.
Fixes TWK-310
2011-08-06 23:34:14 -04:00
Leo Franchi
c6a65a5ba4 Use a lighter color on os x as highlight color for score bar is way too bright. 2011-08-06 20:41:21 -04:00
Leo Franchi
8230e8bfac Asynchronously update on social action loading so loved tracks show up loaded 2011-08-06 18:30:17 -04:00
Leo Franchi
23ea7537e6 Report social action changes and refresh loved playlists 2011-08-06 18:06:21 -04:00
Leo Franchi
b9733249ee Sort by time and show source's own loved tracks 2011-08-06 17:24:05 -04:00
Leo Franchi
ffd5a2f81e Ooops, use true not 1 2011-08-06 16:58:07 -04:00
Leo Franchi
eefc6fd5da OSX Compile 2011-08-06 16:21:01 -04:00
Leo Franchi
d69b10c148 Merge branch 'databasegenerator' 2011-08-06 14:41:59 -04:00
Leo Franchi
9fbbcb6b53 Hide generator combobox until we have more than one generator 2011-08-06 14:41:47 -04:00
Leo Franchi
c6eee1324b Paint dynamic controls the same hue as overlay widget. TWK-309 2011-08-06 14:41:47 -04:00
Leo Franchi
b960be9d97 Get top 60 loved tracks, not 30 2011-08-06 14:41:35 -04:00
Leo Franchi
cdfd6a3464 dd proper loved tracks queries 2011-08-06 14:35:51 -04:00
Leo Franchi
4cfd039c40 social action stuff 2011-08-06 12:40:29 -04:00
Frank Osterfeld
8e4ea5e88f Link on OS X 2011-08-06 18:28:55 +02:00
Jason Herskowitz
76fbe88e95 More changelogging 2011-08-05 17:47:27 -04:00
Leo Franchi
1759d1ea19 Add a loved tracks playlist, and aggregate loved tracks playlist, minus the actual valid tracks 2011-08-05 17:17:28 -04:00
Leo Franchi
703823f553 fix up some copyrights from muesli's script 2011-08-05 16:05:53 -04:00
Leo Franchi
aeb949aa23 Fix merge 2011-08-05 15:39:04 -04:00
Leo Franchi
b15d3162de Merge branch 'master' into databasegenerator
Conflicts:
	src/libtomahawk/CMakeLists.txt
	src/libtomahawk/globalactionmanager.cpp
2011-08-05 15:38:26 -04:00
Leo Franchi
b2deebe0c2 Hide generator combobox until we have more than one generator 2011-08-05 15:36:04 -04:00
Leo Franchi
5d5b5fa3af Paint dynamic controls the same hue as overlay widget. TWK-309 2011-08-05 14:55:39 -04:00
Leo Franchi
f151b59431 Show search and artist pages as temporary pages in sidebar
Remove margins and spacing from searchwidget
Remove "Cancel" button as no other view pages have cancel buttons, and we can't delete a page if we show it as a temporary page anymore
2011-08-05 14:36:52 -04:00
Leo Franchi
c7c12eef93 Show drop indicator after last track if it's dropped below 2011-08-05 14:22:34 -04:00
Leo Franchi
b67623e649 Don't redefine signals 2011-08-05 14:14:59 -04:00
Leo Franchi
8834bf81fa save styles/moods to file, instead of loading on demand sillyness. Fixes TWK-308 2011-08-05 14:06:39 -04:00
Leo Franchi
0877b17a58 Handle multiply-shortened urls. 2011-08-05 12:46:37 -04:00
Leo Franchi
7df1f7a8b8 Expand bit.ly, t.co, and j.mp links to spotify tracks 2011-08-05 12:38:16 -04:00
Leo Franchi
453bf6206c Only accept spotify tracks by default 2011-08-05 12:00:57 -04:00
Leo Franchi
4d31eac5f6 Emit trackCountChanged when dropping tracks in a playlist. Handle Qt/Mac bug where drops from outside the app are Qt::MoveAction not Qt::CopyAction 2011-08-05 11:57:42 -04:00
Leo Franchi
7feb9d5249 Draw proper drop index, since on some platforms (OS X :( ) visualRect() and indexAt() aren't commutative... 2011-08-05 11:46:18 -04:00
Alejandro Wainzinger
0c4746430b Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-08-05 17:33:22 +02:00
Alejandro Wainzinger
ec02854490 Do not backwards the signals connect for next/previous.
* Fixed TWK-313 - fix signal/slot connection for next/previous actionmenu items.
2011-08-05 17:31:31 +02:00
Leo Franchi
ae48c151d0 Show indicator on osx too. NO CLUE why this fixes it.. 2011-08-05 11:21:26 -04:00
Leo Franchi
57dfd6b4b2 Set drop rect from left edge to right edge always, don't rely on QAIV for native drag-drops 2011-08-05 11:14:08 -04:00
Leo Franchi
0e2dd37559 allow dropping onto AudioControls to start playing 2011-08-05 10:39:08 -04:00
Leo Franchi
98030c9b05 Merge branch 'dragndrop' 2011-08-05 07:57:26 -04:00
Leo Franchi
89cec23815 On OS X drops from outside the apps are Qt::MoveActions.... 2011-08-05 07:53:30 -04:00
Dominik Schmidt
e476251c5e Remove ugly dash from rc version 2011-08-05 02:56:57 +02:00
Leo Franchi
4a3bca9bf4 Factor out dragndrop support across tomahawk into GlobalActionManager, add spotify support 2011-08-04 19:01:41 -04:00
Jason Herskowitz
0ad60299ef Cleaned up formatting a bit. 2011-08-04 18:29:59 -03:00
Jason Herskowitz
1d13bc2e40 Stop repeating myself in changelog 2011-08-04 15:30:55 -04:00
Jason Herskowitz
04bff62705 Couple of edits to changelog. Added desktop notifications (linux) and removed libpng entry. 2011-08-04 15:26:44 -04:00
Jason Herskowitz
e4893be501 More changelogifying. Take a look and see if I missed anything or added too much. 2011-08-04 15:23:12 -04:00
Jason Herskowitz
fe762d4fc5 Changelogifying 2011-08-04 14:35:31 -03:00
Jason Herskowitz
dbb7c64807 de-biggified the info.png icon by adding padding to image 2011-08-04 10:12:15 -04:00
Jason Herskowitz
2fdab5c9a1 New 16x16 info.png. May play around with different icons, but scales well now. 2011-08-04 07:51:24 -04:00
Christian Muehlhaeuser
18628defa4 * Fixed info.png's size. 2011-08-04 06:34:36 +02:00
Christian Muehlhaeuser
4a34b97e8c * This should fix the Windows local file playback issues. 2011-08-04 06:11:14 +02:00
Leo Franchi
9d88c9a0f7 Add support for JSPF playlists, remote and local. TWK-303 2011-08-03 23:35:10 -04:00
Leo Franchi
a9111267e8 Merge branch 'master' into databasegenerator
Conflicts:
	src/libtomahawk/CMakeLists.txt
	src/libtomahawk/database/databasecommand_createplaylist.cpp
	src/libtomahawk/playlist/dynamic/DynamicPlaylist.h
2011-08-03 23:31:25 -04:00
Leo Franchi
d3eb8df91a Add support for JSPF playlists, remote and local 2011-08-03 23:26:24 -04:00
Christian Muehlhaeuser
f010736e0d * Call setVisible on the lineEdit... just to be sure. 2011-08-04 05:24:46 +02:00
Christian Muehlhaeuser
9a1ac2f505 * Ignore empty searches. 2011-08-04 05:21:33 +02:00
Christian Muehlhaeuser
8c3ea50301 * Added native MacLineEdit widget and used it in TomahawkWindow's toolbar. 2011-08-04 05:11:12 +02:00
Leo Franchi
5fd8e2181d support playing spotify track urls (http://open.spotify.com or spotify:track). No drag-n-drop yet. 2011-08-03 18:06:49 -04:00
Christian Muehlhaeuser
92efd0da7f * Hopefully fixes the file:// issues on Windows. 2011-08-03 23:47:02 +02:00
Leo Franchi
326b75aefe Don't crash if user rapidly regenerates automatic playlists 2011-08-03 16:58:24 -04:00
Christian Muehlhaeuser
5e4b5fa0d0 * Fixed race condition in AudioEngine. 2011-08-03 16:45:41 +02:00
Leo Franchi
8f4ea6d95d Crash less 2011-08-03 10:44:14 -04:00
Christian Muehlhaeuser
d803a36915 * Possible fix for windows filename issues. 2011-08-03 15:33:21 +02:00
Leo Franchi
12f6d1f780 Always trigger sync for local playlist creation 2011-08-02 23:28:51 -04:00
Leo Franchi
5c58bc1d58 Be safer when deleting playlist category items, this might fix some weirdness 2011-08-02 23:28:51 -04:00
Jason Herskowitz
ae66fb8c5c Add share icon to use for tweet/post action 2011-08-02 21:52:14 -04:00
Jason Herskowitz
4a93bb97fc Adding an icon for 'filter' so we don't have to use the same magnifying glass we use for search 2011-08-01 21:36:00 -04:00
Jeff Mitchell
35c3eedd93 Some Changelogifying. 2011-08-01 12:35:44 -04:00
Leo Franchi
ea69fe158a be careful 2011-08-01 11:39:03 -04:00
Christian Muehlhaeuser
de508c049b * A few more improvements to TrackView & PlaylistItemDelegate. 2011-08-01 09:51:24 +02:00
Christian Muehlhaeuser
cf56819b0c * Lower the FuncTimeouts again. I can't reproduce any issues here. 2011-08-01 09:38:49 +02:00
Christian Muehlhaeuser
2f7d13588f * Slightly improved flat-view's painting speed. 2011-08-01 09:32:08 +02:00
Christian Muehlhaeuser
7b2189cd6f * Disable mimetype checking for now. 2011-08-01 05:57:51 +02:00
Christian Muehlhaeuser
37e77f4fd7 * Removed InfoBar from welcome page. 2011-08-01 04:52:58 +02:00
Christian Muehlhaeuser
7ee6db41d6 * Ignore results with unsupported mimetypes. 2011-08-01 04:47:28 +02:00
Christian Muehlhaeuser
a8e72c3b26 * Never elide caption in InfoBar to avoid silly eliding problems. 2011-08-01 04:24:46 +02:00
Christian Muehlhaeuser
a41e84ae78 * Try to fix AnimatedSplitter. 2011-08-01 04:04:13 +02:00
Jason Herskowitz
bf37bad98a Another try on info.png 2011-07-31 21:47:18 -04:00
Christian Muehlhaeuser
374e6a0983 * Use info.png for contextual links. 2011-08-01 03:15:49 +02:00
Christian Muehlhaeuser
c06b5ea2f6 * Always wait for DatabaseResolvers to finish before shunting queries. 2011-08-01 02:37:55 +02:00
Christian Muehlhaeuser
243997b06e * Use new default artist placeholder image. 2011-08-01 02:27:12 +02:00
Christian Muehlhaeuser
d0858efd7d * Fixed warnings and removed weird margin on ArtistInfoWidget. 2011-08-01 02:20:46 +02:00
Leo Franchi
7ea0de753e remove empty Playlists or Stations entry if all are deleted from peers 2011-07-31 19:46:24 -04:00
Leo Franchi
432d6af37c Delete playlists from peers in the UI as well 2011-07-31 19:41:06 -04:00
Leo Franchi
e1943e6f64 Queue too-fast revision changes and replay them in order to avoid crashes while fast editing 2011-07-31 19:30:45 -04:00
Leo Franchi
e3dddea777 Fix external resolvers that depend on setup message 2011-07-31 13:16:10 -04:00
Leo Franchi
3e1d58463d Change Search to Filter in filter line edit for collections 2011-07-31 12:39:11 -04:00
Leo Franchi
8e51953427 Switch to using direct GenericSelect command 2011-07-31 11:44:23 -04:00
Leo Franchi
91bdfec734 Limit results to what was asked for 2011-07-30 17:16:56 -04:00
Leo Franchi
808901d192 Merge branch 'master' into databasegenerator 2011-07-30 17:06:06 -04:00
Leo Franchi
ce60c173b7 Add support for track, artist, and album generic queries 2011-07-30 17:05:01 -04:00
Leo Franchi
9c36b32e8e add migrate script 2011-07-30 16:13:29 -04:00
Leo Franchi
c76fabbc2b Create and load database-backed special dynamic playlists, and fix some debugs and stuff 2011-07-30 15:35:32 -04:00
Jeff Mitchell
75596c6744 Add initial configuration message support to external resolvers, send proxy info 2011-07-30 14:36:03 -04:00
Leo Franchi
ca467fb5bc Add support for non-autoloaded dynamic playlists that can be used for custom displays
Add a SocialPlaylistWidget that will display some cool social stats and lists, but none right now
2011-07-29 14:06:44 -04:00
Leo Franchi
9120f6436c Scroll per pixel on osx since that's how other apps do it, feels more natural with a trackpad 2011-07-28 16:18:19 -04:00
Leo Franchi
b7649a3281 Use 512x512 icon on osx as lion has bigger icon previews 2011-07-27 08:46:11 -04:00
Thierry Goeckel
10ec1f4f89 Correct minor mistakes according online lint. 2011-07-26 20:20:35 +02:00
Leo Franchi
9fdddbf04e Slow down pipeline a bit to fix spotify resolver; need to talk to chris about why the timeout change broke it. 2011-07-26 09:25:24 -04:00
Leo Franchi
0380379634 Fix obscene filename of class 2011-07-25 18:16:37 -04:00
Leo Franchi
72bfeba65a add to cmakelists 2011-07-25 18:15:46 -04:00
Leo Franchi
4a8b851ba5 Initial database generators 2011-07-25 18:15:39 -04:00
Jason Herskowitz
5fca433805 New album placeholder artwork. Better or worse? 2011-07-25 16:53:17 -04:00
Leo Franchi
cb75c10390 Attempt to stop eliding on osx and also keep things sane elsewhere 2011-07-25 11:58:26 -04:00
Leo Franchi
b7432c8b6c Try using non-escaped path for QFile::exists() 2011-07-25 11:01:25 -04:00
Leo Franchi
df6dc711fc qDebug()-- 2011-07-25 10:52:31 -04:00
Leo Franchi
6a8febcdce Make compile on lion 2011-07-25 10:32:42 -04:00
Christian Muehlhaeuser
ff4e52c398 * Fixed CPack.txt package details. 2011-07-25 14:48:31 +02:00
Christian Muehlhaeuser
2cf9cdab88 * Added QPixmap-caches to Album- & PlaylistItem delegates, too. 2011-07-25 04:01:23 +02:00
Christian Muehlhaeuser
1a3cae012e * Add a QPixmap-cache to the TreeView delegate. 2011-07-25 03:55:02 +02:00
Christian Muehlhaeuser
d4ccbdfa56 * Fixed QTimeLine warning and give the biography on the Artist-Page as much space as possible. 2011-07-25 03:44:05 +02:00
Christian Muehlhaeuser
87531a7ac9 * Get rid of dupe qsrand()s. We do that on startup. 2011-07-25 03:26:58 +02:00
Christian Muehlhaeuser
0c5673ca79 * Filter out duplicate tracks in the Tree Collection. 2011-07-25 03:07:36 +02:00
Christian Muehlhaeuser
ff7012a65d * Start tomahawk with --verbose to get full logging and console output, again. 2011-07-25 01:57:10 +02:00
Christian Muehlhaeuser
601b513da3 * Cleaned up more logging. 2011-07-25 01:41:49 +02:00
Christian Muehlhaeuser
cf6a3c9448 * Further cleanups & logging. 2011-07-25 00:48:40 +02:00
Christian Muehlhaeuser
8c78c0dc08 * Added logging levels. 2011-07-25 00:48:40 +02:00
Christian Muehlhaeuser
bb4b3b4faf * Added tDebug and a debug-level. Don't log qDebug to disk _ever_. 2011-07-25 00:48:40 +02:00
Christian Muehlhaeuser
4caf6d6a28 * Logging cleanups. 2011-07-25 00:48:39 +02:00
Dominik Schmidt
499f45402f Build installers with phonon-vlc and vlc from 0.1 time because currently mingw32-phonon-vlc is broken 2011-07-25 00:32:35 +02:00
Christian Muehlhaeuser
ddedc74501 * GPL headers for AvatarManager. 2011-07-24 20:08:58 +02:00
Christian Muehlhaeuser
0526d4071d * Fixed a few more GPL headers. 2011-07-24 20:07:04 +02:00
Christian Muehlhaeuser
7555c06c0f * Added GPL header to Logger. 2011-07-24 20:05:14 +02:00
Christian Muehlhaeuser
55bef176d3 * Make tLog() work properly. 2011-07-24 19:22:44 +02:00
Christian Muehlhaeuser
9c341bb3e6 * Disable qDebug() logging for release builds. Use tLog() for logging from NOW on. 2011-07-24 18:36:58 +02:00
Christian Muehlhaeuser
41f1a562fd * Fixed DatabaseWorker logic. 2011-07-24 18:36:58 +02:00
Dominik Schmidt
34c618ed94 Fix windows deployment to use local vlc plugins again 2011-07-24 00:36:34 +02:00
Jeff Mitchell
a9e3b716f2 Make things a little safer and also try setting an explicit nam configuration on liblastfm2 in settings dialog to see if that fixes the Mac problem 2011-07-23 13:15:20 -04:00
Jeff Mitchell
287990ca96 Don't reconnect twitter on settings change if it wasn't already connected 2011-07-23 11:46:15 -04:00
Jeff Mitchell
9e54917ff8 Remove now-unnecessary and buggy proxy code in jabber plugin 2011-07-23 11:37:32 -04:00
Jeff Mitchell
40d44c31d0 Add more debug 2011-07-23 11:30:02 -04:00
Jeff Mitchell
f4be7f09e6 Merge branch 'master' into proxytesting 2011-07-23 10:32:20 -04:00
Jeff Mitchell
794d6f870c Add weird debug output from jabber sip 2011-07-22 16:42:27 -04:00
Leo Franchi
8f6a567bee Work harder to hide the header 2011-07-22 14:35:38 -04:00
Leo Franchi
ea3171038b Make playlist album rows the same size as track album rows 2011-07-22 13:54:30 -04:00
Leo Franchi
ee3fb6b47e Don't paint selected text as white on osx, there's no selection rect. 2011-07-22 13:13:20 -04:00
Leo Franchi
b194d8c9cd Use new no-album-cover found image, nicer 2011-07-22 13:13:20 -04:00
Leo Franchi
a7308cddcc Scale pixmaps smoothly to avoid horrible jagged edges 2011-07-22 13:13:20 -04:00
Leo Franchi
7f890e571d Hide header as it's not needed 2011-07-22 13:13:20 -04:00
Christian Muehlhaeuser
4a5a8e5d15 * Don't artificially slow down the Pipeline. 2011-07-22 18:31:10 +02:00
Leo Franchi
66b1e21f31 Use QSplitter to get a 1px handle to avoid merging different alternate-color rows 2011-07-22 11:11:29 -04:00
Leo Franchi
36573c2342 Load album before adding to view to avoid flashing empty playlist message 2011-07-22 11:11:13 -04:00
Leo Franchi
0b9822d689 make compile on non-osx 2011-07-21 16:25:58 -04:00
Leo Franchi
f36b95fe6b OSX: Don't quit on window close, to conform to OSX expectations. Add Show/Hide action to tray icon. 2011-07-21 16:21:45 -04:00
Leo Franchi
1da74e4d81 Add a stretch factor to the title of the playlist header, things like "My Collection" don't get elided to My...tion 2011-07-21 14:55:57 -04:00
Leo Franchi
c0ee4751a0 make link manager adapt to pipeline reportresult changes 2011-07-21 13:34:44 -04:00
Christian Muehlhaeuser
aa5fb8bc53 * Fixed GStreamer pausing - even more. Sigh for Phonon's states. 2011-07-21 18:49:22 +02:00
Leo Franchi
57cdd0d960 Bring to front on mac when a tomahawkurl is opened in Tomahawk. Will add linux and win-specific code as well. 2011-07-21 11:22:26 -04:00
Alejandro Wainzinger
4ac6c32a45 Use clear() to clear text, not a QString(). 2011-07-21 05:16:09 -07:00
Alejandro Wainzinger
00c122b05c * Fixed TWK-249 - Add a bit more widget spacing to fix clipping of search box. 2011-07-21 05:14:31 -07:00
Alejandro Wainzinger
bcf7d9d689 * Fixed TWK-261 - Make "show offline sources" a checkable option, and save its value in settings. 2011-07-21 01:57:41 -07:00
Christian Muehlhaeuser
dbf31d704a * Cleaned up QtScriptResolver and added vital debug output. 2011-07-21 00:59:26 +02:00
Christian Muehlhaeuser
7f4d64d8dc * Always apply ProxyStyle. 2011-07-21 00:43:15 +02:00
Jeff Mitchell
2f95e0b191 Fix mistaken logic not using the map created especially for its
purpose...
2011-07-20 18:35:50 -04:00
Jeff Mitchell
86ac66a258 Use the enum value, to avoid out-of-order documentation mixup 2011-07-20 18:24:32 -04:00
Leo Franchi
f5e39c216e properly decode escaped characters coming from the HTTP api 2011-07-20 14:12:17 -04:00
Leo Franchi
5336700050 find LIBLASTFM_FOUND properly instead of always finding it as false 2011-07-20 07:43:01 -04:00
Christian Muehlhaeuser
bb8c60c939 * Removed obsolete includes from TomahawkWindow. 2011-07-20 08:26:16 +02:00
Christian Muehlhaeuser
48b2c77e6b * Cleaned up TomahawkWindow. 2011-07-20 08:22:38 +02:00
Christian Muehlhaeuser
900be23fa0 * A few updates to the german translation. 2011-07-20 07:37:49 +02:00
Christian Muehlhaeuser
fbb9e74537 * Fixed german translation setting a global quit shortcut on the key 'Q'. 2011-07-20 07:20:32 +02:00
Christian Muehlhaeuser
21abd78de5 * Remove not-working CMake cache solution. 2011-07-20 07:15:10 +02:00
Christian Muehlhaeuser
0a5f9ba290 * Use the same unique revision identifier as git itself. 2011-07-20 06:56:31 +02:00
Christian Muehlhaeuser
8d06d2ca38 * Try to force empty TOMAHAWK_VERSION in CMake cache. 2011-07-20 06:55:08 +02:00
Christian Muehlhaeuser
bbe81050f3 * Fixed sparkle updating and introduced TomahawkUtils::appFriendlyVersion(). 2011-07-20 06:01:58 +02:00
Christian Muehlhaeuser
751b76948e * Show which version is build during CMake debug output. 2011-07-20 05:51:40 +02:00
Christian Muehlhaeuser
485b40b22b * Added branch name to version string. 2011-07-20 05:47:13 +02:00
Christian Muehlhaeuser
4c8ba931d3 * Stop temporary query timer after it's been triggered. 2011-07-20 05:22:37 +02:00
Christian Muehlhaeuser
463eb2bfd8 * And even more Pipeline cleanups. 2011-07-20 04:53:43 +02:00
Christian Muehlhaeuser
7ab0a3093e * Few debug cleanups in Pipeline. 2011-07-20 04:41:59 +02:00
Leo Franchi
dabbd38cc7 Handle resolver file paths becoming invalid properly. Show user file is not found, etc. 2011-07-19 22:27:02 -04:00
Christian Muehlhaeuser
efd7911efc * Fixed another pipeline bug. 2011-07-20 04:25:44 +02:00
Christian Muehlhaeuser
9b8d69a21f * Fixed assert bug in pipeline. 2011-07-20 03:59:02 +02:00
Christian Muehlhaeuser
b39029743e * Fixed painting tracks with foreign charsets in sidebar. 2011-07-20 02:32:20 +02:00
Christian Muehlhaeuser
b771a23e23 * Fixed checking date executable variable. 2011-07-20 02:05:16 +02:00
Christian Muehlhaeuser
ffd4ba4edf * Fixed TWK-243: Show git revision in version number. 2011-07-20 02:02:37 +02:00
Christian Muehlhaeuser
6bfbbce05f * Fixed TWK-279 - Play first track of a playlist if play is clicked and nothing is playing yet. 2011-07-20 01:52:19 +02:00
Christian Muehlhaeuser
4a3f157718 * Fixed GStreamer skipping to the next track on pausing. 2011-07-20 00:17:15 +02:00
Christian Muehlhaeuser
920b239dc1 * Removed some more debug output from resolvers. 2011-07-19 23:40:21 +02:00
Christian Muehlhaeuser
1a81a292fc * Remove obsolete debug output. 2011-07-19 23:34:59 +02:00
Christian Muehlhaeuser
066aac7e26 * Fixed not properly ending drag and drop operation when leaving the sidebar. 2011-07-19 23:33:35 +02:00
Christian Muehlhaeuser
ac726faf1b * Also release non-temporary queries in Pipeline. 2011-07-19 23:13:16 +02:00
Christian Muehlhaeuser
dc5c0394f7 * Release unused queries in Pipeline. 2011-07-19 22:53:35 +02:00
Christian Muehlhaeuser
4098cc2709 * PlaylistInterface now provides getSharedPointer(). AudioEngine makes use of it and doesn't crash when encountering a deleted playlist. 2011-07-19 17:54:10 +02:00
Christian Muehlhaeuser
63aa26f607 * Fixed init procedure: don't setup Servent before database and sources are loaded. 2011-07-17 01:02:32 +02:00
Jason Herskowitz
4238327ebc Added icon for info icon/arrow that takes you to artist or album page. 2011-07-16 15:49:39 -04:00
Jason Herskowitz
120ee995f1 Placeholder images for missing album art, user avatar and artist image. Also sidebar icon for Loved Tracks. 2011-07-16 15:43:00 -04:00
Jeff Mitchell
7d7650f97c Fix twitter copy and also size issues. Fixes TWK-209. 2011-07-16 13:36:59 -04:00
Jeff Mitchell
b5d5db434a Change infosystem timeout values 2011-07-14 14:10:04 -04:00
Leo Franchi
a4a274531c Fix shortcuts on OS X 2011-07-14 10:42:27 +02:00
Jeff Mitchell
3a1083d2b3 Insert some code which is most likely totally do-nothing in the
offchance it solves jherskowitz's random crash...
2011-07-12 18:00:55 -04:00
Jeff Mitchell
e79604b598 Modify qHash/criteriamd5 algorithm to guarantee order of adding values
to the md5sum, since order matters in md5 and isn't guaranteed by
default in a QHash.

Requires a cache clear, which is done automatically.
2011-07-12 17:51:27 -04:00
Jeff Mitchell
43a1b38a49 Fix some objects in cache being "lost", such as similar artists/top
artist songs
2011-07-12 16:38:16 -04:00
Jeff Mitchell
e83be2b9cd Fix stupid C&P mistake that broke scrobbling. 2011-07-12 12:01:00 -04:00
Christian Muehlhaeuser
fcfc344627 * Fixed JavaScript resolvers not working. 2011-07-12 01:10:37 +02:00
Jeff Mitchell
28d34a84ad Add a cache versioning system, and invalidate the cache in the upgrade
to version 1
2011-07-11 16:01:53 -04:00
Christian Muehlhaeuser
3bd6bd540f * Updated .gitignore. 2011-07-11 16:59:43 +02:00
Christian Muehlhaeuser
c35d7c964a * Removed some InfoSystem debug output. 2011-07-11 16:59:15 +02:00
Christian Muehlhaeuser
15805aa32c * Improved AlbumView and cover fetching in Artist / Album-Model. 2011-07-11 16:52:09 +02:00
Christian Muehlhaeuser
6f14277821 * Updated .gitignore. 2011-07-11 03:36:11 +02:00
Christian Muehlhaeuser
2d66feb5b2 * Fixed default flat collection view sorting. 2011-07-11 03:24:33 +02:00
Christian Muehlhaeuser
a6944c49ae * Hide the origin column in the default flat collection view. 2011-07-11 03:05:14 +02:00
Christian Muehlhaeuser
3ad6826779 * Fixed bogus column widths when loading a flat collection view. 2011-07-11 02:59:13 +02:00
Christian Muehlhaeuser
0e04e8970b * Try to force updates when hovered item in a TrackView changes. 2011-07-11 02:49:46 +02:00
Christian Muehlhaeuser
76af86dc4b * Added direct links to Artist / Album - pages in TrackView. 2011-07-11 02:02:32 +02:00
Christian Muehlhaeuser
3d289c0f77 * Added musicbrainz InfoPlugin to CMakeLists.txt 2011-07-09 02:12:01 +02:00
Christopher Reichert
d7ea7e3eee Doxygen documentation for DatabaseCommand_LoadSocialAction. 2011-07-08 13:26:28 -05:00
Jeff Mitchell
e0b5597149 Huge overhaul of InfoSystem, using InfoRequestData structs to pass things around, making it far more clean (and easier to extend in the future) 2011-07-07 11:07:52 -04:00
Jeff Mitchell
d7950472bc Fix Mac compilation 2011-07-06 22:50:22 -04:00
Dominik Schmidt
dd311d99c4 Add more build dirs to the .gitignore 2011-07-07 04:18:18 +02:00
Dominik Schmidt
a634d09126 cpack: build proper source tarballs 2011-07-07 04:16:28 +02:00
Dominik Schmidt
7c5d6033d4 Add date and git revision to non-release package names 2011-07-07 03:18:12 +02:00
Dominik Schmidt
18aba6856b Use CPack for building the windows installer 2011-07-07 02:52:31 +02:00
Jeff Mitchell
51fba9ae62 Rename SavedRequestData and promote it 2011-07-06 17:32:02 -04:00
Jeff Mitchell
eb7f3fdab4 Enable caching of two more infotypes 2011-07-06 16:20:20 -04:00
Jeff Mitchell
0bfc873559 Handle timeouts of getInfo requests 2011-07-06 16:00:05 -04:00
Jeff Mitchell
226f823354 Add timeout functionality -- mostly. Still have to figure out the best
way to store items in case too much time has elapsed.
2011-07-06 14:58:56 -04:00
Jeff Mitchell
6bb26ecde8 Move almost all of the rest of the logic of infosystem to the worker
thread
2011-07-06 12:49:58 -04:00
Jeff Mitchell
5d0c734187 Add requestId tracking to InfoSystem in preparation for timeouts 2011-07-06 12:33:16 -04:00
Jeff Mitchell
ce7040d1fd Replace InfoCustomData with QVariantMap 2011-07-06 11:28:17 -04:00
Dominik Schmidt
7c9c046b17 Merge branch 'js-resolver' 2011-07-05 13:17:23 +02:00
Christopher Reichert
8f0984c5ac Added doxygen comments for DatabaseCommand_SocialAction. 2011-07-03 21:25:56 -05:00
Christian Muehlhaeuser
5e9fa24008 * Fixed crashing after a right-click on the Super Collection. 2011-07-04 02:42:42 +02:00
Christian Muehlhaeuser
15cdc8f910 * Let's start doxygen-ing new classes. 2011-07-03 17:04:49 +02:00
Christian Muehlhaeuser
dc095ec963 * Added ArtistInfoWidget, our new Artist page and ViewManager's default show(artist) action. 2011-07-03 02:18:28 +02:00
Christian Muehlhaeuser
8017bcacc7 * Fixed compiling on non-OS X. 2011-07-02 21:10:59 +02:00
Christian Muehlhaeuser
eaf8cad990 * Fixed compiling and error. 2011-07-02 21:03:04 +02:00
Christopher Reichert
40fb61b9a9 Do not allow same jabber credentials more than once. 2011-07-02 12:27:57 -05:00
Jeff Mitchell
11c0519165 Remove extra > 2011-07-01 16:52:35 -04:00
Dominik Schmidt
25775b5051 Make the Resolver API expect a widgetName instead of a widgetPath
We dont have gazillions of widgets in one dialog, so make the API a bit easier to use :)
2011-06-30 01:27:58 +02:00
Dominik Schmidt
3d297795c2 Be simplistic :D 2011-06-30 01:03:15 +02:00
Dominik Schmidt
925da80431 Merge remote branch 'origin/master' into js-resolver 2011-06-29 01:34:42 +02:00
Dominik Schmidt
1416c40172 Be compatible with the old resolvers *shrug* 2011-06-28 22:30:29 +02:00
Dominik Schmidt
c9fb103627 More API cleanup for QtScriptResolver 2011-06-28 21:29:44 +02:00
Jeff Mitchell
3f48e93a89 Show album covers in notifications when playing a track instead of the
source image. Need to implement some sort of timeout for getInfo.
2011-06-28 14:16:31 -04:00
Jeff Mitchell
07d9360a65 Massive cleanup of echonest plugin, also some cleanup for lastfmplugin. Hope I didn't break anything. :-) 2011-06-28 09:00:46 -04:00
Dominik Schmidt
c276e58c55 Add default implementations of search and resolve to the QtScriptResolver API 2011-06-28 13:47:35 +02:00
Dominik Schmidt
6f0321f585 Add tomahawk.js 2011-06-27 21:33:44 +02:00
Dominik Schmidt
d35fbd5048 Make debug output more readable and assert on javascript failures 2011-06-27 21:07:22 +02:00
Dominik Schmidt
75ec478cae Fix streaming from https-links 2011-06-27 21:06:36 +02:00
Jeff Mitchell
bb6da0daa9 Fix broken proxying. Not sure when it broke but this is a more robust
solution considering that both lastfm and echonest manager their own
nams. See notes; liblastfm may be problematic on Windows and Mac.
2011-06-27 15:00:25 -04:00
Dominik Schmidt
bf46ca7b71 Add more api for qtscriptresolvers 2011-06-27 04:22:40 +02:00
Dominik Schmidt
931ed5b918 Fix loading images from qtscriptresolvers 2011-06-27 00:12:29 +02:00
Dominik Schmidt
5d21dded5c Implement new js-resolver api 2011-06-26 22:42:58 +02:00
Jeff Mitchell
e983742c9b When notifying of a played track, show the source's image. Ideally we'd show the album cover but I can't find a good way to get at that (yet). 2011-06-26 13:25:55 -04:00
Jeff Mitchell
c6d2a5df89 Remove extraneous code 2011-06-26 12:58:51 -04:00
Christian Muehlhaeuser
ee70b9e3a7 * Set minimum size for recently-played tracks in WelcomeWidget. 2011-06-26 15:35:42 +02:00
Christian Muehlhaeuser
97986d8d3e * Use QTextOption to v-center HeaderLabel properly. 2011-06-26 15:20:50 +02:00
Christian Muehlhaeuser
39409ed861 * Don't cut off fonts in HeaderLabel. 2011-06-26 13:28:04 +02:00
Christian Muehlhaeuser
1e62c117e4 * A few more improvements for and around HeaderLabels. 2011-06-26 08:26:44 +02:00
Christian Muehlhaeuser
61f9fd5c99 * Fixed CMakeLists.txt. 2011-06-26 07:24:57 +02:00
Christian Muehlhaeuser
fe7c79ff31 * Added HeaderLabel to replace our old ugly labels. 2011-06-26 07:21:14 +02:00
Dominik Schmidt
de74c0c3fe Add newlines for muesli being able to read the code 2011-06-26 05:22:06 +02:00
Dominik Schmidt
80797d6538 Add ConfigUi api to QtScriptResolver 2011-06-26 05:18:27 +02:00
Christian Muehlhaeuser
e0c72c911a * Fixed loveButton not being re-enabled again. 2011-06-26 05:15:05 +02:00
Christian Muehlhaeuser
8f69369807 * Fixed not disabling loveButton. 2011-06-26 05:13:18 +02:00
Jason Herskowitz
451713c946 Make love icon not be invisibile on linux 2011-06-25 23:11:11 -04:00
Christian Muehlhaeuser
cf01884515 * Show a PointingHand cursor when hovering the love icon. 2011-06-26 05:10:01 +02:00
Jason Herskowitz
3913611ffa Temporary preference icon size fix, color tweaks, and added and icon for Post action 2011-06-25 23:01:18 -04:00
Jason Herskowitz
7bff379d05 Make gray outline of loved icons match source name color 2011-06-25 22:23:07 -04:00
Christopher Reichert
3769ef3208 Send UnLove track to LastFm. 2011-06-25 21:03:45 -05:00
Jason Herskowitz
10f607b348 Make loved icon right size 2011-06-25 21:08:40 -04:00
Jason Herskowitz
62df210cdc Make loved icon a bit darker red 2011-06-25 20:57:34 -04:00
Christopher Reichert
bdf8a0a353 Moved the loveButton to a reasonable place in audiocontrols.
Also changed the PlaylistTypeSelectorDlg to not be lop-sided.
2011-06-25 17:47:57 -05:00
Christian Muehlhaeuser
f380317775 * Fixed ageToString() for time differences below 60 seconds. 2011-06-25 06:04:50 +02:00
Christian Muehlhaeuser
8e99dbf01e * Show when a track was played in the recently played tracks history. 2011-06-25 04:12:23 +02:00
Christopher Reichert
0685754481 Database command for loading social actions.
Used for allowing a result to be aware of whether or not
it has various social attributes. e.g. loved.
2011-06-24 20:54:57 -05:00
Jason Herskowitz
5429698661 Icon for home screen/dashboard. Needs to be wired up. 2011-06-24 20:16:37 -04:00
Christian Muehlhaeuser
2dad4fbe2c * Fixed broken splitter-handle on OS X. 2011-06-25 01:39:35 +02:00
Jeff Mitchell
3b0292d9d9 Cleanup 2011-06-24 12:57:42 -04:00
Jeff Mitchell
f3ba4beffc Only emit if there are actually results 2011-06-24 12:26:44 -04:00
Christian Muehlhaeuser
6be00f832d * Removed un-moc-able headers in thirdparty/qtweetlib. 2011-06-24 11:48:44 +02:00
Christian Muehlhaeuser
4674ed35f0 * Fixed the warning mess. Hope I didn't break anything :-) 2011-06-24 11:38:15 +02:00
Christian Muehlhaeuser
26e12157f2 * Silly whitespace cleanup. 2011-06-24 09:32:00 +02:00
Christian Muehlhaeuser
9758324128 * Fixed broken database schema for dynamic_playlist table. 2011-06-24 09:32:00 +02:00
Dominik Schmidt
bfec4043f6 Merge branch 'master' of git://github.com/tomahawk-player/tomahawk
Conflicts:
	src/resolvers/qtscriptresolver.h
2011-06-24 08:25:50 +02:00
Christian Muehlhaeuser
e0cd07c442 * Giving domme a style-lesson ;-) 2011-06-24 08:22:39 +02:00
Dominik Schmidt
cbd8caa171 Add compress-method to Tomahawk-Object in QtScriptResolvers 2011-06-24 08:18:41 +02:00
Christian Muehlhaeuser
3f4140e023 * Don't offer a play action if the user selected multiple items. 2011-06-24 08:18:22 +02:00
Dominik Schmidt
903617fd50 Add Tomahawk object to resolver scope, currently offers a readFile method 2011-06-24 08:12:59 +02:00
Christian Muehlhaeuser
4abb52d198 * Added context menus for Artists & Albums, too. 2011-06-24 08:08:33 +02:00
Christian Muehlhaeuser
1c820a2beb * Guard some more. 2011-06-24 05:49:20 +02:00
Christian Muehlhaeuser
b65d9d5809 * Guard AudioEngine against null-ptr PlaylistInterfaces. 2011-06-24 05:46:08 +02:00
Christian Muehlhaeuser
251599e36e * Removed silly debug which slowed down sorting massively. 2011-06-24 04:52:30 +02:00
Christian Muehlhaeuser
1ecab22b4d * Added new helper class ContextMenu. Made it easy to support context-menus in the TreeView, too. 2011-06-24 04:48:03 +02:00
Alejandro Wainzinger
a639b89ebc Add reference to Doxygen docs in README. 2011-06-23 19:41:01 -07:00
Jeff Mitchell
bf015d241a Rip out retry timer and move to a push solution. Untested, will test
later.
2011-06-23 16:03:24 -04:00
Jeff Mitchell
555adeaac7 Cleanup 2011-06-23 15:15:31 -04:00
Jeff Mitchell
d455270c05 Add (if verbose is turned on in config) play/stop notifications 2011-06-23 15:13:57 -04:00
Christian Muehlhaeuser
d5266f7147 * Fix the styling of the now playing row in the TreeView. 2011-06-23 20:02:26 +02:00
Christian Muehlhaeuser
2ef67f5b28 * Mark the now playing item in the TreeView, just like we do in the TrackView. 2011-06-23 19:25:59 +02:00
Christian Muehlhaeuser
337c4e6e9c * Recalculate collection stats after finish scanning. 2011-06-23 18:02:09 +02:00
Christian Muehlhaeuser
1a4ed2e551 * Never word-wrap in the short-mode PlaylistItemDelegate. 2011-06-23 17:42:52 +02:00
Christian Muehlhaeuser
dca4a7c591 * Fixed TWK-226. Never advertise ourselves with an unroutable / internal-only IP address. 2011-06-23 16:54:27 +02:00
Jeff Mitchell
660176477a Remove reset; handle dbid changes locally in twitter sip 2011-06-23 09:16:33 -04:00
Jeff Mitchell
f2d5a9dadc Make SipPlugin reset pure virtual and implement 2011-06-23 08:54:29 -04:00
Jeff Mitchell
7e45779132 Put reset() in sipplugin 2011-06-23 07:03:09 -04:00
Jeff Mitchell
a25d4719c9 Remove unneeded bits 2011-06-22 17:57:38 -04:00
Jeff Mitchell
69f459682a Make notifications work on Linux, including icon. 2011-06-22 13:47:16 -04:00
Jeff Mitchell
0f1dec1783 Fix notification logic and possible crash 2011-06-22 11:50:02 -04:00
Christian Muehlhaeuser
8240b8379b * Don't do separate thread pools per command anymore. 2011-06-22 10:07:19 +02:00
Jeff Mitchell
8d1f0e1646 Use the types shown by qdbusviewer 2011-06-21 18:22:15 -04:00
Jeff Mitchell
59346f014a Rename the plugin to be more truthful 2011-06-21 17:45:39 -04:00
Jeff Mitchell
ef5f40864e Fix up libnotify plugin (not actually using libnotify though) 2011-06-21 17:39:31 -04:00
Jeff Mitchell
69818f8c96 Start of libnotify plugin 2011-06-21 14:52:23 -04:00
Jeff Mitchell
55c894743a Drat. Actually fix build 2011-06-21 13:58:50 -04:00
Jeff Mitchell
3c096f16e0 Crap, I meant to include these in the previous commit 2011-06-21 13:50:52 -04:00
Jeff Mitchell
fa7e34972c Make dirs for os-dependent (and non-os-dependent) infoplugins 2011-06-21 12:04:03 -04:00
Alejandro Wainzinger
9d390aa0ed Style. 2011-06-21 02:35:14 -07:00
Alejandro Wainzinger
a59768ee9b Add tooltip for Artist and Flat View. 2011-06-21 02:30:47 -07:00
Christian Muehlhaeuser
20181affd1 * Fixed a few playlist issues: don't lose current track when dropping / moving items on the playlist. 2011-06-21 08:10:30 +02:00
Christian Muehlhaeuser
08426e2822 * Fixed getting list of recently played playlists. 2011-06-21 07:06:30 +02:00
Christian Muehlhaeuser
659b8fa0d5 * Set the proper playback source on LogPlayback queries. 2011-06-21 06:36:34 +02:00
Christian Muehlhaeuser
b5180f33b8 * No need to fetch collection stats manually after adding files. 2011-06-21 06:32:45 +02:00
Christian Muehlhaeuser
4006452d15 * Don't steal the logfile when starting a secondary instance of Tomahawk. 2011-06-21 05:40:07 +02:00
Christian Muehlhaeuser
eb70419203 * Yay, even more WIP: New Home Screen. 2011-06-21 05:26:32 +02:00
Christian Muehlhaeuser
c0a970872b * Made deleting tracks from a collction a little faster. 2011-06-21 04:03:12 +02:00
jherskowitz
7caf66b086 Few more new/replacement icons 2011-06-20 21:09:13 -04:00
Dominik Schmidt
7c36fb68c6 Use ccache for windows builds 2011-06-20 21:59:58 +02:00
Jeff Mitchell
189f3b4aff Add reset logic to interface for use by all; fixes bug when re-listening to a source before a track change 2011-06-20 08:27:58 -04:00
Jeff Mitchell
ec83adcd39 Merge branch 'master' into more-generic-pi 2011-06-20 07:59:19 -04:00
Jeff Mitchell
97cf05c37c Initial generalizing work 2011-06-20 07:58:27 -04:00
Dominik Schmidt
5112d9356b Small clang fix 2011-06-20 04:51:57 +02:00
Jeff Mitchell
8f69b9b680 Fix catch-up functionality 2011-06-19 16:28:50 -04:00
Jeff Mitchell
989a16db7d Port logic from STV to audioengine regarding next track when listening along 2011-06-19 14:44:01 -04:00
Christian Muehlhaeuser
a687ca635f * Removed assert in portfwd module to make it compile on OS X. 2011-06-19 17:30:02 +02:00
Christian Muehlhaeuser
3552106e18 Merge pull request #32 from pawelprazak/master
Proposed Fix for bug TWK-221
2011-06-19 08:20:56 -07:00
jherskowitz
b0b266a639 Go back to other lightbulb icons 2011-06-19 11:07:07 -04:00
jherskowitz
792cf99b22 Bunch of tweaked and cleaned up icons 2011-06-19 09:39:29 -04:00
Jeff Mitchell
33ed1373e8 Simplify logic, de-duplicate 2011-06-19 09:23:56 -04:00
Leo Franchi
8939af7407 fix a bunch of warnings 2011-06-19 00:39:53 -04:00
Leo Franchi
0efe65d738 Fix signal/slot connection so stations work again 2011-06-18 22:18:18 -04:00
Jeff Mitchell
02414e8269 Update output location of .exe to be in build/ and update version number 2011-06-18 11:36:30 -04:00
Jeff Mitchell
c760d26b68 Listen along -- fix bug where catching up to the same track would stop audio. Also allow option to stop listening. 2011-06-18 11:12:34 -04:00
Jeff Mitchell
0abb46f3e6 bump nsi revision 2011-06-18 11:12:26 -04:00
Paweł Prażak
093e960af2 Fix for bug TWK-221, Segfault at start due to UPnP device description XML download fail.
Further work
FIXME: Figure out how to make it use the proper port (81 eg. instaed of standard 80)
       maybe it's upnpDiscover() that's not working correcly
2011-06-18 17:09:20 +02:00
Jeff Mitchell
c9c1cc5b17 Fix some paths in nsi file 2011-06-17 22:47:49 -04:00
Jeff Mitchell
d4adc55d67 Whitespace cleanup 2011-06-17 18:19:51 -04:00
Jeff Mitchell
3e7368bc32 Change latch menu item to "Catch Up" if you're already listening to that source, and allow Next button to catch you up too. 2011-06-17 18:17:33 -04:00
Jeff Mitchell
473d8994c8 When you are latched onto someone, if there is a track you can't resolve, keep trying to play the next track periodically, so that you'll pick back up with their stream when they next play a track that you can resolve. I can't test this now due to
firewall but I believe the code should be safe.
2011-06-17 16:11:20 -04:00
Leo Franchi
5615488284 Don't check for duration---it's not needed for loving 2011-06-17 15:26:33 -04:00
Jeff Mitchell
461854d158 Don't endlessely loop on a track when following if the person you're following stops playing. Also don't crash if they go away or time out. 2011-06-17 13:34:25 -04:00
Leo Franchi
56ed1c4ace set volume to 75% on startup on osx---it's not the system volume there 2011-06-17 13:25:20 -04:00
Leo Franchi
2805b08989 Compile on osx 2011-06-17 13:25:09 -04:00
Leo Franchi
e2b99b2628 don't crash so much on exit, it's not nice 2011-06-17 13:22:55 -04:00
Jeff Mitchell
b31ff998ee Don't allow yourself to follow...yourself. 2011-06-17 12:47:39 -04:00
Jeff Mitchell
f9dff94ab2 GCC suggests parens to make the logic obvious, so make it nice and obvious 2011-06-17 12:47:21 -04:00
Leo Franchi
f72c60969b allow dropping of results as well as queries on the categoryadd items
Fixes TWK-232
2011-06-17 12:40:30 -04:00
Leo Franchi
2088e78020 Notify of resolving finished when timeout is reached for resolvers that don't report back 2011-06-17 11:44:04 -04:00
Leo Franchi
994ed90ed6 When getting a query from a result, add the result itself to the query.
Fixes TWK-231
2011-06-17 11:44:04 -04:00
Jeff Mitchell
19acd9d47f Following is working now :-D 2011-06-17 10:24:54 -04:00
Jeff Mitchell
541fe95789 Add follow option to context menu, not quite working yet... 2011-06-17 09:54:37 -04:00
Christian Muehlhaeuser
570913a3b9 * Killed a few warnings. 2011-06-17 05:07:44 +02:00
Jeff Mitchell
e3a22ba4ee Fix stupid mistake that borked next/prev/seek 2011-06-16 22:27:07 -04:00
Christian Muehlhaeuser
c7b8acbdf6 * Also added new resolver settings icon. 2011-06-17 04:13:19 +02:00
Christian Muehlhaeuser
1bbbf93196 * Updated a few more icons. 2011-06-17 04:12:26 +02:00
Christian Muehlhaeuser
a557324d98 * New icons. WIP. 2011-06-17 03:30:19 +02:00
Christian Muehlhaeuser
1d28ddc3c8 * Removed old, obsolete icons. 2011-06-17 02:59:56 +02:00
Christopher Reichert
3efe0ff22b Added the love button.
Its in an odd place for now but Muesli is going to correct the
positioning manually. We need to get this button to switch to
notLoved.png when a track is no longer loved. More implementation
coming soon. For now this will send love status to lastfm.
2011-06-16 18:51:09 -05:00
Christian Muehlhaeuser
d7d97d60db * Added a WIP short style for our TrackViews. 2011-06-17 01:44:22 +02:00
Jeff Mitchell
32f6a42791 Fix some more incorrect signal/slot signatures 2011-06-16 18:19:46 -04:00
Jeff Mitchell
818636721a Update PlaylistInterface slot signatures 2011-06-16 18:08:57 -04:00
Jeff Mitchell
64cd6e584f Initial work on latch functionality 2011-06-16 18:02:41 -04:00
Christian Muehlhaeuser
00252e4e53 * This probably needs fixing some connects() now: Moved PlaylistInterface into Tomahawk namespace. 2011-06-16 23:05:40 +02:00
Jeff Mitchell
53ea9b2589 Less cryptic 2011-06-16 16:43:04 -04:00
Jeff Mitchell
3f05f4ea8b Add pliface_ptr 2011-06-16 16:41:09 -04:00
Leo Franchi
8a33a9edf4 new icons 2011-06-16 15:01:20 -04:00
Christian Muehlhaeuser
fcce5568b2 * Forgot to add new Query class, too. 2011-06-16 12:21:59 +02:00
Christian Muehlhaeuser
6337e3a498 * Refactored pipeline a bit further. 2011-06-16 12:17:41 +02:00
Jeff Mitchell
e6bb53c9f5 Delete lister after it's done, before returning 2011-06-15 09:08:13 -04:00
Jeff Mitchell
fb7f98c1fc Don't unconditionally watch for changes 2011-06-15 08:59:38 -04:00
Jeff Mitchell
be86cdd97c This shouldn't really be needed but maybe it fixes zizzifizzix's problem (or at least, anyone else from having it) 2011-06-15 08:46:01 -04:00
Alejandro Wainzinger
1c59840dd1 Pause timer should be single shot. 2011-06-15 00:33:26 -07:00
Alejandro Wainzinger
a306bdf53f Only clear Adium status on exit if plugin is actually in use. 2011-06-15 00:27:55 -07:00
Christian Muehlhaeuser
46fc9cb20a * Be cleverer with database threads, too. 2011-06-15 04:15:27 +02:00
Christian Muehlhaeuser
78e064e1c5 * Made the pipeline cleverer when it comes to using threads. 2011-06-15 04:08:32 +02:00
Jeff Mitchell
f5d61a60f8 Replace text with end-user version 2011-06-14 19:37:14 -04:00
Leo Franchi
e8b02406d5 put jreen back in its place 2011-06-14 19:33:00 -04:00
Leo Franchi
51e13ce11e 30 items backlog 2011-06-14 19:31:31 -04:00
Leo Franchi
bfda50e604 dedup my kthxbbw TWK-45 2011-06-14 19:27:17 -04:00
Christopher Reichert
bef7a63732 Added database commands for Social action.
Love button in audiocontrols sends message through info system
to sync love status with local database. The only social action
that is currently setup is lastfm's "love".
2011-06-14 16:12:56 -05:00
Jeff Mitchell
80ef9d6053 Some more scan logic fixes, and stop the scan timer while it's already performing a scan 2011-06-14 15:02:06 -04:00
Jeff Mitchell
6d4af9301c Fix some settings dialog logic 2011-06-14 14:14:52 -04:00
Jeff Mitchell
43c2aba4d2 Update some values/logic before it gets too public 2011-06-14 14:03:58 -04:00
Jeff Mitchell
4337a220b6 Remove warnings in adium plugin 2011-06-14 13:54:25 -04:00
Jeff Mitchell
019499632a Make twitter sync every 2.5 minutes 2011-06-14 13:48:29 -04:00
Jeff Mitchell
6f1d4a465e Merge branch 'master' into watchforchanges-ng 2011-06-14 13:44:02 -04:00
Leo Franchi
bc814e759f be less clever and waste more bandwidth 2011-06-14 12:07:23 -04:00
Jeff Mitchell
169917fd53 Merge remote branch 'origin/master' into watchforchanges-ng
Conflicts:
	src/tomahawkwindow.ui
2011-06-13 15:11:14 -04:00
Alejandro Wainzinger
508bed5ef4 Add consistent display of artist before song title in Adium Plugin. Fixes TWK-225. 2011-06-13 01:39:41 -07:00
Leo Franchi
6ff43b8aed guard against a null error-condition, c.f. TWK-224 2011-06-12 16:45:31 -04:00
Christian Muehlhaeuser
d4c68ddd27 * Try different highlight color for now-playing items. 2011-06-12 20:53:35 +02:00
Christian Muehlhaeuser
e3daa8c2d5 * Display unresolved queries greyed-out again. 2011-06-12 19:06:50 +02:00
Christian Muehlhaeuser
13d758d3eb * Fixed build scripts to ship app with libpng. 2011-06-12 18:36:27 +02:00
Leo Franchi
09be5a1a60 pita wip 2011-06-12 12:13:27 -04:00
Christian Muehlhaeuser
fbdf53de50 * Made sure we always restore the painter after using it. 2011-06-12 18:06:29 +02:00
Leo Franchi
298d0a08a0 Try harder to fix audiocontrol flickering 2011-06-12 11:05:13 -04:00
Christian Muehlhaeuser
327ce84e46 * Static method was meant to be public. 2011-06-12 08:33:47 +02:00
Christian Muehlhaeuser
22e2800e9e * Fixed two bugs I introduced with my last commit. 2011-06-12 06:19:03 +02:00
Christian Muehlhaeuser
8c10bdfb07 * WIP: Fulltext resolving, score bars and score column.
* Added social_attributes table to the database.
* Added db migration script.
* Fixed database migration.
2011-06-12 05:57:57 +02:00
Leo Franchi
35590c381c Don't flicker when pressing play/pause on osx 2011-06-11 14:26:16 -04:00
Leo Franchi
9874606929 Add workaround for QtCurve, so we don't set our own proxy style. Warning: WILL LOOK LIKE CRAP 2011-06-11 14:01:09 -04:00
Leo Franchi
9bf44b1e52 Hide now-playing push groupbox unless on osx 2011-06-11 13:53:15 -04:00
Leo Franchi
9d4642b453 make adium plugin build 2011-06-11 13:43:51 -04:00
Leo Franchi
5cfbcae95e Generate toma.hk urls instead of tomahawk://, so they can be shortened 2011-06-11 13:32:33 -04:00
Leo Franchi
419a0c806f Add Play/Next/Prev to menu and make space a global shortcut 2011-06-11 13:10:16 -04:00
Leo Franchi
badfe28626 Explicitly set Content-Type of POST to application/x-www-form-urlencoded, as Qt 4.8 changed teh default 2011-06-11 12:42:13 -04:00
Leo Franchi
1c43cabd7e don't crash when jason tries to use tomahawk 2011-06-11 12:18:12 -04:00
Leo Franchi
efc29a1c92 Remove deleted playlists from the UI immediately, not after dbcmd is completed
Otherwise if the DB is busy the user can delete playlists multiple times, crashing all his peers
2011-06-11 12:05:52 -04:00
Leo Franchi
ac7e547d1d Disable unindenting until I iron all the bugs out 2011-06-10 23:36:58 -04:00
Leo Franchi
5e3f465824 Allow qtscript resolvers to use QWebkit LocalStorage and DatabaseStorage HTML5 API 2011-06-10 23:32:40 -04:00
Leo Franchi
f3b9a7bdec Place editor properly: 2011-06-10 23:32:40 -04:00
Leo Franchi
c014ccdf33 enclose path in quotes on windows so it works with paths with spaces 2011-06-10 23:32:40 -04:00
Leo Franchi
0b2302a675 Move the indentation in a bit 2011-06-10 23:32:40 -04:00
Leo Franchi
92805d37c1 Add a "New Additions" entry to each source to show the SourceInfoWidget 2011-06-10 23:32:40 -04:00
Alejandro Wainzinger
5a38219754 Escape quotes, or Applescript gets confused. 2011-06-09 19:52:33 -07:00
Alejandro Wainzinger
112184c8fa If paused for a minute, clear Adium status. 2011-06-09 18:34:19 -07:00
Jeff Mitchell
6b3bb259d8 Merge branch 'master' into watchforchanges-ng
There's some ugliness on the music page...

Conflicts:
	src/settingsdialog.cpp
	src/stackedsettingsdialog.ui
2011-06-09 14:07:11 -04:00
Alejandro Wainzinger
3da78d7cee Adium plugin now does nothing on pause, and clears status on stop. 2011-06-08 17:56:14 -07:00
Alejandro Wainzinger
3277ad7802 Parse the "+" of a Tomahawk link as a space. Adium plugin defaults to using toma.hk links now. 2011-06-08 01:37:52 -07:00
Alejandro Wainzinger
8ca84e9ba2 Use just openLink in GAM to avoid including InfoSystem, and deal with the InfoCriteriaHash in the plguin. 2011-06-07 18:50:27 -07:00
Alejandro Wainzinger
23a9be18c6 Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-06-07 18:14:18 -07:00
Alejandro Wainzinger
b392151c56 Make Tomahawk link handling cleaner and less hackish (lfranchi++). Move openLinkFromHash to GlobalActionManager, to keep Tomahawk link handling simple. 2011-06-07 18:12:38 -07:00
Leo Franchi
1ff142616e remove old settings dialog.ui, just caused confusion 2011-06-07 16:59:19 -04:00
Leo Franchi
21479dbe0b set volume on startup too, from phonon 2011-06-07 16:59:19 -04:00
Leo Franchi
24502d8856 Update tomahawk volume when phonon volume is updated externally, lessen deafness 2011-06-07 16:59:19 -04:00
Frank Osterfeld
bee2a7165a Fix sorting by file size (Don't sort the formatted strings, but the actual file size).
Also, use TrackModel::Column enum instead of int constants.
2011-06-07 19:54:29 +02:00
Alejandro Wainzinger
3ec9308916 debug-- 2011-06-06 23:39:57 -07:00
Alejandro Wainzinger
df83239ad3 Style fix. 2011-06-06 23:22:44 -07:00
Alejandro Wainzinger
dd78a2097a Decode percent-encoded Tomahawk links. 2011-06-06 23:19:53 -07:00
Alejandro Wainzinger
3f8d27695e Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-06-06 21:24:30 -07:00
Alejandro Wainzinger
f0b1d49f6b Add tomahawk link to currently playing song, to Adium now-playing status. 2011-06-06 21:23:55 -07:00
Leo Franchi
8d3760f71e Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-06-06 08:39:09 -04:00
Alejandro Wainzinger
4f8165cc8a Check if Adium is running before setting status. Be more efficient about forming the Applescript string. 2011-06-05 17:57:33 -07:00
Christian Muehlhaeuser
1021e9c1b5 * Improved AudioEngine's internal phonon-state handling. 2011-06-05 23:20:09 +02:00
Leo Franchi
7cac0ed9bc Really don't go overboard asking for moods/styles 2011-06-05 16:47:32 -04:00
Leo Franchi
aa076684dc fix up checking for moods and styles 2011-06-05 16:40:35 -04:00
Christopher Reichert
5ec7e3340b re-resolve tracks when a resolver is added or removed.
The pipeline emits a signal to queries when a resolver is added/removed. The queries
take action based on their solved() status and if not solved() inform the pipeline to
re-resolve them.
2011-06-05 14:03:40 -05:00
Leo Franchi
7742e3091a show summary for songs as well 2011-06-05 13:56:23 -04:00
Christian Muehlhaeuser
297161c766 * Update thirdparty/jreen submodule. 2011-06-05 17:20:21 +02:00
Christian Muehlhaeuser
95a335813d Merge pull request #31 from euroelessar/master
Changes due to modified Jreen API
2011-06-05 06:33:10 -07:00
Leo Franchi
424424cf7b Allow for omitting @foo.com domains for jabber and google.
Also, make sip plugins clean up the config after themselves
2011-06-04 21:59:39 -04:00
Leo Franchi
4e2c5b23f7 Show google-specific text in add contact popup, fixes TWK-217 2011-06-04 21:09:29 -04:00
Leo Franchi
73e5828d41 attempt strange fix 2011-06-04 20:07:12 -04:00
Leo Franchi
e5bdab9f9b osx doesn't like hidden widgets added to layouts and shown later 2011-06-04 19:55:56 -04:00
Leo Franchi
d8d88826f5 rename SearchWidget to GlobalSearchWidget 2011-06-04 17:11:22 -04:00
Christian Muehlhaeuser
33a9391ee7 * Try to fix SearchWidget crash. 2011-06-04 22:58:58 +02:00
Christian Muehlhaeuser
2a43c7df78 * Try it with a parent. 2011-06-04 22:39:15 +02:00
Christian Muehlhaeuser
65c33e70f5 * Fixed OS X compilation. 2011-06-04 21:10:14 +02:00
Christian Muehlhaeuser
83ca3a1502 * Forgot to add some search widgets. 2011-06-04 20:50:49 +02:00
Christian Muehlhaeuser
2e9dc42696 * Added basic search widget. 2011-06-04 20:47:45 +02:00
Ruslan Nigmatullin
2d3f712f95 Fixes due to changed Jreen API 2011-06-04 23:48:27 +06:00
Christian Muehlhaeuser
34d9a723dd * Fixed potential memleak. 2011-06-04 14:43:31 +02:00
Jeff Mitchell
c2ffbbc5ac Fix compile, doh 2011-06-03 11:07:53 -04:00
Jeff Mitchell
95e2b84559 No sense having it in two places... 2011-06-03 11:05:01 -04:00
Jeff Mitchell
aed838193f See if defines are causing the twitter issues on Win 2011-06-03 11:01:27 -04:00
Christian Muehlhaeuser
6f4b43f9ff * Fixed AudioEngine deleting a sharedptr while it's being used by Phonon. 2011-06-03 15:27:34 +02:00
Alejandro Wainzinger
4619cd420a More style fixes. 2011-06-02 21:13:57 -07:00
Alejandro Wainzinger
e5cc13ac57 Fixes for style. 2011-06-02 18:53:36 -07:00
Alejandro Wainzinger
6500af65c0 Merge branch 'master' into adiumpush 2011-06-02 18:23:20 -07:00
Leo Franchi
59452f6163 Try to avoid showing the window before placing it 2011-06-02 17:24:44 -04:00
Leo Franchi
e130fc41ed resize dialog when it changes size, and hide/show
otherwise osx goes CRAZY PANTS
2011-06-01 20:29:54 -04:00
Leo Franchi
b4e0674e2b SHow initial config dialog as sheet on osx, WIP 2011-06-01 17:41:44 -04:00
Christian Muehlhaeuser
aeedf286eb * Added Pipeline status view. WIP. 2011-06-01 04:21:35 +02:00
Christian Muehlhaeuser
c52e7e4cdb * Allow seeking in songs - if possible. 2011-06-01 04:21:01 +02:00
Leo Franchi
b356798229 Add an 'Add to my ' option for non-local playlists to copy locally 2011-05-31 22:10:37 -04:00
Leo Franchi
615b2ff5cb And remove cruft. 2011-05-31 18:21:41 -04:00
Leo Franchi
7176b7f0a9 Add the SPMediaKeyTap thirdparty lib. 2011-05-31 18:20:29 -04:00
Leo Franchi
5cd9e49629 Add support for SPMediaKeyTap.
This lets tomahawk stop iTunes from opening when a user presses one of the media keys. Thanks to
the Clementine project and tyler.s.rhodes@gmail.com for much of the code in this patch.
2011-05-31 18:17:46 -04:00
Jeff Mitchell
7c3d0eba95 Merge branch 'master' into watchforchanges-ng 2011-05-31 13:15:36 -04:00
Christopher Reichert
30323c2d8a Shuffle Mode and Repeat mode are now stored on a playlist by playlist basis
in Tomahawk.conf
2011-05-31 10:43:45 -05:00
Christian Muehlhaeuser
2aab17ba8e * Updated tomahawk.nsi, now depends on the vlc stuff being extracted to ../vlc/ 2011-05-30 21:19:15 +00:00
Leo Franchi
9236da101e Expire logplayback commands in the UI after 10minites, they are stale
Fixes TWK-39
2011-05-30 13:42:38 -04:00
Jeff Mitchell
c98842935d Merge branch 'master' into watchforchanges-ng
Conflicts:
	src/libtomahawk/infosystem/infosystem.cpp
	src/musicscanner.cpp
	src/scanmanager.cpp
	src/tomahawkapp.cpp
	src/tomahawkwindow.ui
2011-05-30 09:56:45 -04:00
Jeff Mitchell
d71bdb2fef Update dtor logic of other threads 2011-05-30 09:45:42 -04:00
Christian Muehlhaeuser
76aa0461ad * More InfoSystem DTOR fixes. 2011-05-30 15:18:28 +02:00
Christian Muehlhaeuser
af2553294f * More AudioEngine debug. 2011-05-30 06:18:20 +02:00
Christian Muehlhaeuser
873fe1297a * Fixed crash in DbCmd_Resolve. 2011-05-30 04:59:59 +02:00
Leo Franchi
f5749a5db2 Fix adding of controls that wouldn't go to the right place. 2011-05-29 19:03:22 -04:00
Leo Franchi
07cb94b1bc Add a new source item for temporary pages.
This fixes TWK-182. Also, ensure that what is selected on the left is always
in sync with what is on the right. In addition, expand the parent nodes when selecting
an item automatically in the tree.
2011-05-29 16:57:46 -04:00
Frank Osterfeld
f2952f783e Fix case 2011-05-29 21:20:09 +02:00
Frank Osterfeld
eef99c9e39 Initialize variable. 2011-05-29 21:20:09 +02:00
Christian Muehlhaeuser
8dbdf728b1 * Add some debug output for rotzbouw. 2011-05-29 14:17:53 +02:00
Christian Muehlhaeuser
423e4df7b0 Merge branch 'master' of https://github.com/tomahawk-player/tomahawk 2011-05-29 11:42:46 +02:00
Christian Muehlhaeuser
9d92201c0c * Tweaked shutdown order. 2011-05-29 11:42:32 +02:00
Christian Muehlhaeuser
635c490924 * Fixed InfoSystem DTOR freezing. 2011-05-29 11:22:25 +02:00
Christian Muehlhaeuser
b5b8ba5a96 * Fixed shutdown freezes. 2011-05-29 11:14:20 +02:00
Leo Franchi
c24e90c978 allow to delete with the backspace as well as delete key 2011-05-28 20:19:37 -04:00
Leo Franchi
efa3708e79 Add some padding on the right edge of the dyn controls 2011-05-28 20:19:18 -04:00
Leo Franchi
ee8a0d6691 oops, fix oversight 2011-05-28 20:00:32 -04:00
Leo Franchi
75cea47cfa byebye random special characters, hello w hitespace 2011-05-28 19:58:03 -04:00
Leo Franchi
dcef395273 add stuff to Changelog for 0.1.0, thanks J for all your work trawling through history! 2011-05-28 19:56:22 -04:00
Leo Franchi
a9b792f603 allow deleting playlists with the delete key. fixes TWK-113 2011-05-28 19:46:27 -04:00
Leo Franchi
d61f38a206 Only emit a rename signal if we are the currently active view. Fixes TWK-202. 2011-05-28 17:29:29 -04:00
Leo Franchi
f03e74c777 ooops, include slid through 2011-05-28 17:13:07 -04:00
Leo Franchi
12ac4079b1 activate current page in the sourcetree if new playlist dialog is cancelled 2011-05-28 17:10:27 -04:00
Leo Franchi
9f087b7da3 Add Christopher's copyright and less debug 2011-05-28 16:55:35 -04:00
Leo Franchi
fb06624821 Add a new "Create Playlist" dialog that is shown when the user presses New Playlist.
This lets the user select between a normal playlist and an automatic playlist.  Thanks for Christopher Reichert for the patch!
2011-05-28 16:49:49 -04:00
Dominik Schmidt
5c11841cec Make tomahawk.nsi ready for 64bit 2011-05-28 16:54:24 +02:00
muesli
5d03b35101 Revert "Was trying to work on the crash on shutdown by making sure we explicitly delete items in tomahawkapp. Except where there are FIXMEs all are now explicitly deleted, in reverse order of instantiation. So far no help, but figured might as well keep the changes."
This reverts commit 6e19a85d73.
2011-05-28 16:51:04 +02:00
Jeff Mitchell
52b7465cf6 more debug 2011-05-28 10:24:35 -04:00
Jeff Mitchell
840e877456 More debug for chris 2011-05-28 10:15:37 -04:00
Jeff Mitchell
89f690a9e2 Add some extra debug 2011-05-28 10:11:01 -04:00
Jeff Mitchell
02c1cfe14e Update text to say what's actually going on 2011-05-28 10:01:33 -04:00
Jeff Mitchell
86f35ae304 Don't say we're processing events when we aren't anymore 2011-05-28 09:54:03 -04:00
Jeff Mitchell
2c48983aa1 Merge branch 'master' into watchforchanges-ng 2011-05-28 09:40:43 -04:00
Jeff Mitchell
ee583f20da If Tomahawk crashed during one of these functions it could leave some messed up stuff in your config file, so separate out the two operations into distinct ones that can be run independently and do case-sensitive matching. 2011-05-27 08:31:08 -04:00
Alejandro Wainzinger
cfe335ff8a Merge branch 'master' into adiumpush 2011-05-26 22:57:22 -07:00
Alejandro Wainzinger
a2b6463b04 Merge branch 'adiumpush' of github.com:tomahawk-player/tomahawk into adiumpush 2011-05-26 22:55:55 -07:00
Leo Franchi
ba3ce4bdb9 better grammar
(cherry picked from commit 7676f43a79e12c890c1b57f716249c68fc0ea6ac)
2011-05-26 22:18:34 -04:00
Dominik Schmidt
106bf6c08b Install tomahawklib on linux correctly too 2011-05-27 03:45:23 +02:00
Dominik Schmidt
8f9c03b3ad Update tomahawk.nsi 2011-05-27 01:41:41 +02:00
Dominik Schmidt
fca66bcf39 Install libtomahawklib.dll to correct place in windows 2011-05-26 23:41:07 +02:00
Dominik Schmidt
2be3e93d39 Install qxtweb-standalone.dll on windows 2011-05-26 22:52:24 +02:00
Dominik Schmidt
39549f776b Bump jreen submodule revision. 2011-05-26 22:20:48 +02:00
Dominik Schmidt
b0c0667bde Fix taglib includes 2011-05-26 22:20:33 +02:00
Dominik Schmidt
e7bdc077d2 Don't use QJSON_LDFLAGS on windows 2011-05-26 21:52:38 +02:00
Leo Franchi
f4cef4fff0 lets be safe 2011-05-26 09:39:39 -04:00
Leo Franchi
0172515a86 Fix dropping ou the sourcetree, qtreeview is really crappy in this case 2011-05-26 09:38:23 -04:00
Leo Franchi
fd29a966eb remove vestiges of debug 2011-05-26 08:55:12 -04:00
Leo Franchi
d5df5f7676 Set cache mode so cmake doesn't forget our own set variable and fallback to pkgconfig-set one. 2011-05-26 08:43:32 -04:00
Jeff Mitchell
6e19a85d73 Was trying to work on the crash on shutdown by making sure we explicitly delete items in tomahawkapp. Except where there are FIXMEs all are now explicitly deleted, in reverse order of instantiation. So far no help, but figured might as well keep the changes. 2011-05-26 00:48:08 -04:00
Jeff Mitchell
f9a6775126 Add warning about cached artist images 2011-05-25 23:45:02 -04:00
Jeff Mitchell
f6756682f1 Cleanup from my previous fix 2011-05-25 23:43:09 -04:00
Jeff Mitchell
e3e90744bf Fix jabber(/other?) networking. The only part of this commit related to the fix is the line replacing m_client->setConnection with return. I don't know why that line causes what seems to be a total block in the network but it does, and removing it doesn't seem to hurt anything.
Oddly, if refreshProxy doesn't check for m_client->connection() to be null, it segfaults. But, if that function is never run (and that function is the only place setting the connection directly), it works just fine (if no proxy is needed). So maybe it's leftover code but I really don't konw.
2011-05-25 23:35:21 -04:00
Leo Franchi
f27d3b9fe9 fix debug/poll and give new stations a better name from a seed 2011-05-25 21:37:20 -04:00
Leo Franchi
5f2791f2b3 Allow users to drop tracks onto New Station, and creates a station seeded with song filters 2011-05-25 20:02:18 -04:00
Dominik Schmidt
d1b8b2851d Update tomahawk.nsi for qca-ossl and missing dlls for vlc plugins 2011-05-26 01:38:05 +02:00
Jeff Mitchell
03f6b416b6 Revamp proxy system. Use a factory, and allow for noproxy hosts. Don't try to set the proxies everywhere, set the application proxy factory and fall back to it. Except for specifically-threaded things. 2011-05-25 17:38:14 -04:00
Leo Franchi
af0fe52cd1 Don't rely on mood/style fetch being faster than dynamic control loading 2011-05-25 17:25:33 -04:00
Jeff Mitchell
c59747e1e1 Fix QJson linking 2011-05-25 11:48:05 -04:00
Christian Muehlhaeuser
f878e47575 * Finally fixed OS X release scripts. I think. 2011-05-25 05:56:09 +02:00
Christian Muehlhaeuser
bc7aa1ebbd * Fixed OS X release scripts. 2011-05-25 05:39:18 +02:00
Christian Muehlhaeuser
a16274ec43 * Fixed OS X build scripts to not contain hard-coded paths. 2011-05-25 05:16:28 +02:00
Christian Muehlhaeuser
e29b6ed2db Merge remote-tracking branch 'origin/osxrelease' 2011-05-25 04:38:22 +02:00
Christian Muehlhaeuser
3a9f0e9f86 * Fixed DbCmd_LogPlayback. 2011-05-25 04:20:11 +02:00
Christian Muehlhaeuser
b2c9028b54 * Don't sync empty DbCmd_DeleteFiles & irrelevant DbCmd_LogPlaybacks. 2011-05-25 04:17:53 +02:00
Dominik Schmidt
caa8878b25 Use my packaged vlc in tomahawk.nsi instead of pre released binaries (those are crashing because they were compiled incompatibly). 2011-05-25 03:50:05 +02:00
Dominik Schmidt
20ad274dae More cross-compilation fixes. 2011-05-25 03:50:05 +02:00
Dominik Schmidt
1370756e0a Add vlc to tomahawk.nsi and add update-vlc.sh for downloading and stripping vlc 2011-05-25 03:50:05 +02:00
Dominik Schmidt
86cc828378 Fix cross compilation 2011-05-25 03:50:05 +02:00
Dominik Schmidt
95f5d214c5 Bye bye, jdns. We're not using you anymore, you can find your own way in jreen :P 2011-05-25 03:50:05 +02:00
Dominik Schmidt
d546cc6156 Bump jreen submodule revision. 2011-05-25 03:50:05 +02:00
Dominik Schmidt
e2698fecce Fix crash in liblastfm2 on windows. 2011-05-25 03:50:05 +02:00
Dominik Schmidt
8ca392464e Update tomahawk.nsi. 2011-05-25 03:50:05 +02:00
Dominik Schmidt
7b9c3b8bb9 Get finally rid of our own copy of jdns. 2011-05-25 03:50:05 +02:00
Christian Muehlhaeuser
39b9086d17 * Fixed getting year during resolving from database. 2011-05-25 03:15:15 +02:00
Leo Franchi
456e57cf20 If no artist or description or song is specified, default to song-radio.
This makes a bunch of stations/playlists with mood/style only work
2011-05-24 08:10:08 -04:00
Dominik Schmidt
0b80cd65bd Update and simplify tomahawk.nsi 2011-05-24 05:59:52 +02:00
Leo Franchi
8ae2525ef4 libechonest 1.1.8 released 2011-05-23 23:36:37 -04:00
Leo Franchi
85c1227b7f Support mood & style types in tomahawk links 2011-05-23 23:19:21 -04:00
Leo Franchi
aafec62d45 Fix hang in suggestion list loading and share amongst all controls 2011-05-23 23:18:40 -04:00
Leo Franchi
597e459db1 Add completion for artists with echonest artist/suggest path 2011-05-23 23:11:10 -04:00
Leo Franchi
9b4c826e10 update required liben to 1.1.7 2011-05-23 21:17:09 -04:00
Leo Franchi
31b8ca4cb6 Clean up error and info display a little bit 2011-05-23 21:17:09 -04:00
Leo Franchi
2f5dd43e5b add a Song search type to dynamic playlists. 2011-05-23 21:17:09 -04:00
Leo Franchi
03c7c0e35f add support for Echo Nest "style" and "mood" parameters to playlists 2011-05-23 21:17:09 -04:00
Dominik Schmidt
0e92d6913c sipjreen: send Hey-I'm-an-automatic-presence-message as error message, will prevent ping-ponging at least for 0.1+ 2011-05-23 23:41:43 +02:00
Jeff Mitchell
c1c8e1c9a7 Make scanning more async so if you quit in the middle you don't have to sit there waiting for the entire scan to finish 2011-05-23 04:59:54 -04:00
Jeff Mitchell
c0772e5076 Merge remote branch 'origin/master' into watchforchanges-ng 2011-05-22 22:08:02 -04:00
Leo Franchi
da0385dfc6 remove stale param 2011-05-22 20:45:22 -04:00
Leo Franchi
1e6091189d Generate proper autoplaylist/station urls 2011-05-22 20:45:22 -04:00
Leo Franchi
428828426c fix artist hotttnesss link, switch to /station/ and /autoplaylist/, and artist_limitto 2011-05-22 20:45:22 -04:00
Dominik Schmidt
f70183a0e9 Try adding ${QT_INCLUDES} to portfwd includes 2011-05-23 02:00:49 +02:00
Dominik Schmidt
864dc8d096 Build portfwd dynamically 2011-05-23 01:51:44 +02:00
Leo Franchi
8dc7bca9dd Export XSPF to file instead of clipboard 2011-05-22 19:27:47 -04:00
Leo Franchi
f9442372d9 Show copy command for all playlists 2011-05-22 19:19:16 -04:00
Leo Franchi
5bf79e1686 Copy XSPF to clipboard for normal playlists. TODO: Upload to a server and provide a link 2011-05-22 19:17:44 -04:00
Leo Franchi
d1ee642c12 Support copying and parsing station and automatic playlist tomahawk:// links 2011-05-22 18:43:06 -04:00
Jeff Mitchell
0ea35a9b3e Add options for controlling scanning time and mode 2011-05-21 14:58:23 -04:00
Jeff Mitchell
345d6858ff Merge remote branch 'origin/master' into watchforchanges-ng 2011-05-21 11:02:37 -04:00
Leo Franchi
6b877e3364 Load the year for results.
Fixes TWK-183. This will take some thinking post-0.1 as years are stored by trackid right now so if you get a peer's database with a clashing trackid we'll not handle that properly
2011-05-21 10:03:12 -04:00
Dominik Schmidt
6714865384 siptwitter: Do proper QTweetLib/ includes 2011-05-21 05:15:33 +02:00
Dominik Schmidt
b2f2e063de I knew this was too complicated 2011-05-21 04:53:42 +02:00
Dominik Schmidt
2590ae4ece Make siptwitter optional and rely on system qtweetlib on default 2011-05-21 04:39:27 +02:00
Jeff Mitchell
c297dcaf9e Merge remote branch 'origin/master' into watchforchanges-ng 2011-05-20 19:43:01 -04:00
Jeff Mitchell
ea6a86016a Merge branch 'master' into watchforchanges-ng 2011-05-20 19:42:43 -04:00
Jeff Mitchell
32c84b84bd Finish (for now) the file scanning code. (Also adds an update/rescan difference to the options, where one fully rescans and the other runs a normal update). N.B.: This code is currently hard-coded to watch for changes at 120 seconds and to use filemtimes, not dirmtimes. 2011-05-20 19:41:03 -04:00
Leo Franchi
a564d53ff3 Crash safety 2011-05-20 15:18:26 -04:00
Jeff Mitchell
c2884e696f More updates for file-mtime scanning 2011-05-20 14:46:55 -04:00
Jeff Mitchell
0a8e0daa57 WIP towards file mtime scanning 2011-05-20 14:01:10 -04:00
Jeff Mitchell
f3406e18b6 Add a module to find whether KDE4 is installed rather than whether it has a proper development environment, and use that for controlling protocol file installation 2011-05-20 11:47:16 -04:00
Jeff Mitchell
7a86391d7b Watching for changes works at a folder granularity now 2011-05-20 10:38:18 -04:00
Leo Franchi
cd29484d52 fix playlist rename hookups 2011-05-19 22:19:16 -04:00
Christian Muehlhaeuser
cd0cb9efab * Use enum instead of int. 2011-05-20 03:54:27 +02:00
Christian Muehlhaeuser
303c32ba6f * Always connect model and view before loading a playlist so the spinner appears. 2011-05-20 03:40:28 +02:00
Christian Muehlhaeuser
c07ab346f4 * Deleting the engine might help preventing a crash in this case. 'Edgy' 2011-05-20 03:28:28 +02:00
Christian Muehlhaeuser
2cf8cd8b40 * Another getting-stuck protection for the pipeline. 2011-05-20 03:21:28 +02:00
Christian Muehlhaeuser
83b7de2d0b * Don't allow removed resolvers to break the pipeline. 2011-05-20 03:09:19 +02:00
Christian Muehlhaeuser
c5d7cbf2ef * Prevent locking? 2011-05-20 03:04:30 +02:00
Christian Muehlhaeuser
10f636e6ea * Protect pipeline from resolvers being removed. 2011-05-20 02:52:19 +02:00
Christian Muehlhaeuser
5b9ab4b478 * Hopefully the last set of debug spam cleanup :-) 2011-05-20 01:34:15 +02:00
Christian Muehlhaeuser
b2b836ff01 * Fixed unnamed DbCmd_SourceOffline & removed more debug output. Sigh :-) 2011-05-20 01:16:06 +02:00
Christian Muehlhaeuser
2f11b397dd * Remove more of the crazy amounts of debug output we've collected in the past few weeks. 2011-05-20 01:09:39 +02:00
Christian Muehlhaeuser
0fab2a9836 * Removed debug output and cleaned up sources a bit. 2011-05-20 00:43:33 +02:00
Jeff Mitchell
bf765dfc2e Possibly fix jherskowitz's problem testing authentication for last.fm. It seems that the info plugin was using toLower() to sanitize user names but the config dialog wasn't. Also some code cleanup/sync. 2011-05-19 18:09:56 -04:00
Christian Muehlhaeuser
8c29aeecfe * Remove nasty debug output. 2011-05-20 00:07:11 +02:00
Leo Franchi
43c4cebe12 Fix some warnings 2011-05-19 17:54:19 -04:00
Leo Franchi
3ede2ea281 Streamline the avatar code to use the proper icon role 2011-05-19 17:54:03 -04:00
Leo Franchi
e9b991e4c0 update the playlistview when a playlist is renamed, fixes TWK-168 2011-05-19 17:29:58 -04:00
Leo Franchi
b37127858f stop jumping around 2011-05-19 17:11:02 -04:00
Leo Franchi
d0e50a73f0 Sort playlists above stations
and the + items last
2011-05-19 16:54:41 -04:00
Christian Muehlhaeuser
234fdf07ba * Renamed jreen/ to jabber/ 2011-05-19 22:50:15 +02:00
Christian Muehlhaeuser
0253f0c1d4 * Removed old gloox-based jabber SIP. 2011-05-19 22:48:09 +02:00
Leo Franchi
6cc864e669 we no longer depend on gloox 2011-05-19 16:35:10 -04:00
Leo Franchi
d7e3272613 Copy result if available when creating a link 2011-05-19 15:43:37 -04:00
Christian Muehlhaeuser
3fdbfbd670 * Remove any resource from jabber friendly-names. 2011-05-19 15:28:41 +02:00
Dominik Schmidt
b53c052cfb Change jreen submodule url, 'git submodule sync' everyone! 2011-05-19 09:49:34 +02:00
Christian Muehlhaeuser
c47970f6c7 * Only log playbacks which were played for at least 10 seconds (locally) and 20 seconds (remotely). 2011-05-19 08:41:34 +02:00
Christian Muehlhaeuser
191dd48c87 * Don't log empty DeleteFiles DbCmds. 2011-05-19 08:21:26 +02:00
Christian Muehlhaeuser
ab221b2344 * Hide filter when it's disabled. 2011-05-19 08:04:02 +02:00
Christian Muehlhaeuser
03451c9197 * Made Artist- / TreeView the default view. Disabled album mode for this release. 2011-05-19 08:00:57 +02:00
Christian Muehlhaeuser
c2982e7312 * Fixed showing 'playlist' in a station's or automatic playlist's context menu. (TWK-171) 2011-05-19 07:11:01 +02:00
Christian Muehlhaeuser
9bac08deda * Fixed stations being stuck as busy after creating them. 2011-05-19 07:02:05 +02:00
Christian Muehlhaeuser
c919455d3f * Updated ChangeLog. 2011-05-19 05:57:32 +02:00
Christian Muehlhaeuser
9f1778a519 * Added LoadingSpinner support to ArtistView / TreeModel. 2011-05-19 05:46:41 +02:00
Christian Muehlhaeuser
f5bf6279bb * Bumped version number to 0.1.0. 2011-05-19 05:46:07 +02:00
Christian Muehlhaeuser
ad62bf87dc * Streamlined creating new playlists with entries.
* Made XSPFLoader, NewPlaylistWidget & GlobalActionManager use the new Playlist API.
* This prevents race-conditions.
* Fixed not being able to re-order playlist items.
2011-05-19 05:33:54 +02:00
Christian Muehlhaeuser
273eb9654f * Wait for the playlist to be created before we add stuff to it. 2011-05-19 04:42:01 +02:00
Christian Muehlhaeuser
4c4af2658b * Fix compiling when sparkle is enabled. 2011-05-19 03:30:12 +02:00
Christian Muehlhaeuser
5a64fc1361 * Protect DynamicPlaylists, too.
* Only load the five most recent playlists & 25 tracks in the WelcomeWidget.
2011-05-19 03:12:46 +02:00
Christian Muehlhaeuser
0d23934200 * Prevent creating a new revision while already updating a playlist. 2011-05-19 02:20:13 +02:00
Dominik Schmidt
7b154fbc12 Include config.h in tomahawkwindow.cpp 2011-05-19 00:37:48 +02:00
Christian Muehlhaeuser
7b773f4972 * Added some debug output for Leo. 2011-05-19 00:27:23 +02:00
Leo Franchi
f16451196b Don't allow dropping of playlist items onto the current playlist in the sourcetree. 2011-05-18 18:14:13 -04:00
Jeff Mitchell
73ffa506c7 Warnings-- 2011-05-18 18:09:07 -04:00
Jeff Mitchell
18708f7c28 Update qtweetlib; removes need to compile in oauth consumer token/secret and fixes bug needing custom qtweetstatus 2011-05-18 18:02:27 -04:00
Dominik Schmidt
da1089bbd9 Bump jreen submodule version 2011-05-18 22:22:17 +02:00
Jeff Mitchell
0a26584b98 Remove overzealous assert -- it's nice to assume that you'll never be passed invalid data, but nicer to assume you will :-) 2011-05-18 11:50:03 -04:00
Christian Muehlhaeuser
3cee48dc15 * Removed include/ folder and did some clean-ups. 2011-05-18 04:06:03 +02:00
Leo Franchi
917f904cbf hide queue whenever it is emptied, manually or by play progressing 2011-05-17 16:25:49 +02:00
Leo Franchi
1812477809 Fix bug where playable tracks were ignored in station previews 2011-05-17 16:00:27 +02:00
Leo Franchi
98c9ddf2b1 Add a timeout after last edit in artist line edits 2011-05-17 16:00:11 +02:00
Jeff Mitchell
98a23c6585 Merge branch 'master' into adiumpush
Conflicts:
	thirdparty/jreen
2011-05-16 22:06:41 -04:00
Jeff Mitchell
6f37e942ce Add some debug 2011-05-16 15:26:27 -04:00
Jeff Mitchell
ef5f96c104 Safety fix 2011-05-16 13:46:48 -04:00
Jeff Mitchell
0006acb408 Add avatar/profile pic support to Twitter SIP 2011-05-16 13:09:20 -04:00
Dominik Schmidt
451695faab Update tomahawk.nsi 2011-05-14 18:45:25 +02:00
Dominik Schmidt
925485d916 win32: some compilation/linking fixes, still does not build 2011-05-14 01:07:03 +02:00
Jeff Mitchell
43194e777a Add missing file, doh 2011-05-13 12:19:22 -04:00
Jeff Mitchell
08d268a961 Use custom qtweetstatus until a compilation error is fixed upstream 2011-05-13 12:07:06 -04:00
Jeff Mitchell
1f7257e061 Add qtweetlib blocks files 2011-05-13 12:00:59 -04:00
Jeff Mitchell
4b801849d3 Add QTweetLib as a submodule 2011-05-13 11:52:23 -04:00
Jeff Mitchell
ade334dec1 Remove our copy; will use git submodule 2011-05-13 11:50:08 -04:00
Leo Franchi
12d0dec63c Set a top-level layout for the proxy dialog.
Also tweak the margins a bit and remove the sizegrip from being visible on osx.
2011-05-13 09:40:30 +02:00
Jeff Mitchell
aedc1b362d Fix liblastfm2 mingw32 compilation 2011-05-12 22:35:45 -04:00
Jeff Mitchell
dc8f52076d Remove option to turn on watch changes. QFileSystemWatcher is now deprecated and doesn't work right anyways. The logic is still there as it's mostly fine, but we need a new method for tracking. 2011-05-12 15:07:04 -04:00
Jeff Mitchell
f8d30b5d24 Changlogify SOCKS proxy 2011-05-12 15:05:44 -04:00
Jeff Mitchell
2fb1c0a817 Re-add proxy dialog, and add option for using proxy for DNS lookups (or not) 2011-05-12 14:56:03 -04:00
Jeff Mitchell
dee9c14579 Add a toggle to control whether DNS lookups happen through the proxy or not. Fixes connections in some cases. 2011-05-12 11:42:28 -04:00
Jeff Mitchell
d0ccbf4416 Fix crash in jreen and others by not processing events in infosystem's destructor. Instead, sleep for only 50ms at a time. 2011-05-12 10:39:03 -04:00
Christian Muehlhaeuser
04cbc78ff7 * Don't leak memory when setting new avatar on a Source. 2011-05-12 15:54:37 +02:00
Jeff Mitchell
853c0a0170 Add hack notice 2011-05-12 09:46:42 -04:00
Leo Franchi
0da5a958bb update changelog 2011-05-12 14:55:27 +02:00
Leo Franchi
5566eddd05 Remove sizegrip on sliding sheets on osx 2011-05-12 14:41:15 +02:00
Dominik Schmidt
968971a3cf Merge branch 'master' of git://github.com/tomahawk-player/tomahawk
Conflicts:
	src/libtomahawk/sip/SipHandler.cpp
2011-05-12 13:49:45 +02:00
Dominik Schmidt
2862b01691 Add Tomahawk version reported by SipPlugin to the diagnostics dialog. 2011-05-12 13:42:31 +02:00
Alejandro Wainzinger
195f6921c0 Merge branch 'master' into adiumpush
Conflicts:
	thirdparty/jreen
2011-05-11 22:36:29 -07:00
Christian Muehlhaeuser
b453c387cd * Fixed not closing obsolete transfers. 2011-05-12 03:58:33 +02:00
Christian Muehlhaeuser
efb8d14ec9 * Fixed shutdown blocker in DbSyncConnection. 2011-05-12 02:09:33 +02:00
Christian Muehlhaeuser
4401fe15ac * Ignore pipeline results during shutdown. 2011-05-12 01:04:20 +02:00
Christian Muehlhaeuser
06e00a83c8 * Don't create pixmaps in the wrong thread. 2011-05-12 01:02:08 +02:00
Christian Muehlhaeuser
44585933dc * Auto advance to the next track in TreeView.
* Show proper icon for TreeView.
* Drag operations for tracks in TreeView / -Model.
* Various shutdown fixes.
* Properly hook up SipHandler signals again.
2011-05-12 00:36:28 +02:00
Dominik Schmidt
1f7f360d36 Don't log invalid sipinfos to the console but show them in the diagnostics window 2011-05-11 18:52:46 +02:00
Dominik Schmidt
986bc1119a sipjreen: warnings-- 2011-05-11 18:44:13 +02:00
Dominik Schmidt
fac969d39b sipjreen: Ignore error messages. 2011-05-11 18:44:13 +02:00
Dominik Schmidt
bcd90a81be Dont rely on valid sipinfos in diagnostics dialog 2011-05-11 18:44:13 +02:00
Leo Franchi
e2fac74d1d install_name_tool_ize_to_make_shit_work_kthxbbq 2011-05-11 15:44:47 +02:00
Leo Franchi
4634651d52 Merge branch 'master' into osxrelesae 2011-05-11 15:23:49 +02:00
Leo Franchi
272a67b703 Immediately update delegate with widget config change 2011-05-11 14:11:15 +02:00
Leo Franchi
15c02540d6 Immediately update delegate with widget config change 2011-05-11 14:08:42 +02:00
Dominik Schmidt
7ac7925ec6 sipjreen: avoid dangling pointer if the XmlConsole is not used 2011-05-10 02:30:36 +02:00
Dominik Schmidt
350be106c6 sipjreen: Add secret XmlConsole
Imported from qutim. Ruslan Nigmatullin gave me his compliance with
licensing this file as GPL3(+) (right now it lacks license headers
completely and might be GPL2+ in qutim).
2011-05-10 02:21:15 +02:00
Leo Franchi
bc9befa8a6 Merge remote branch 'origin/master' into osxrelesae 2011-05-09 17:28:50 +02:00
Dominik Schmidt
aeef7345af Log who a message the SipHandler receives is from 2011-05-09 17:22:34 +02:00
Leo Franchi
66c6cd56a8 slim vlc plugins and check for new resolver name format 2011-05-09 16:57:07 +02:00
Leo Franchi
d2631cf775 Merge remote branch 'origin/master' into osxrelesae 2011-05-09 16:26:22 +02:00
Dominik Schmidt
1d6153044c Export QDebug operator<<( QDebug dbg, const SipInfo &info ) 2011-05-09 14:45:38 +02:00
Dominik Schmidt
f171c8901b Export SipInfo class 2011-05-09 11:40:46 +02:00
Dominik Schmidt
eade3c5f26 Fix broken if-else 2011-05-09 11:33:03 +02:00
Dominik Schmidt
06f33c5d81 Add missing return, compiled here fine :\ 2011-05-09 11:27:08 +02:00
Dominik Schmidt
2e69f91671 Use QHostInfo instead of QHostAddress 2011-05-09 11:19:58 +02:00
Dominik Schmidt
9c30600793 Use SipInfo in SipHandler & SipPlugin and fix Jabber to use the new API 2011-05-09 11:19:58 +02:00
Dominik Schmidt
9cd07349dc Don't assert on qDebug( SipInfo() ) 2011-05-09 11:19:58 +02:00
Dominik Schmidt
733e06b372 Add SipInfo class 2011-05-09 11:19:57 +02:00
Christian Muehlhaeuser
7ba8581ac3 * Fix potential issue which caused Pipeline to get stuck. 2011-05-09 01:22:49 +02:00
Christian Muehlhaeuser
7b4c425ec5 * Print out some more debug in case we run into problems. 2011-05-09 01:10:31 +02:00
Christian Muehlhaeuser
f2eb8a7a75 * Improved Pipeline. 2011-05-09 00:31:25 +02:00
Dominik Schmidt
48d029468d sipjreen: googlewrapper: hardcode server and port so it works through proxies and with all google apps jids when the domain has no jdns entry 2011-05-08 20:00:32 +02:00
Christian Muehlhaeuser
47158465d9 * Fixed pipeline. Speeds it up, allows for parallel execution of multiple same-weighted resolvers. 2011-05-08 19:12:56 +02:00
Dominik Schmidt
012b72d4fd Remove legacy dependency on gnutls 2011-05-08 18:54:16 +02:00
Dominik Schmidt
12462ead58 Oops, fix build 2011-05-08 15:51:16 +02:00
Dominik Schmidt
6118432dd7 Add proxy support to the sip plugins and the sip handler 2011-05-08 15:44:32 +02:00
Dominik Schmidt
6c8252cefb Bump jreen submodule revision 2011-05-08 15:43:35 +02:00
Dominik Schmidt
5c732098f7 sipjreen: turn stupid assert into a sensible error message 2011-05-08 15:43:01 +02:00
Leo Franchi
cdcc6516df Merge remote branch 'origin/master' into osxrelesae 2011-05-07 20:29:29 -04:00
Christian Muehlhaeuser
1987b4c378 * Fix result-hint crash. 2011-05-08 02:27:56 +02:00
Alejandro Wainzinger
df996769f8 Make layout a bit more aligned. 2011-05-07 15:58:16 -07:00
Alejandro Wainzinger
69a01c252a Add a few more guards for OS X. 2011-05-07 15:50:48 -07:00
Leo Franchi
942e5f892b autodetect and populate resovlers named foo_tomahawkresolver* in the binary dir of tomahawk 2011-05-07 18:50:07 -04:00
Alejandro Wainzinger
0bac06b2c0 Add setting to enable/disable Adium now-playing (defaults to off, and only shows up on macs). 2011-05-07 15:45:34 -07:00
Leo Franchi
2c08d2d186 Merge remote branch 'origin/master' into osxrelesae 2011-05-07 18:34:35 -04:00
Christian Muehlhaeuser
e8430e0501 * Depend on libEchonest 1.1.5. 2011-05-08 00:23:52 +02:00
Leo Franchi
7adb08f701 Default to watch for changes off until we handle ru nning out of watches 2011-05-07 18:05:45 -04:00
Leo Franchi
7258f05070 show default music location if none is saved yet 2011-05-07 18:04:34 -04:00
Christian Muehlhaeuser
5294922a02 * Don't use non-file / non-servent resultHints for now. 2011-05-07 23:54:30 +02:00
Leo Franchi
9944534581 deposx fixes for osx 2011-05-07 17:36:49 -04:00
Alejandro Wainzinger
f4b4a021ee Add resumed, stopped, paused info. 2011-05-07 13:26:21 -07:00
Christian Muehlhaeuser
1b74430ea2 * Fixed dupes in resources.qrc. 2011-05-07 21:30:14 +02:00
Alejandro Wainzinger
8cc0277cca Catch up to the InfoSystem. 2011-05-07 12:25:17 -07:00
Alejandro Wainzinger
09817a7836 Merge branch 'master' into adiumpush
Conflicts:
	src/libtomahawk/infosystem/infosystemworker.cpp
2011-05-07 12:12:58 -07:00
Alejandro Wainzinger
fb9069320e Build AdiumPlugin, now a pushInfo-using InfoPlugin. 2011-05-07 12:03:52 -07:00
Leo Franchi
b8f6192014 fix menu addition 2011-05-07 10:16:58 -04:00
Leo Franchi
0c5536bf78 Only show separator on non-osx since it makes the otherwise empty Help menu show up 2011-05-07 10:13:19 -04:00
Leo Franchi
d657c43d72 Don't get a QNetworkReply* for http urls as we just discard it later 2011-05-07 09:37:23 -04:00
Jeff Mitchell
84f6fa9b33 Don't keep state of a QNetworkReply in a member variable. Get it on-demand. 2011-05-07 09:34:22 -04:00
Dominik Schmidt
e36037a45e Merge branch 'diag-dialog' 2011-05-07 13:53:20 +02:00
Leo Franchi
f982689443 stop spinner if tracks are removed 2011-05-06 12:55:55 -04:00
Leo Franchi
e1cdc4820a change SIP menu entry to friendlyname rather than JREEN 2011-05-06 12:17:09 -04:00
Leo Franchi
8b2ade25de make stations behave when multiple result signals are emitted by the pipeline 2011-05-06 11:55:24 -04:00
Leo Franchi
8c3745896c add resolved tracks as we get them when previewing, and stop previewing if we're running 2011-05-06 11:02:21 -04:00
Leo Franchi
3a6abc3f5e remove autoconnect options from config pages---now checking/unchecking sip plugins in the config dialog does the same thing and it was confusing 2011-05-06 10:59:42 -04:00
Leo Franchi
aaebdc6a4b Don't let users edit readonly playlists with Delete key 2011-05-06 07:43:12 -04:00
Dominik Schmidt
b4eda751e0 sipjreen: emit peerOffline for all contacts when connection is lost, not when the plugin is asked to disconnect 2011-05-06 11:51:27 +02:00
Dominik Schmidt
81c85b3fd5 DiagnosticsDialog: Add current time (+ some micro formatting in the log) 2011-05-06 11:49:51 +02:00
Alejandro Wainzinger
ccc4db2270 Copy over Adium files from Adium branch. 2011-05-05 22:14:30 -07:00
Leo Franchi
5f67b3453b update sourcelist on db dync 2011-05-05 21:58:57 -04:00
Dominik Schmidt
31c3c50292 DiagnosticsDialog: Add more details on peers. Ugly caching in SipHandler, wanna avoid ugly-back-and-forth-json-parsing until we have a proper SipInfo class 2011-05-06 02:13:01 +02:00
Dominik Schmidt
6e06e36573 DiagnosticsDialog: Add SipInfo (visibility, ip and port) 2011-05-06 01:13:01 +02:00
Dominik Schmidt
d7d883cd3c DiagnosticsDialog: add update and copy-to-clipboard button 2011-05-06 00:52:27 +02:00
Dominik Schmidt
8b3e1dc372 DiagnosticsDialog: Add SipPlugin log 2011-05-06 00:27:23 +02:00
Dominik Schmidt
fcb9eb33e4 Add peersOnline() to SipPlugin 2011-05-06 00:25:06 +02:00
Dominik Schmidt
5a9425a930 Add a basic DiagnosticsDialog without actual functionality 2011-05-05 22:22:16 +02:00
Leo Franchi
7b43376e61 Don't hookup signals twice 2011-05-05 14:59:13 -04:00
Leo Franchi
08c78dbd97 some error caching in sip plugin 2011-05-05 14:59:13 -04:00
Leo Franchi
fa18cf9ced Up max fds on osx to the max we can set 2011-05-05 08:16:30 -04:00
Leo Franchi
8d039cdc91 Show Connecting... state for jabber and in delegate 2011-05-04 22:56:04 -04:00
Jeff Mitchell
f751c1559b Make config for twitter sip lowercase like everywhere else 2011-05-04 19:09:04 -04:00
Jeff Mitchell
18101c32b0 Fix regression when posting twitter status message 2011-05-04 18:34:57 -04:00
Jeff Mitchell
2c8eaef8ff Fix signal/slot typo 2011-05-04 18:17:19 -04:00
Dominik Schmidt
4638b7c21a sipjreen: handle invisible peers correctly 2011-05-04 21:35:34 +02:00
Leo Franchi
40c3196a4f fix menus 2011-05-04 14:15:50 -04:00
Leo Franchi
ebd78c06b0 only show clicked wrench as down 2011-05-04 11:56:00 -04:00
Leo Franchi
3bc05bc73b fix checkrect hit area in delegate too 2011-05-04 11:42:53 -04:00
Leo Franchi
59b64bfdd9 open config dialogs as a sheet on osx, and call gmail google 2011-05-04 10:42:54 -04:00
Leo Franchi
3dc317377f oops, Kuba was right, version is not tomahawk version 2011-05-04 09:22:11 -04:00
Leo Franchi
231c2569f6 move desktop file to admin/unix, and set current version in cmake 2011-05-04 09:17:54 -04:00
Leo Franchi
948631846e Merge pull request #29 from zizzfizzix/desktop-file.
Add a .desktop file on linux. Thanks Kuba!
2011-05-04 05:59:55 -07:00
Dominik Schmidt
e2890c1e93 sipjreen: do proper reconnection handling now. even with translated errors :P 2011-05-04 14:50:02 +02:00
Dominik Schmidt
d8023b285f sipjreen: improve staying-online 2011-05-04 14:36:05 +02:00
Leo Franchi
607ebf1c24 move location of autoconnect checkbox 2011-05-03 23:36:35 -04:00
Leo Franchi
188b14de39 aint over till it's over 2011-05-03 23:31:09 -04:00
Leo Franchi
5d098438c0 last icon resize tonight 2011-05-03 23:26:12 -04:00
Leo Franchi
b7d2d129c8 icon sizes 2011-05-03 23:25:28 -04:00
Leo Franchi
d96061bd0d add files 2011-05-03 23:21:31 -04:00
Leo Franchi
f774ae4731 icon update
add zeroconf config too
2011-05-03 23:21:00 -04:00
Leo Franchi
c854a090e6 Add autoconnect to twitter dialog. Make dialogs prettier 2011-05-03 22:44:29 -04:00
Jeff Mitchell
aa9a3124ef Make dirlister also delete in-thread 2011-05-03 22:29:44 -04:00
Jeff Mitchell
8b229dd4e3 Fix other area scanner is destroyed to do it in-thread 2011-05-03 22:18:13 -04:00
Jeff Mitchell
a2a2f036a2 Fix build, doh 2011-05-03 22:14:00 -04:00
Jeff Mitchell
20045b2e14 Merge branch 'master' of github.com:tomahawk-player/tomahawk 2011-05-03 22:13:19 -04:00
Jeff Mitchell
f4508fc79a Properly delete scanner in-thread 2011-05-03 22:13:16 -04:00
Leo Franchi
255b251230 fix creating plugin through config dialog signal hookups 2011-05-03 22:12:22 -04:00
Leo Franchi
af0ac5a848 fix build 2011-05-03 22:11:23 -04:00
Leo Franchi
208bbb49b7 migrate legacy gmail accounts to gmail rather than jabber 2011-05-03 22:01:32 -04:00
Jeff Mitchell
a81bca6ce1 Merge remote branch 'origin/master' into leos-crash
Conflicts:
	src/sip/twitter/twitter.cpp
	src/sip/twitter/twitterconfigwidget.cpp
2011-05-03 21:58:24 -04:00
Jeff Mitchell
bcfea87607 Remove more extra debugging, and fix a couple omissions 2011-05-03 21:53:39 -04:00
Jeff Mitchell
1a1c9a68ed Remove extra liblastfm2 debug 2011-05-03 21:48:14 -04:00
Leo Franchi
7d1067dafa fix some crashes 2011-05-03 19:37:58 -04:00
Leo Franchi
ea5cefd2d4 Auto-create zeroconf plugin with new installs
Actually save no-config-widget plugins to settings too
2011-05-03 19:17:00 -04:00
Leo Franchi
81fe1c8061 allow factories to be marked as unique 2011-05-03 19:10:36 -04:00
Jeff Mitchell
33530084b0 Properly delete infosystem objects in the correct thread 2011-05-03 18:44:09 -04:00
Leo Franchi
7be0cdb714 show zeroconf icon 2011-05-03 18:42:46 -04:00
Leo Franchi
3b734df57e tweak icons, make things work more 2011-05-03 18:41:01 -04:00
Jeff Mitchell
eb31702711 More debug 2011-05-03 18:06:42 -04:00
Leo Franchi
811ac70fa6 fix config rect handling 2011-05-03 18:04:27 -04:00
Jeff Mitchell
7f26f34fdd Revamp how the plugins interact with the infosystemworker 2011-05-03 18:00:14 -04:00
Leo Franchi
63738b58c0 disable inline factories and use +/- button for now 2011-05-03 17:49:43 -04:00
Jeff Mitchell
de28596438 We're making progress...move back into a thread 2011-05-03 17:06:04 -04:00
Jeff Mitchell
97ca55fd53 A fix for the introduced crash in liblastfm, ready for more lfranchi debugging 2011-05-03 16:58:10 -04:00
Leo Franchi
52c2fd2a5a spacing tweaks, they will never end 2011-05-03 16:50:30 -04:00
Leo Franchi
c72f6cf508 fix merge config changes 2011-05-03 16:38:45 -04:00
Jeff Mitchell
dd4d268c11 readd possibly crash code 2011-05-03 16:21:27 -04:00
Leo Franchi
ea7e8f6ede Merge remote-tracking branch 'origin/master'
Conflicts:
	src/libtomahawk/sip/SipPlugin.cpp
	src/resolverconfigdelegate.cpp
	src/sip/jreen/jabber.cpp
	src/sip/jreen/jabber.h
2011-05-03 16:16:16 -04:00
Leo Franchi
e1aee9b299 Merge branch 'master' of github.com:tomahawk-player/tomahawk
Conflicts:
	src/libtomahawk/tomahawksettings.cpp
	src/libtomahawk/tomahawksettings.h
	src/sip/jreen/jabber.cpp
	src/sip/jreen/jabber.h
	src/tomahawkapp.cpp
	src/tomahawkwindow.h
	thirdparty/jreen
2011-05-03 15:56:08 -04:00
Kuba Serafinowski
6531c9f1e4 Install .desktop along with icons for it 2011-05-03 21:32:18 +02:00
Kuba Serafinowski
ec4961394a add .dessktop file 2011-05-03 21:31:23 +02:00
Jeff Mitchell
b8bb29161f More debug and a fix 2011-05-03 14:48:17 -04:00
Jeff Mitchell
a8ad8cd774 I can haz lfranchi crash fix? 2011-05-03 14:34:31 -04:00
Jeff Mitchell
e802201341 Merge branch 'master' into leos-crash 2011-05-03 14:18:12 -04:00
Jeff Mitchell
fe478a0759 Switch around when the oauthtwitter gets its nam and add some debug 2011-05-03 14:18:05 -04:00
Dominik Schmidt
7a595aaa76 remove last warning ;-) 2011-05-03 20:00:49 +02:00
Leo Franchi
e001c6a197 more build fixes 2011-05-03 13:56:26 -04:00
Jeff Mitchell
b42e36a240 Add another bit of debug 2011-05-03 13:56:00 -04:00
Leo Franchi
48246e9ec1 more build fixes 2011-05-03 13:49:55 -04:00
Jeff Mitchell
3b84824f11 Gah our startup is so breaky. 2011-05-03 13:49:10 -04:00
Leo Franchi
93212251b6 fix build 2011-05-03 13:47:57 -04:00
Jeff Mitchell
e615362672 add more debug 2011-05-03 13:41:24 -04:00
Dominik Schmidt
d4109d8575 Remove warnings (aka make it compile with -Werror) 2011-05-03 19:40:51 +02:00
Jeff Mitchell
8b2ce768d1 Move scrobbler init far down where it belongs 2011-05-03 13:13:04 -04:00
Jeff Mitchell
e6819d48a8 Move nam init further up 2011-05-03 13:08:04 -04:00
Jeff Mitchell
44173808cb Hopefully fix startup crash in single-threaded infosystemworker mode 2011-05-03 12:36:23 -04:00
Dominik Schmidt
6239f90cf0 sipjreen: remove unneeded m_connected state - m_client knows better about it 2011-05-03 17:12:54 +02:00
Dominik Schmidt
117bff483d Add setProxy() method to SipPlugin interface 2011-05-03 16:53:29 +02:00
Dominik Schmidt
5b961e1a58 sipjreen: fix build 2011-05-03 16:12:32 +02:00
Dominik Schmidt
2772e69a40 sipjreen: implement setProxy() 2011-05-03 15:58:47 +02:00
Dominik Schmidt
99563bfde6 sipjreen: constify parameters in SipMessageExtension 2011-05-03 15:22:43 +02:00
Dominik Schmidt
137c608fa2 sipjreen: hopefully fix a bug that could happen with visible:false peers 2011-05-03 15:22:43 +02:00
Jeff Mitchell
7330c9364d Add debug towards figuring out leo's crash 2011-05-03 08:33:21 -04:00
Jeff Mitchell
bbfd4c91e7 Fix scrobbling. Thanks lfranchi for being my rubber duck. 2011-05-03 08:03:17 -04:00
Jeff Mitchell
085e6f11bd A bit more safety -- kind of redundant with the mutex, but doesn't hurt to have it 2011-05-03 08:03:01 -04:00
Leo Franchi
5b0ed433f5 fix recent playlists 2011-05-02 23:05:59 -04:00
Leo Franchi
bc1ce656ae quiet up debug 2011-05-02 22:29:29 -04:00
Leo Franchi
8b95f7330b also send args on first startup, not completely working 2011-05-02 22:17:53 -04:00
Leo Franchi
0f47027c9c Cache playlist guids to speed up reloading 2011-05-02 22:14:45 -04:00
Leo Franchi
aec8c97eac Add context menu item to create track links 2011-05-02 22:05:29 -04:00
Leo Franchi
aff34374cb update when new playlists are reset 2011-05-02 18:58:06 -04:00
Leo Franchi
1bb69c0fc9 add Open command to url handling 2011-05-02 18:56:30 -04:00
Leo Franchi
bbbd1a48bb add new welcomeplaylistmodel 2011-05-02 18:22:40 -04:00
Leo Franchi
1bde1fe1bb fix indenting 2011-05-02 18:22:25 -04:00
Leo Franchi
40d3b87af5 make welcomewidget and recently played playlist behave 2011-05-02 18:22:16 -04:00
Leo Franchi
59d72df046 Merge remote-tracking branch 'origin/master' into cleanmaster 2011-05-02 16:29:42 -04:00
Jeff Mitchell
58692f424d Fix condition where duplicate connections could happen from twitter 2011-05-02 16:27:34 -04:00
Dominik Schmidt
81065243f4 sipjreen: regressions--: handle server and port settings correctly 2011-05-02 22:11:47 +02:00
Dominik Schmidt
92f23bc20b sipjreen: regressions--: subscription handling
UPDATE JREEN to make it work!
2011-05-02 17:08:15 +02:00
Jeff Mitchell
9ed8caf277 Use liblastfm NAC in infosystemworker too, if available 2011-05-02 10:14:59 -04:00
Leo Franchi
68a3df17c4 change around some commands 2011-05-02 09:13:21 -04:00
Leo Franchi
55be3010e5 work on new welcome widget 2011-05-02 09:13:21 -04:00
Dominik Schmidt
e8be8e95b5 Weird, where did this come from?! 2011-05-02 04:07:31 +02:00
Dominik Schmidt
819fc4881e Merge branch 'master' of git://github.com/tomahawk-player/tomahawk 2011-05-02 04:04:12 +02:00
Dominik Schmidt
0d43d54c3b ugly hacks to make liblastfm compile on windows 2011-05-02 04:04:04 +02:00
Leo Franchi
6340b82921 Use a unique bookmarks playlist guid 2011-05-01 21:07:45 -04:00
Dominik Schmidt
d6c73e44e0 sipjreen: regressions--: update menu correctly 2011-05-02 01:37:27 +02:00
Dominik Schmidt
ea159cb2f4 sipjreen: warnings-- 2011-05-02 00:05:15 +02:00
Dominik Schmidt
a8441ffb4c sipjreen: regressions--: request subscription when adding someone to the roster 2011-05-01 23:30:18 +02:00
Dominik Schmidt
26d383eeab Update to latest jreen with subscription api, some fixes for crashes and proxy support 2011-05-01 22:35:57 +02:00
Dominik Schmidt
eba947854b Unpimple sipjreen 2011-05-01 22:33:45 +02:00
Christian Muehlhaeuser
e863324c40 * Move debug output before ASSERT. 2011-05-01 17:12:18 +02:00
Leo Franchi
2b408744d7 play the track if nothing is playing. doesn't select in the playlist yet, thinking of an elegant solution 2011-05-01 11:08:01 -04:00
Leo Franchi
24f58b45d3 Select playlist in sidebar when creating bookmark playlist 2011-05-01 10:57:10 -04:00
Jeff Mitchell
d5c182c151 Switch around a couple of qnam slots 2011-05-01 10:29:31 -04:00
Jeff Mitchell
7f7c55a293 Only delete qnam objects in liblastfm2 that it creates itself 2011-05-01 10:27:43 -04:00
Christian Muehlhaeuser
e8f2eedcb9 * Don't assert on unknown sources, but print out debug. 2011-05-01 15:30:15 +02:00
Christian Muehlhaeuser
4c3f5b0399 * Should fix compiling on OS X. 2011-05-01 14:54:48 +02:00
Christian Muehlhaeuser
5379d35084 * Should fix compiling on OS X. 2011-05-01 14:43:18 +02:00
Christian Muehlhaeuser
82a5058e4c * Fix AudioEngine killing Phonon's QIODevice. 2011-05-01 13:05:04 +02:00
Jeff Mitchell
af49afac35 work around isLocalFile not existing 2011-05-01 03:01:34 -04:00
Jeff Mitchell
032e6f8d6f Update local liblastfm2 to deal better with threads and qnams 2011-05-01 02:22:01 -04:00
Jeff Mitchell
2a4b0b2956 First part of more threadsafety, mostly for liblastfm2's qnam 2011-05-01 02:22:01 -04:00
Leo Franchi
c2b7ea9411 Merge remote-tracking branch 'origin/master' into cleanmaster 2011-05-01 01:29:41 -04:00
Leo Franchi
ab2e91fdd6 Allow url result-hints, load them from XSPFs too.
Add support for various tomahawk:// links
2011-05-01 01:27:34 -04:00
Jeff Mitchell
683d4a4529 Find local phonon installs if they exist instead of filtering them out 2011-05-01 01:24:29 -04:00
Jeff Mitchell
3f3a2798c7 have the worker let any interested plugins know when the nam changes, and have the echonestplugin make use of that to set the appropriate nam for the thread 2011-05-01 01:04:48 -04:00
Jeff Mitchell
4768f9acd7 Attempt to fix Leo's crash in destruction of infosystemworker 2011-04-30 21:55:23 -04:00
Jeff Mitchell
2a39355fb6 Add pushInfo API to InfoSystem, and switch the LastFM Plugin over to
using it
2011-04-30 17:10:36 -04:00
Jeff Mitchell
eec9283aff Don't start on the script resolver page (I'm assuming this was
accidental?)
2011-04-30 17:10:23 -04:00
Jeff Mitchell
9dae7ded86 Fix crash on config dialog close 2011-04-30 15:19:05 -04:00
Leo Franchi
fca9da24cf support deleting sip plugins via context menu 2011-04-30 14:12:04 -04:00
Jeff Mitchell
dfc518cedc Use a new QNAM in the thread to avoid reparenting problems 2011-04-30 14:07:20 -04:00
Leo Franchi
5b6317b282 pong 2011-04-30 13:29:22 -04:00
Leo Franchi
1ce8c7dc3e die margin die 2011-04-30 13:26:31 -04:00
Jeff Mitchell
37b9dea002 Split infosystemworker into its own header 2011-04-30 13:25:17 -04:00
Leo Franchi
a9eb684a8b UI tweaks for linux this time 2011-04-30 13:24:25 -04:00
Leo Franchi
8004eb08c3 more osx UI fixes.. 2011-04-30 13:04:10 -04:00
Jeff Mitchell
1b656fe874 Clean up some of the threadification 2011-04-30 12:55:18 -04:00
Jeff Mitchell
750331d920 Merge branch 'master' into infosystem-threadify 2011-04-30 12:51:21 -04:00
Jeff Mitchell
63b1f4eae7 Don't allow a phonon version less than 4.5.0 as it causes problems 2011-04-30 11:25:54 -04:00
Jeff Mitchell
4fb41ff417 Initial work on threadifying 2011-04-30 11:10:29 -04:00
Leo Franchi
2d2426732c fix whitespace 2011-04-30 09:24:51 -04:00
Leo Franchi
3d0d61524f Merge branch 'tiegz-master' 2011-04-30 09:12:28 -04:00
Leo Franchi
5b633a25ee more ui tweaks 2011-04-29 18:41:48 -04:00
Leo Franchi
a765937c9b really kill the home icon 2011-04-29 18:40:54 -04:00
Leo Franchi
c724205531 tweak soem margins 2011-04-29 18:20:28 -04:00
Leo Franchi
6be3027be5 Merge remote-tracking branch 'origin/master' 2011-04-29 18:05:42 -04:00
Leo Franchi
cfff4a91cb make it a new config dialog 2011-04-29 18:04:55 -04:00
Jeff Mitchell
2af7c9f18e Fix a bug and start the skeleton for the thread-based worker 2011-04-29 17:01:58 -04:00
Leo Franchi
bba33f0bf8 Make the treeview work, and config work, and lots of things work 2011-04-29 16:05:48 -04:00
Jeff Mitchell
48f1745614 Hopefully fix problems with the auto-message going to gtalk users 2011-04-29 08:30:07 -04:00
Leo Franchi
e2f0bc6c17 add files 2011-04-28 07:37:53 -04:00
Leo Franchi
b2a0e41eab Merge branch 'master' of github.com:tomahawk-player/tomahawk into upstream 2011-04-28 07:36:35 -04:00
Leo Franchi
bf0b58fe60 Support year in external resolvers too 2011-04-28 07:36:12 -04:00
Leo Franchi
eb8a4f6711 Some more work on the config UI 2011-04-28 07:35:16 -04:00
Leo Franchi
2380838347 Support year in external resolvers too 2011-04-28 07:33:40 -04:00
Leo Franchi
e673c01d3c add a google wrapper around the jreen jabber plugin 2011-04-27 17:55:50 -04:00
Leo Franchi
33e940f708 Set sourcetree to itunes/mail-like grey and blue on osx. Somehow this was lost during my merge. 2011-04-26 23:35:48 -04:00
Leo Franchi
8d777ff6a9 Initial work towards SIP Factoryizing. Migrates and stuff, too. Config dialog unfinished. 2011-04-25 21:55:26 -04:00
Leo Franchi
3f740ce4a0 require QJson 0.7.0 2011-04-25 16:49:54 -04:00
Leo Franchi
6945b503cf remove Home action from toolbar as it's now the recently played item in the sourcelist 2011-04-25 15:59:45 -04:00
Leo Franchi
033987eedb use the sourceitem decoration role instead so we get teh supercollection icon 2011-04-24 21:06:33 -04:00
Leo Franchi
2507f8306c Revert change of jreen namespace, as we were tracking Jreen trunk correctly but
our submodule was behind on clean checkouts. Updated now.

Revert "The Jreen guys went and changed capitalization of their namespace, which"

This reverts commit 41f1ac9713.
2011-04-23 12:47:45 -04:00
Leo Franchi
dd685d600d Update jreen submodule to newest trunk. 2011-04-23 12:43:45 -04:00
Jeff Mitchell
41f1ac9713 The Jreen guys went and changed capitalization of their namespace, which
is why build was failing.

Jreen--

or, I guess,
jreen++
2011-04-22 10:46:29 -04:00
Leo Franchi
056efe2cd9 show name when editing first 2011-04-22 17:39:01 -04:00
Leo Franchi
519e1bb71e allow to rename playlist when creating via drag
Merge branch 'master' into sourcelistrefactor

Conflicts:
	src/tomahawkwindow.cpp
2011-04-22 17:09:23 -04:00
Leo Franchi
632889b590 fix a few more things 2011-04-22 16:32:38 -04:00
Leo Franchi
062cf35324 sort playlists by date added
allow users to drag tracks onto the New Playlist item to seed a new plsylist
2011-04-22 16:07:44 -04:00
Leo Franchi
8cdc9931b1 Add some tooltips, thanks Pranav 2011-04-22 16:00:58 -04:00
Leo Franchi
e6c7a73110 make welcome widget not abuse the filesystem 2011-04-22 15:31:40 -04:00
Leo Franchi
6a323832a9 split out items in their own parts
make generic item take a funcptr so we keep the link going
2011-04-22 14:43:44 -04:00
Jeff Mitchell
02272c0f87 Use the explicitly-configured server when one exists, otherwise do DNS querying 2011-04-22 13:11:57 -04:00
Jeff Mitchell
7239d3fdfd Add a QCache to cache recent hits in memory 2011-04-22 13:02:35 -04:00
Jeff Mitchell
e3aa497b62 Fix crashes and bad accesses 2011-04-22 13:02:01 -04:00
Leo Franchi
4ffe635486 FindPhonon already spits out all the messages we need 2011-04-22 10:02:44 -04:00
Leo Franchi
695e029709 Add FindPhonon.cmake from kde, and uses phonon/ includes as that's the "proper" include path for both qt- and kde-phonon 2011-04-22 09:59:53 -04:00
Jeff Mitchell
89606c49d4 Warnings-- 2011-04-22 09:58:43 -04:00
Jeff Mitchell
a8253c4abd Merge remote branch 'origin/master' into single-file-cache 2011-04-22 09:52:02 -04:00
Leo Franchi
dd5c7b0af4 fix up
Merge branch 'master' into sourcelistrefactor

Conflicts:
	src/sourcetree/sourcetreeview.cpp
2011-04-22 09:29:04 -04:00
Christian Muehlhaeuser
15014f137b * Merged phonon into master. 2011-04-22 15:27:33 +02:00
Christian Muehlhaeuser
7b10f99b53 * This wasn't supposed to end up in phonon branch. 2011-04-22 15:24:25 +02:00
Christian Muehlhaeuser
48265c8262 * Removed phonon warning. 2011-04-22 15:11:24 +02:00
Christian Muehlhaeuser
34ac2b6b86 * Merged master into phonon branch. 2011-04-22 15:08:59 +02:00
Leo Franchi
a8d8a485e5 Add support for stations and automatic playlists back to the sourcetree
don't look at this commit for too long or some parts might cause your eyes to fall out of your head. i apoligize in advance.
2011-04-21 23:29:05 -04:00
Christian Muehlhaeuser
ae36ce956a * Always show source's current friendly name, not a cached copy of it. 2011-04-22 02:08:58 +02:00
Jeff Mitchell
1640872bd9 Update infosystemcache to load from disk on demand. It still uses a (much smaller) amount of memory for one optimization: tracking known hashes to file paths. This prevents re-reading directory trees over and over and constantly refiltering them. 2011-04-21 12:11:51 -04:00
Leo Franchi
127548e3a2 Merge remote-tracking branch 'origin/master' into sourcelistrefactor
Conflicts:
	src/sourcetree/sourcetreeitem.cpp
	src/sourcetree/sourcetreeview.cpp
	thirdparty/jreen
2011-04-21 11:32:14 -04:00
Leo Franchi
61bf30de57 Merge remote-tracking branch 'origin/master' into sourcelistrefactor 2011-04-21 11:22:33 -04:00
Jeff Mitchell
d727f3a319 Merge branch 'master' into single-file-cache 2011-04-21 10:38:55 -04:00
Dominik Schmidt
3e20fd1f6a Let SipHandler set the avatar for MyCollection 2011-04-21 13:42:26 +02:00
Leo Franchi
990e160a2e allow renaming of local playlists 2011-04-20 22:21:43 -04:00
Leo Franchi
74b310eb00 do lots of stuff.
rename playlistmanager to viewmanager. link pages in the viewmanager to indexes in the sourcetree, so it is never out of sync. yay!
2011-04-20 22:14:45 -04:00
Frank Osterfeld
3182a294d7 Do not truncate FLAC playback.
If "finish" is set, play until the buffer is empty.
2011-04-20 23:34:13 +02:00
Dominik Schmidt
84019e5d11 Add DLLEXPORT macro to SipHandler 2011-04-20 21:43:14 +02:00
Dominik Schmidt
26be5c954d Merge branch 'jreen-avatars'
Conflicts:
	src/libtomahawk/source.h
2011-04-20 21:31:44 +02:00
Dominik Schmidt
d9a4b71414 Use the AvatarManager and show avatars in the MainWindow. 2011-04-20 21:26:16 +02:00
Dominik Schmidt
ddb7e012df sipjreen: Add AvatarManager class 2011-04-20 21:12:04 +02:00
Dominik Schmidt
47fd7b8285 Add avatar support to controlconnection, source and sourcetreeview. 2011-04-20 20:36:49 +02:00
Dominik Schmidt
def3e3d868 Move SipHandler from application to library 2011-04-20 20:22:06 +02:00
Jeff Mitchell
e36b6bd41e Merge remote branch 'origin/master' into single-file-cache 2011-04-20 13:01:41 -04:00
Jeff Mitchell
439521424b Merge branch 'master' into single-file-cache 2011-04-20 12:59:30 -04:00
Alejandro Wainzinger
af9d2d388c Lower the amount of time PortFwdThread waits until destruction. Greatly reduces shutdown time in the case where it can't communicate properly. 2011-04-20 12:58:59 -04:00
Christian Muehlhaeuser
2e80475a9d * Moved --demo stuff to Source class. 2011-04-20 16:21:12 +02:00
Alejandro Wainzinger
cbd5196080 Fix CMake. 2011-04-19 22:26:18 -04:00
Dominik Schmidt
d87398c47a First shitty implementation of loading avatars 2011-04-20 00:26:13 +02:00
Jeff Mitchell
248e3e7a4a Rename some values and make slots and other functions use const values,
for sanity checking
2011-04-19 16:37:37 -04:00
Jeff Mitchell
edaabc0ae6 Efficiency++ 2011-04-19 15:57:13 -04:00
Jeff Mitchell
9310755e92 Fix loading files, and preventing duplicates 2011-04-19 15:53:26 -04:00
Jeff Mitchell
66358d2103 Use hex in the filename 2011-04-19 15:22:29 -04:00
Jeff Mitchell
b916125756 Whoops, actually start the sync timer! 2011-04-19 09:48:42 -04:00
Jeff Mitchell
d391b9bd66 Per-file cache entry saving and loading 2011-04-19 09:43:53 -04:00
Jeff Mitchell
b9f80edea9 Move infosystem register meta types to the location as the other register
statements
2011-04-19 08:48:02 -04:00
Jeff Mitchell
43834a17bc Add sync timer to cache to avoid saving everything at shutdown (runs
once a minute)
2011-04-19 08:38:47 -04:00
Christian Muehlhaeuser
af0b7f9a74 * Merged master into phonon branch. 2011-04-19 00:03:55 +02:00
Dominik Schmidt
ed93084315 Merge branch 'jreen-tpqt4-comp' 2011-04-18 22:35:42 +02:00
Dominik Schmidt
04b4c69ab3 sipjreen: Add I'm-not-a-person-auto-response 2011-04-18 22:35:30 +02:00
Dominik Schmidt
01980ab6d1 sipjreen: Add authError signal 2011-04-18 22:35:18 +02:00
Dominik Schmidt
35d51a2cd2 sipjreen: Fix some signal and slot connections 2011-04-18 22:35:09 +02:00
Jeff Mitchell
309024a467 Switch some calls from InfoCustomData to InfoCriteriaHash, much simplifying 2011-04-18 10:40:45 -04:00
Jeff Mitchell
8bafe8bb9a Rename InfoCacheCriteria into something more generic since many plugins will probably use it for input data 2011-04-18 10:12:37 -04:00
Dominik Schmidt
5b01ae5268 On default use system jreen package, allow the user to enforce in-tree compilation with -DINTERNAL_JREEN=ON. 2011-04-17 21:25:24 +02:00
Dominik Schmidt
b52b87f818 Updated jreen submodule 2011-04-17 19:49:03 +02:00
Leo Franchi
22de39b96a add files 2011-04-17 11:51:59 -04:00
Leo Franchi
4eaff359f0 make collectionitems icons used not hardcoded, and add supercollection icon 2011-04-17 11:51:59 -04:00
Leo Franchi
9ee970489c add icon for playlists
add recently played item in source list
add create playlist icon, show playlists node for local source
remove H ome from toolbar as it's in the sidebar now
2011-04-17 11:51:58 -04:00
Leo Franchi
2f7167037a refactor the sourcetreeitem a bit so an item always exists properly as soon as it is constructed
that way the model's rowForItem() will work with any just-constructed SourceTreeItem

make the treeview open the playlists when you open the collection.
2011-04-17 11:50:49 -04:00
Leo Franchi
ed27dcdeec Move drop handling into source model
Add a Add Station item (needs flag change)
Cleanup
restore dynamic playlists to wo rking though hidden so we don't crash
fix lots of minor things in the sourcelist
2011-04-17 11:48:58 -04:00
Leo Franchi
4f5948db71 standardize loading signal, i think this was a typo.. 2011-04-17 11:46:19 -04:00
Leo Franchi
3378b1ef82 add supercollection back
turn off proxy and cleanup trying to find signal issue
fix parent() that was causing all sorts of weird inserted bugs
fix removing to not work on a copy!
2011-04-17 11:43:29 -04:00
Leo Franchi
e13bd93a58 Refactor the sourcetree to make it more extensible 2011-04-17 11:42:53 -04:00
Dominik Schmidt
cadc72da2e sipjreen: Clean up debug output and add legacy mode 2011-04-16 17:27:39 +02:00
Dominik Schmidt
5610abfcde Merge remote branch 'origin/master' into jreen-tpqt4-comp
Conflicts:
	CMakeLists.txt
	src/sip/jreen/jabber_p.cpp
	src/tomahawkapp.cpp
2011-04-16 15:32:46 +02:00
Dominik Schmidt
3254e602e3 Merge branch 'master' into jreen-tpqt4-comp 2011-04-16 15:07:17 +02:00
Christian Muehlhaeuser
7f570c325d * Updates README and ChangeLog. 2011-04-16 13:36:09 +02:00
Jeff Mitchell
f7c440ed4f Don't let cache requests go through until the cache is fully loaded 2011-04-16 03:40:15 -04:00
Jeff Mitchell
5334dbf037 Whoops. C'mon, do what I mean, not what I tell you to do. 2011-04-16 03:31:40 -04:00
Jeff Mitchell
9202113a43 Attempt to speed up infosystemcache loading on startup 2011-04-16 03:03:59 -04:00
Christian Muehlhaeuser
cdd3684dba * Fixed style. 2011-04-16 01:31:20 +02:00
Leo Franchi
ed2c1513a8 wasn't meant to commit that 2011-04-15 19:14:48 -04:00
Leo Franchi
fe08bf2175 and set properly 2011-04-15 19:13:54 -04:00
Leo Franchi
ab72ee2302 if we are created remotely, use their creation date 2011-04-15 19:12:40 -04:00
Christian Muehlhaeuser
dca94f864d * Fixed style / typo. 2011-04-16 00:18:20 +02:00
Leo Franchi
1ecb799694 add a createdOn property to playlists, and sort sourcetree 2011-04-15 17:27:27 -04:00
Leo Franchi
e503f74db1 update changelog 2011-04-15 14:01:59 -04:00
Leo Franchi
3671f35928 don't crash if we try to feed QxT a result that we don't have a proper length for 2011-04-15 14:00:11 -04:00
Leo Franchi
dde278a1cc changielog 2011-04-15 08:45:20 -04:00
Frank Osterfeld
db4fc8bd03 Fix compiler warnings. 2011-04-15 13:46:51 +02:00
Christian Muehlhaeuser
71a3f223c2 * Merged master into branch phonon. 2011-04-15 11:06:26 +02:00
Christian Muehlhaeuser
aad9dd4d75 * Fixed rejecting default covers for artist images, too. 2011-04-15 10:25:32 +02:00
Christian Muehlhaeuser
5e38fc5725 * Updated ChangeLog. 2011-04-15 09:15:45 +02:00
Christian Muehlhaeuser
abd5c3c567 * Fixed bad url detection in last.fm plugin. 2011-04-15 09:09:20 +02:00
Christian Muehlhaeuser
66e3d07aee * Use canonicalPath() wherever dealing with file- & dir-paths. 2011-04-15 07:50:38 +02:00
Frank Osterfeld
9af6ff7911 Do not crash when the collection folders contains cycles (symlinks).
Example: /my/collection/subfolder/link -> /my/collection
Use canonicalFilePath to detect cycles and also check m_newdirtimes for an existing timestamp before recursing into subfolders.
2011-04-15 13:52:49 +08:00
Christian Muehlhaeuser
04d30913f9 * Show artist images in ArtistView (lazy-loading).
* Added artist image api to LastFmPlugin.
2011-04-15 07:35:42 +02:00
Frank Osterfeld
df8a333aee Convert QSet<QStringList*> to QVector<QStringList>.
This one possibly leaked, there is no need to use pointers here.
2011-04-15 09:11:28 +08:00
Leo Franchi
f16277ac5f more assert fixes 2011-04-14 20:40:00 -04:00
Leo Franchi
ab964957d2 elide 2011-04-14 20:26:08 -04:00
Leo Franchi
ef1ded8636 remove useless file 2011-04-14 20:11:29 -04:00
Leo Franchi
fe43c1dd01 Add config migration 2011-04-14 20:09:59 -04:00
Leo Franchi
714c306032 Refactor the resolver config UI for More Prettiness
Allow resolvers to configure themselves and whatnot
2011-04-14 20:09:59 -04:00
Jeff Mitchell
4b13467e4c Don't add directories to the watcher if watch for changes is disabled 2011-04-14 16:50:38 -04:00
Leo Franchi
3ce41c50bc Don't assert if a scrobble failed, that's no fun. 2011-04-14 10:42:16 -04:00
Christian Muehlhaeuser
8231127a3b * Only show tracks without an album tag below the 'Unknown' album node in TreeModel. 2011-04-14 07:47:57 +02:00
Christian Muehlhaeuser
3e05151008 * Support showing tracks without an album tag in the TreeView. 2011-04-14 07:26:27 +02:00
Christian Muehlhaeuser
f5219525b4 * Added alphaBlend method to TomahawkUtils. DRY. 2011-04-14 05:00:27 +02:00
Christian Muehlhaeuser
e3c90784e1 * Properly shutdown InfoSystem again.
* Default sizes & restoring of TreeHeader columns.
* Fix square cover painting in TreeItemDelegate.
2011-04-14 04:40:04 +02:00
Christian Muehlhaeuser
9f4c3bb461 * Moved InfoSystem into libTomahawk.
* Made InfoSystem a singleton.
* Don't access InfoSystem via TomahawkApp any longer.
* Progress on ArtistView & TreeModel.
2011-04-14 00:39:39 +02:00
Christian Muehlhaeuser
43a08b7957 * Work in progress: The ArtistView & TreeModel. 2011-04-14 00:36:37 +02:00
Christian Muehlhaeuser
d4745e1e40 * Further progress making a clean(er) tree model. 2011-04-14 00:33:17 +02:00
Christian Muehlhaeuser
f2308beb18 * Split up PlItem into Track- and TreeModelItem. 2011-04-14 00:33:16 +02:00
Leo Franchi
1c409e40f2 more crash fixes..... 2011-04-13 10:34:40 -04:00
Leo Franchi
34fe17a3e6 assert less :( 2011-04-13 08:58:36 -04:00
Frank Osterfeld
9b5be063bd use setTrackModel, as CollectionView::setModel() suggests.
Fixes assertion when selecting a collection.
2011-04-13 14:08:55 +02:00
Frank Osterfeld
9d28c11089 build on OS X
These flags break the build and are also disabled for all the other plugins.
2011-04-13 14:08:11 +02:00
Tieg Zaharia
e76ca1fdef OSX: adds 'Window' menu with 'Minimize'/'Zoom' actions 2011-04-12 20:25:47 -04:00
Jeff Mitchell
aca94b1b55 Fix some bad function usage asserts 2011-04-12 18:19:59 -04:00
Frank Osterfeld
b214dd01f8 randomize XMPP resource name so that multiple Tomahawk/JReen instances do not collide. 2011-04-13 05:20:14 +08:00
Frank Osterfeld
800c06e678 initialize m_dragging variable (fixes valgrind warning). 2011-04-13 05:20:14 +08:00
Frank Osterfeld
d3ca52cba3 link on OS X 2011-04-13 05:20:14 +08:00
Jeff Mitchell
5455ee0f21 Unused warning cleanups 2011-04-12 16:52:25 -04:00
Jeff Mitchell
e2a3c48e6e Rejig the parameters and add QASSERTs. Chris, I decided to take your advice about the asserts -- it will help in the future to make sure people don't mistakenly use the wrong function in new code either. 2011-04-12 15:21:05 -04:00
Jeff Mitchell
4a6bc942fa First round of warning cleanups. Leo, please look at the changes in the playlist stuff, make sure I didn't screw anything up 2011-04-12 12:21:03 -04:00
Jeff Mitchell
0c3ec4a6cf Fix Jreen compilation when KDE4 is found 2011-04-12 11:24:54 -04:00
Jeff Mitchell
3b873dfeda Limit policy setting to 2.8.4 or higher 2011-04-12 11:00:07 -04:00
Jeff Mitchell
0d6c335e45 Suppress warning with newer cmake 2011-04-12 10:53:32 -04:00
Leo Franchi
f5f16b6b26 update the Info.plist version as a part of cmake so we don't forget next time :) 2011-04-11 17:10:31 -04:00
Leo Franchi
79542e60e6 Merge branch 'stable'
Conflicts:
	CMakeLists.txt
2011-04-11 15:40:07 -04:00
Leo Franchi
24d9cce3a8 Install a .protocol file on KDE so tomahawk:// links work there too 2011-04-11 15:36:29 -04:00
Leo Franchi
b3eaa1a761 Merge branch 'stable'
Conflicts:
	ChangeLog
	src/tomahawkwindow.cpp
2011-04-11 11:03:31 -04:00
Leo Franchi
1cb3516dc6 As per domme's suggestion, use ::fromUserInput to make loading xspfs work everywhere 2011-04-11 11:01:26 -04:00
Leo Franchi
c24a95e49f support loading local .xspfs from files
(cherry picked from commit 4095f4b5aa)
2011-04-11 10:22:00 -04:00
Leo Franchi
4095f4b5aa support loading local .xspfs from files 2011-04-11 10:11:40 -04:00
Leo Franchi
5235cc9093 less debug 2011-04-10 21:04:18 -04:00
Leo Franchi
41c553fac7 undo oops 2011-04-10 21:03:47 -04:00
Leo Franchi
a9a9ffa40f Changes to make Spotify resolver work 2011-04-10 21:03:47 -04:00
Alejandro Wainzinger
252a48196c Move signal connections of scrobbler into scrobbler, easier to read. 2011-04-10 16:46:35 -07:00
Alejandro Wainzinger
5ae0a7138c Make compile on OS X. (liblastfm2) 2011-04-10 02:24:32 -07:00
Christian Muehlhaeuser
c0994e3c24 * Fixed crash bug caused by multiple sources going on- and offline at a time. 2011-04-09 11:03:52 +02:00
Jeff Mitchell
7639d8da9e Happy Birthday, muesli 2011-04-07 17:58:45 -04:00
Jeff Mitchell
a13388f2c4 Rejig Jreen/Gloox cmake stuff to report correct status 2011-04-07 11:19:20 -04:00
Jeff Mitchell
bf744ac8bb Ah-whoops, knew I forgot something in my previous commit 2011-04-07 10:41:08 -04:00
Jeff Mitchell
db6a93e55c Now when inserting into the cache a max age time is specified. It can be refreshed by issuing a new max age time when doing a getCachedInfo call (optional). 2011-04-07 10:40:11 -04:00
Leo Franchi
196397f210 fix build 2011-04-07 09:16:21 -04:00
Leo Franchi
80c8e61cf8 Merge branch 'stable'
Conflicts:
	src/main.cpp
	src/tomahawkapp.cpp
2011-04-07 08:57:43 -04:00
Leo Franchi
c6442e4dfd changelog++ 2011-04-06 23:15:16 -04:00
Christian Muehlhaeuser
3b3ff063dc * Updated Changelog. 2011-04-07 05:07:14 +02:00
Christian Muehlhaeuser
87c554c6f0 * Fixed TomahawkApp CTOR for secondary instances. 2011-04-07 04:47:41 +02:00
Jeff Mitchell
83909e53f9 Don't unconditionally scan for changes on startup 2011-04-06 19:58:24 -04:00
Jeff Mitchell
8690a76df7 Fix hang-on-exit in ScanManager. Turns out all it needed was to be explicitly deleted; I guess the parenting wasn't working right, or something? 2011-04-06 19:51:58 -04:00
Jeff Mitchell
0c52b37bb2 InfoSystemCache saving and loading from disk works. We might have to tweak exactly how it's stored on disk at some point, depending on efficiency, but this works. 2011-04-06 19:42:50 -04:00
Christian Muehlhaeuser
621770eada Merge remote-tracking branch 'origin/stable' 2011-04-06 11:49:13 +02:00
Christian Muehlhaeuser
17c1cdc2c1 * Renamed PlItem to TrackModelItem. 2011-04-06 11:48:49 +02:00
Christian Muehlhaeuser
d5f21dc9f2 * Remove debug output. 2011-04-06 08:19:10 +02:00
Christian Muehlhaeuser
01befb0955 * Added better quality icon images and merged stable. 2011-04-06 08:06:54 +02:00
Christian Muehlhaeuser
495621b715 Merge remote-tracking branch 'origin/stable' 2011-04-06 07:33:45 +02:00
Christian Muehlhaeuser
51a3eb39be * Fixed page-history related crash when deleting / creating playlists. 2011-04-06 07:26:57 +02:00
Dominik Schmidt
60142eb92d Merge branch 'master' into jreen-tpqt4-comp
Conflicts:
	CMakeLists.txt
	src/tomahawkapp.cpp
2011-04-06 06:58:33 +02:00
Dominik Schmidt
c1385761b6 Find jreen headers in source, HACK 2011-04-06 06:43:24 +02:00
Christian Muehlhaeuser
ab2443792a * Don't manually delete the root item. This speeds up shut down, since the proxy will be disconnected before the root item gets deleted (automatically). 2011-04-06 06:18:00 +02:00
Jeff Mitchell
dc43452bfc Fix build 2011-04-05 21:15:04 -04:00
Jeff Mitchell
17733fea1d Fix build 2011-04-05 21:14:32 -04:00
Leo Franchi
69011e3f90 cleanup 2011-04-05 21:06:24 -04:00
Leo Franchi
3d93a82d08 go back to previous page in history when deleting a playlist 2011-04-05 21:04:34 -04:00
Leo Franchi
a1848f46bd Set a query loaded from a source as already resolved 2011-04-05 21:04:34 -04:00
Jeff Mitchell
1ef9b7c241 Update twitter connect caching 2011-04-05 20:59:11 -04:00
Jeff Mitchell
47fb4f3b50 Update twitter connect caching 2011-04-05 20:58:47 -04:00
Jeff Mitchell
73d88dcf7b Keep track of offered dbid to a peer and check offer key to make sure it matches 2011-04-05 20:51:48 -04:00
Jeff Mitchell
394f3ee383 Keep track of offered dbid to a peer and check offer key to make sure it matches 2011-04-05 20:50:53 -04:00
Jeff Mitchell
a52ecfb5b8 Do some explicit string emptiness checking in Twitter 2011-04-05 20:21:14 -04:00
Jeff Mitchell
db8088b30f Actually start writing cached info to disk 2011-04-05 20:20:49 -04:00
Jeff Mitchell
baa039bbf6 Do some explicit string emptiness checking in Twitter 2011-04-05 20:18:37 -04:00
Jeff Mitchell
da7a45950a Merge remote branch 'origin/stable' 2011-04-05 13:50:31 -04:00
Jeff Mitchell
b87732e9c6 Add kdevelop stuff to gitignore 2011-04-05 13:49:17 -04:00
Leo Franchi
f8619d4aa5 hm, add a newline where it belongs 2011-04-05 13:21:33 -04:00
Leo Franchi
f8452b4fdc only connect if there is that signal, no more warnings 2011-04-05 13:14:01 -04:00
Dominik Schmidt
9d95644b9f Add debug when sending messages 2011-04-05 17:15:02 +02:00
Dominik Schmidt
e944293d02 Build jreen on default 2011-04-05 17:14:11 +02:00
Leo Franchi
8881fab205 clean up after ourselves 2011-04-04 18:50:10 -04:00
Leo Franchi
806b3a3281 change loading animation, show animation while resolving a playlist 2011-04-04 18:43:51 -04:00
Dominik Schmidt
4cb2532fab Heyyeeyeeey - hey stupid 2011-04-04 23:22:49 +02:00
Dominik Schmidt
3a0874bcdd More debug and fails-- 2011-04-04 23:20:35 +02:00
Dominik Schmidt
0cfb98b0af Squash me 2011-04-04 21:14:05 +02:00
Dominik Schmidt
16eb50e02d Forgot to add tomahawksipmessage stanza extension files 2011-04-04 20:46:21 +02:00
Dominik Schmidt
e7ddedef5a Test it, baby! 2011-04-04 20:31:10 +02:00
Leo Franchi
b6d12701e7 Merge branch 'stable' 2011-04-04 14:22:58 -04:00
Leo Franchi
9cc74abccc Keep the dynamic playlist description up to date when it is changed 2011-04-04 14:21:47 -04:00
Dominik Schmidt
63d7fc0b38 Do some cleanup and add comments in jreen sip plugin 2011-04-04 16:44:39 +02:00
Christian Muehlhaeuser
87e813e215 Merge remote-tracking branch 'origin/stable' 2011-04-04 13:55:24 +02:00
Christian Muehlhaeuser
fdc2f5d3e9 * Fixed thread afinity issue related to WebKit. 2011-04-04 13:25:10 +02:00
Jeff Mitchell
f2c74f4ddb Merge branch 'stable' 2011-04-04 05:18:36 -04:00
Jeff Mitchell
b08f4f1daf Changelogify++ 2011-04-04 05:18:22 -04:00
Christian Muehlhaeuser
92bc03ee3e * Merged stable. 2011-04-04 10:55:58 +02:00
Christian Muehlhaeuser
60b9d48d73 * Updated Changelog. 2011-04-04 10:48:48 +02:00
Christian Muehlhaeuser
5e2d196ba0 * Fixed mtimes issue with windows paths. 2011-04-04 10:36:07 +02:00
Christian Muehlhaeuser
16fd65667f * Merged stable changes to master. 2011-04-04 09:02:40 +02:00
Jeff Mitchell
74fd092355 Ok. Now the watched scanning is really fixed, in the sense that I can no longer break it. Until someone finds another way. 2011-04-03 13:50:52 -04:00
Jeff Mitchell
f66a062796 Hopefully fix removing files actually being removed from db during watch scan 2011-04-03 13:31:02 -04:00
Christian Muehlhaeuser
8729c91c95 * Fixed crash on startup with empty config. 2011-04-03 13:07:20 +02:00
Jeff Mitchell
680b204d11 Make caching work. Doesn't save/load to disk yet but it's ready to be used as a memcache at least. 2011-04-03 05:44:32 -04:00
Jeff Mitchell
2b85beb704 Requests for cover art from lastfm now go through the infosystem caching mechanism. It's not actually storing a cache yet but the information flow works (at least, for cache misses :-) ) 2011-04-02 22:51:10 -04:00
Leo Franchi
1da0a34d89 tomahawk:// handler stuff on windows 2011-04-02 21:49:21 -04:00
Jeff Mitchell
daa822cd14 Some minor work on infosystem 2011-04-02 21:44:48 -04:00
Jeff Mitchell
c3df88d0f8 More debug, and fixed watch behavior :-) 2011-04-02 20:51:14 -04:00
Leo Franchi
743575b91a use our export macro that works on windows :) 2011-04-02 19:34:39 -04:00
Jeff Mitchell
a848561e60 Add some debugging for Chris and fix duplicate paths being queued 2011-04-02 19:29:53 -04:00
Leo Franchi
d2e867b9ee switch to using KDSingleApplicationGuard instead of QtUniqueApp as it's broken on windows.
KDSingleApplicationGuard is from KDTools and this is the GPL-licensed version.
2011-04-02 13:47:48 -04:00
Jeff Mitchell
ea744456c9 Don't start scanning on a fresh config/db 2011-04-02 11:07:04 -04:00
Christian Muehlhaeuser
5255fd2a78 * Properly thread QtScriptResolver. 2011-04-02 10:24:58 +02:00
Christian Muehlhaeuser
0a593aeb05 * Only keep track of the 50 most recent tracks in WelcomeWidget. Don't auto-resolve playback-logs any longer. 2011-04-02 10:24:58 +02:00
Christian Muehlhaeuser
6af30bfd2f * Cleaned up style. 2011-04-02 10:24:58 +02:00
Jeff Mitchell
01f2fe6adc Fix missing condition, wrong method, and put more info in the ChangeLog 2011-04-02 01:17:48 -04:00
Jeff Mitchell
2214b750be Changelogify 2011-04-02 00:58:43 -04:00
Jeff Mitchell
569c23a30e Whitespacing 2011-04-02 00:56:36 -04:00
Jeff Mitchell
3bc496eaaf Implement watched folders and scan-on-startup. Folders are scanned after 10 seconds without a change. Also handles deferring scans of directories if attempted during an ongoing scan, both for recursive and non-recursive scans.
Fixes TWK-30 / THK-30.
2011-04-02 00:52:20 -04:00
Christian Muehlhaeuser
d818a7f697 * Added ready() signal to Database class. 2011-04-02 06:10:05 +02:00
Jeff Mitchell
06f0dd8768 More work on dir watchers -- it's mostly there except for the actual DB modifications 2011-04-01 17:05:40 -04:00
Jeff Mitchell
de92b0b726 Initial work on a dir watcher for the scanner 2011-03-31 22:08:32 -04:00
Jeff Mitchell
47451e4fba Add more debugging and remove the don't-try-to-reconnect behavior 2011-03-31 15:12:08 -04:00
Jeff Mitchell
0c4e304ee5 Make debug output a little more helpful 2011-03-31 12:19:12 -04:00
Christian Muehlhaeuser
14f5508140 * Merged stable branch to master. 2011-03-31 04:28:39 +02:00
Julian Bäume
59391e3841 load translation based on system locale
this loads the resource that contains translations for the locale the
user has set.
2011-03-31 10:25:14 +08:00
Julian Bäume
a55124ed75 ship the translations within the binary
build qm-files for translation

create resource file for translations, contains german translations, for now.

this is some kind of hack to make it work. rcc doesn’t allow
out-of-source builds, so the commands need to be specified by hand, to
copy things around between source and binary directories.
2011-03-31 10:25:14 +08:00
Christian Muehlhaeuser
543c3125ac * Cherry-picked latest tomahawk.nsi changes from master. 2011-03-31 04:20:57 +02:00
Christian Muehlhaeuser
f5ba469b0a Merge branch 'master' of https://github.com/stever/tomahawk 2011-03-31 04:09:14 +02:00
Steven Robertson
56deed391e Added check for running tomahawk.exe process and option to kill the process (or ignore) and proceed. 2011-03-31 00:14:20 +01:00
Frank Osterfeld
a05795bf6b fix case 2011-03-30 19:11:32 +02:00
Frank Osterfeld
b6d6969281 pass parent to messageboxes 2011-03-30 19:11:32 +02:00
Frank Osterfeld
492c2acf18 i18n: tr() and avoid string puzzle 2011-03-30 19:10:41 +02:00
Dominik Schmidt
ff0d5613bb Set features at the right time 2011-03-30 15:52:49 +02:00
Leo Franchi
8fbcf0cec9 Merge branch 'master' of https://github.com/stever/tomahawk into stever-master 2011-03-30 09:44:44 -04:00
Dominik Schmidt
6386611871 Let the testing begin 2011-03-30 15:15:15 +02:00
Dominik Schmidt
f52205d2cc Update jreen plugin to newer jreen and sip plugin interface 2011-03-30 05:05:22 +02:00
Jeff Mitchell
35c2fccd6c Various proxy-related fixes. Still doesn't work properly...parts of it do but gloox jabber doesn't. (Haven't tested twitter yet.) 2011-03-29 19:35:18 -04:00
Julian Bäume
c61813915d initial german translation
it's not finished, but a first start
2011-03-30 07:09:01 +08:00
Jeff Mitchell
77e37bb325 Merge branch 'stable' 2011-03-29 17:30:45 -04:00
Jeff Mitchell
52fcc7b53f Update some debug in twitter 2011-03-29 17:29:19 -04:00
Jeff Mitchell
3657579c32 Re-match the regex 2011-03-29 17:29:12 -04:00
Jeff Mitchell
b8721ad75a Add some twitter debug 2011-03-29 17:29:02 -04:00
Jeff Mitchell
f767818966 Update some debug in twitter 2011-03-29 17:27:50 -04:00
Jeff Mitchell
a09167050f Re-match the regex 2011-03-29 17:06:50 -04:00
Jeff Mitchell
3d25e6aefe Add some twitter debug 2011-03-29 16:33:44 -04:00
Jeff Mitchell
de4df0060e Merge branch 'stable' 2011-03-29 16:22:16 -04:00
Jeff Mitchell
b59399aecb Changelogify 2011-03-29 16:22:08 -04:00
Jeff Mitchell
0a0e27c717 Hopefully fix TWK-13 crash bug. 2011-03-29 16:20:04 -04:00
Jeff Mitchell
7c8b65a1d3 Hopefully fix TWK-13 crash bug. 2011-03-29 09:58:14 -04:00
Jeff Mitchell
b70491cc63 Disable acl box for now 2011-03-29 08:11:23 -04:00
Jeff Mitchell
e968298d7d Coarse-grained ACL support is now implemented. This controls whether someone is allowed to connect to you in a global sense, and remembers the chosen value. For now there is no GUI way to revert this, but it is easily done via Tomahawk.conf 2011-03-29 02:42:46 -04:00
Jeffrey Finkelstein
6a605789e1 fixed typo - changed "indemify" to "indemnify" 2011-03-29 11:32:12 +08:00
Jeff Mitchell
942cc89a22 More work on the ACL system. 2011-03-28 19:25:25 -04:00
Jeff Mitchell
8d7f4a193b Rename some classes/variables 2011-03-28 17:59:33 -04:00
Jeff Mitchell
40b202df74 Merge branch 'stable' 2011-03-28 17:31:01 -04:00
Jeff Mitchell
81141e4d50 Add a placeholder text for the jabberid field 2011-03-28 17:30:43 -04:00
Jeff Mitchell
e4fefe0600 Merge branch 'stable' 2011-03-28 17:26:06 -04:00
Jeff Mitchell
896d6ad9f4 Clean up port logic 2011-03-28 17:25:43 -04:00
Jeff Mitchell
ae5fa0c33a Initial work on ACL system. Also makes much of Tomahawk handle a QStringList for collection directories. 2011-03-28 16:41:22 -04:00
Steven Robertson
4f0322ec2f Merged upstream and added nsis uninstaller path fix. 2011-03-28 19:01:48 +01:00
Jeff Mitchell
1dd0f26fff Remove MusixMatchHash 2011-03-28 13:31:00 -04:00
Leo Franchi
1e3fe13a5b update sparkle rss from server and fix changelog to 0.0.2 2011-03-28 12:45:22 -04:00
Jeff Mitchell
dd61f4a3cc For sanity don't use "using namespace" in jabber_p.cpp and properly use namespaces. Google style guide doesn't let you do the former for very good reason. 2011-03-28 12:00:11 -04:00
Jeff Mitchell
9b71d1df0a Merge branch 'stable' 2011-03-28 11:12:53 -04:00
Jeff Mitchell
f198cf51cc Properly use the configured port number 2011-03-28 11:12:28 -04:00
Christian Muehlhaeuser
b6442ae76c Merge remote-tracking branch 'origin/stable' 2011-03-28 09:25:49 +02:00
Christian Muehlhaeuser
e24aea480e * Cleaned up Jabber auth. 2011-03-28 07:13:30 +02:00
Christian Muehlhaeuser
4d23dea891 * Updated OS X sparkle templates. 2011-03-28 06:52:57 +02:00
Christian Muehlhaeuser
7b714f1735 Merge branch 'stable' of github.com:tomahawk-player/tomahawk 2011-03-28 05:58:26 +02:00
Christian Muehlhaeuser
6c49b2683e * Changed win32-sparkle behaviour: It'll now look for beta versions if you run Tomahawk with --debug. 2011-03-28 05:28:05 +02:00
Christian Muehlhaeuser
b9d218b823 Merge remote-tracking branch 'origin/stable' 2011-03-28 05:01:50 +02:00
Christian Muehlhaeuser
6a2c2b147d * Merged back my fixes. 2011-03-28 05:01:28 +02:00
Jeff Mitchell
5a08079740 Recovering from faulty merge...
Revert "* Fixed SIP plugins always reconnecting when the SettingsDialog was closed."

This reverts commit 057825bf97.
2011-03-27 22:45:31 -04:00
Jeff Mitchell
3f1274b90a Recovering from faulty merge...
Revert "* Forgot to add one file."

This reverts commit 0bf3a1b8e7.
2011-03-27 22:45:14 -04:00
Jeff Mitchell
1cd969af7f Initial baby steps towards the info system cache 2011-03-27 22:38:00 -04:00
Jeff Mitchell
e590aa7739 Whitespacing 2011-03-27 22:37:59 -04:00
Leo Franchi
ecd8b302c4 build liblastfm2 statically on non-win32, and don't build fingerprinter.
got multiple reports of tomahawk not finding liblastfm2 due to rpath or other issues, and we are building our o ther 3rdparty deps statically like this.
2011-03-27 22:06:55 -04:00
Christian Muehlhaeuser
21f49bbfcb * Updated changelog. 2011-03-28 04:01:43 +02:00
Christian Muehlhaeuser
db4f514181 Merge remote-tracking branch 'origin/stable' 2011-03-28 03:35:58 +02:00
Christian Muehlhaeuser
0bf3a1b8e7 * Forgot to add one file. 2011-03-28 03:31:53 +02:00
Christian Muehlhaeuser
057825bf97 * Fixed SIP plugins always reconnecting when the SettingsDialog was closed. 2011-03-28 03:31:10 +02:00
Jeff Mitchell
21eea9f0de Merge branch 'stable' 2011-03-27 19:11:04 -04:00
Jeff Mitchell
608b90867a Don't rescan the local collection if the settings dialog is closed with success but the path hasn't changed 2011-03-27 19:10:30 -04:00
Jeff Mitchell
8d471ae1f1 Merge branch 'stable'
Conflicts:
	ChangeLog
2011-03-27 19:01:17 -04:00
Jeff Mitchell
21e6fb8c09 Update ChangeLog 2011-03-27 19:00:52 -04:00
Jeff Mitchell
96b4fbccc6 Merge branch 'stable'
Conflicts:
	ChangeLog
2011-03-27 18:55:49 -04:00
Jeff Mitchell
63550ce712 Don't attempt to reconnect over and over with twitter if the peer hasn't changed status 2011-03-27 18:55:02 -04:00
Dominik Schmidt
b378f934ec Add changelog message in stable too, i'm sorry :p 2011-03-28 00:19:15 +02:00
Leo Franchi
87fa7e0f50 Add to changelog 2011-03-27 17:58:00 -04:00
Dominik Schmidt
250202a095 Added fixed-jabber-auth to changelog 2011-03-27 23:57:18 +02:00
Jeff Mitchell
cedcfdb714 Merge branch 'stable' 2011-03-27 16:10:40 -04:00
Jeff Mitchell
c4302e5f49 Show legal indemnity warning, and link to the legal page on the web site. Only displays the first time you go online (unless you don't accept it, of course). 2011-03-27 16:09:56 -04:00
Jeff Mitchell
2d5f8307d4 Merge branch 'stable' 2011-03-27 13:57:22 -04:00
Jeff Mitchell
474b9bc604 Merge branch 'stable' of github.com:tomahawk-player/tomahawk into stable 2011-03-27 13:57:13 -04:00
Jeff Mitchell
719255e4c9 Revamp twitter config widget again -- use a drop down box for message type. Also display name of saved user. 2011-03-27 13:56:49 -04:00
Dominik Schmidt
6bde5655cd Hopefully fixed jabber auth completely now 2011-03-27 19:11:29 +02:00
Jeff Mitchell
a54d38ed68 Merge branch 'stable' 2011-03-27 12:58:31 -04:00
Jeff Mitchell
26d4da4612 Don't just look at a user's latest tweet -- look at the latest tweet that matches our regex. Alternately for DMs look at latest matching regex or matching TOMAHAWKPEER format. Also some consolidation. 2011-03-27 10:48:00 -04:00
Jeff Mitchell
db53aabcf2 You can now send global, mentions, or private (direct message) Got Tomahawk? tweets 2011-03-27 10:47:11 -04:00
Dominik Schmidt
da409f9fa7 Set CLUCENE_MIN_VERSION default value to the version we need, needed until macro_optional_find_package is fixed to support versions 2011-03-27 16:25:29 +02:00
Dominik Schmidt
5167891846 Set CLUCENE_MIN_VERSION default value to the version we need, needed until macro_optional_find_package is fixed to support versions 2011-03-27 16:16:02 +02:00
Christian Muehlhaeuser
d687219055 * Merged stable to master. 2011-03-27 06:57:33 +02:00
Jeff Mitchell
dffcd89c7c Don't just look at a user's latest tweet -- look at the latest tweet that matches our regex. Alternately for DMs look at latest matching regex or matching TOMAHAWKPEER format. Also some consolidation. 2011-03-27 00:51:37 -04:00
Dominik Schmidt
cb405cde15 Make the sip plugin aware of subscription requests again 2011-03-27 05:44:16 +02:00
Dominik Schmidt
99e1b6f327 Make the subscription request box non-blocking. 2011-03-27 04:29:09 +02:00
Dominik Schmidt
5056aadcd2 Don't open more than one SubscriptionRequest window and auto-ack only contacts that the user is already subscribed to 2011-03-27 01:24:42 +01:00
Leo Franchi
1697b27aca fix compile on osx
don't use API that doesn't exist in snow leopard---same code is in liblastfmv1. if jono wants to rewrite the path detection code in snow leopard-compatible APIs, we can use that
2011-03-26 18:29:35 -04:00
Jeff Mitchell
9558270d86 Display a helpful message when someone gives non-JSON data to the xmpp bot 2011-03-26 16:51:33 -04:00
Jeff Mitchell
f16812143f Display a helpful message when someone gives non-JSON data to the xmpp bot 2011-03-26 16:49:26 -04:00
Jeff Mitchell
8faa782650 You can now send global, mentions, or private (direct message) Got Tomahawk? tweets 2011-03-26 16:23:16 -04:00
Dominik Schmidt
9496885d63 Don't ask the user again to ack the subscription request in sip_jabber if the requesting contact is already on the roster 2011-03-26 19:58:31 +01:00
Dominik Schmidt
15cbeb30da Merge branch 'stable' of git://github.com/tomahawk-player/tomahawk into stable 2011-03-26 18:26:36 +01:00
Dominik Schmidt
4677d761ac Make the sip plugin aware of subscription requests again 2011-03-26 18:26:31 +01:00
Jeff Mitchell
3182df93dd Don't install liblastfm2 headers 2011-03-26 12:25:35 -04:00
Jeff Mitchell
575ee1548a Fetch cover art using LastFm via the InfoSystem plugin 2011-03-26 11:47:54 -04:00
Jeff Mitchell
5c09fd2360 Make a Last FM InfoSystem plugin and use it to handle now playing and scrobbling 2011-03-26 09:36:31 -04:00
Christian Muehlhaeuser
581814f482 Merge branch 'stable' of github.com:tomahawk-player/tomahawk into stable 2011-03-26 07:21:02 +01:00
Christian Muehlhaeuser
6da813d4c3 * Updated stable README. 2011-03-26 07:19:15 +01:00
Christian Muehlhaeuser
0530faf15c * Updated README. 2011-03-26 07:06:35 +01:00
Christian Muehlhaeuser
74ea476ad6 Merge remote-tracking branch 'origin/stable' 2011-03-26 02:40:12 +01:00
Jeff Mitchell
422f9a9022 Possibly fix crash related to twitter authentication 2011-03-25 18:23:17 -04:00
Jeff Mitchell
6b7300c1b3 Possibly fix crash related to twitter authentication 2011-03-25 18:22:51 -04:00
Leo Franchi
631c39163d don't install a static lib 2011-03-25 17:45:32 -04:00
Jeff Mitchell
376d543fd1 Merge branch 'liblastfm2' 2011-03-25 17:22:43 -04:00
Leo Franchi
8f46db649f add some eliding so playlists with long name don't increase the window size
minor cleanup in ElidedLabel
2011-03-25 16:07:11 -04:00
Leo Franchi
c90a875de7 add some eliding so playlists with long name don't increase the window size
minor cleanup in ElidedLabel
2011-03-25 15:54:21 -04:00
Jeff Mitchell
247c65fbcc Emit finished when there's no actual data to return 2011-03-25 10:04:14 -04:00
Christian Muehlhaeuser
f6d4e0c63a * Re-added launch page to installer. 2011-03-25 13:55:28 +00:00
Leo Franchi
db7b2d2523 don't assume that exit() will clean up the stack 2011-04-06 21:34:59 -04:00
Leo Franchi
ed0574f6b7 fix epic fail of boolean condition 2011-04-06 17:20:31 -04:00
Jeff Mitchell
6b1bb4da61 Merge remote branch 'origin/master' into liblastfm2 2011-03-25 09:40:56 -04:00
Christian Muehlhaeuser
81f4ec2337 * Update revision. 2011-03-25 12:10:30 +00:00
Christian Muehlhaeuser
8568245355 * Preparing release version 0.0.3. 2011-03-25 12:10:29 +00:00
Christian Muehlhaeuser
e824fcc7b3 * Gather more debug to fix mtimes issue. 2011-04-04 10:01:14 +02:00
Christian Muehlhaeuser
efaf180b80 * Forgot the wildcard match. 2011-04-04 09:34:17 +02:00
Christian Muehlhaeuser
9e20674b84 * Properly escaped mtimes sql query and removed further debug. 2011-04-04 09:27:25 +02:00
Christian Muehlhaeuser
89c3f266a7 * Manually merged stever's tomahawk.nsi patch. 2011-03-25 10:23:43 +00:00
Christian Muehlhaeuser
3ba36fc38e * Cleaned up debug output, lots. 2011-04-04 07:59:32 +02:00
Christian Muehlhaeuser
f78df2c087 * Added assert to catch dupe source. 2011-04-04 07:59:22 +02:00
Christian Muehlhaeuser
b252418074 * Hopefully fixed dupe-file issue. 2011-04-04 07:57:37 +02:00
Christian Muehlhaeuser
5e9ea36228 * Fixed result sorting order, always prefers local results with equal score now. 2011-04-04 07:56:56 +02:00
Christian Muehlhaeuser
1ac61194cf * Mutex-locked logging - write/flush isn't exactly an atomic operation. 2011-04-04 06:56:33 +02:00
Christian Muehlhaeuser
cffa96a81f * Updated Changelog. 2011-04-03 14:40:05 +02:00
Steven Robertson
d4569b1d38 EnsureTomahawkShutdown not required in uninstaller. 2011-04-03 20:27:29 +08:00
Christian Muehlhaeuser
8791a6dbdc * Respect style's default fore / bg colors when painting a PlaylistItem. 2011-04-03 11:27:03 +02:00
Christian Muehlhaeuser
84f6886e8d * Made PlaylistItemDelegate's paint method a lot faster with manual alpha-blending. 2011-04-03 11:20:35 +02:00
Christian Muehlhaeuser
b625b9a265 * Unthread QtScriptResolver. WebKit is too lame for us. 2011-04-03 10:23:05 +02:00
Leo Franchi
40d4636352 tomahawk:// handler stuff on windows 2011-04-03 00:14:47 -04:00
Leo Franchi
37f29966a8 use our export macro that works on windows :) 2011-04-03 00:14:42 -04:00
Leo Franchi
a080323e2e switch to using KDSingleApplicationGuard instead of QtUniqueApp as it's broken on windows.
KDSingleApplicationGuard is from KDTools and this is the GPL-licensed version.

Conflicts:

	src/main.cpp
2011-04-03 00:14:24 -04:00
Christian Muehlhaeuser
727d8c83ef * Updated Changelog. 2011-04-02 11:39:49 +02:00
Christian Muehlhaeuser
5cde25cefe * Properly thread QtScriptResolver. 2011-04-02 11:05:32 +02:00
Christian Muehlhaeuser
70ddc32e42 * Only keep track of the 50 most recent tracks in WelcomeWidget. Don't auto-resolve playback-logs any longer. 2011-04-02 11:04:57 +02:00
Christian Muehlhaeuser
48f69c3180 * Disabled launching Tomahawk from within the Windows installer. It caused starting Tomahawk with admin privileges. 2011-04-01 11:52:15 +02:00
Jeff Mitchell
85be5653e5 Add more debugging and remove the don't-try-to-reconnect behavior 2011-03-31 15:45:19 -04:00
Jeff Mitchell
811c7b8754 Make debug output a little more helpful 2011-03-31 12:19:23 -04:00
Christian Muehlhaeuser
4f77de3bbc * Changed domme's email address. 2011-03-25 07:08:34 +01:00
Christian Muehlhaeuser
32ed0c748b * Updated sparkle templates. 2011-03-25 00:08:28 +00:00
Christian Muehlhaeuser
23d4a03aca * Prepare version 0.0.2. 2011-03-24 23:54:35 +00:00
Jeff Mitchell
b7a1cb8d99 Add liblastfm2 and make tomahawk build against it 2011-03-24 19:27:01 -04:00
Christian Muehlhaeuser
254aacdf76 Merge remote-tracking branch 'origin' into phonon 2011-03-17 05:42:13 +01:00
Christian Muehlhaeuser
d4fbbc92d3 * Don't create invalid URLs when streaming from HTTP. 2011-03-16 17:11:23 +01:00
Christian Muehlhaeuser
c0dbd7678e Merge remote-tracking branch 'origin' into phonon 2011-03-16 17:11:02 +01:00
Christian Muehlhaeuser
286dc813dd Merge remote-tracking branch 'origin' into phonon 2011-03-16 16:38:21 +01:00
Christian Muehlhaeuser
e2bad14bee Merge remote-tracking branch 'origin' into phonon 2011-03-16 16:25:09 +01:00
Christian Muehlhaeuser
ca25beddbc Merge remote-tracking branch 'origin' into phonon 2011-03-16 15:54:16 +01:00
Christian Muehlhaeuser
0c3ddf8e84 Merge remote-tracking branch 'origin' into phonon 2011-03-16 15:22:06 +01:00
Christian Muehlhaeuser
df4c7afad2 Merge remote-tracking branch 'origin' into phonon 2011-03-16 14:45:35 +01:00
Christian Muehlhaeuser
dc277a82f7 Merge remote-tracking branch 'origin' into phonon 2011-03-16 12:23:33 +01:00
Christian Muehlhaeuser
26c6e9f5b3 * Fix non-youtube http urls. 2011-03-16 11:49:49 +01:00
Christian Muehlhaeuser
eb95158ee3 Merge remote-tracking branch 'origin' into phonon 2011-03-16 07:20:00 +01:00
Christian Muehlhaeuser
f710d6d48f Merge remote-tracking branch 'origin' into phonon 2011-03-16 05:18:10 +01:00
Christian Muehlhaeuser
5e82beb51b * Fixed phonon branch. 2011-03-16 04:25:27 +01:00
Christian Muehlhaeuser
dd7a527277 Merge remote-tracking branch 'origin' into phonon 2011-03-16 02:28:07 +01:00
Christian Muehlhaeuser
eeef965aec * Fixed auto-deleting Phonon's MediaSource. 2011-03-16 01:59:40 +01:00
Christian Muehlhaeuser
393b860a3d Merge remote-tracking branch 'origin' into phonon 2011-03-16 01:52:20 +01:00
Christian Muehlhaeuser
7a4e196b79 * Fixed loading tracks via HTTP. 2011-03-15 17:19:56 +01:00
Christian Muehlhaeuser
671cbc627c Merge remote-tracking branch 'origin' into phonon 2011-03-15 17:18:56 +01:00
Christian Muehlhaeuser
bbebc8b0fb Merge remote-tracking branch 'origin' into phonon 2011-03-15 06:47:01 +01:00
Christian Muehlhaeuser
0b9326a9d4 Merge remote-tracking branch 'origin' into phonon 2011-03-14 03:10:49 +01:00
Christian Muehlhaeuser
a91d0b3ea7 Merge remote-tracking branch 'origin' into phonon 2011-03-14 00:21:17 +01:00
Christian Muehlhaeuser
d79db494ef Merge remote-tracking branch 'origin' into phonon 2011-03-05 02:03:40 +01:00
Christian Muehlhaeuser
d745bd5d56 * Merge master into phonon branch. Fixes compiling on Arch Linux. 2011-03-04 09:02:26 +01:00
Christian Muehlhaeuser
4c46055e88 * Fixed phonon branch. 2011-03-04 08:48:12 +01:00
Christian Muehlhaeuser
49e59e7ac9 Merge remote branch 'origin' into phonon 2011-02-28 11:50:34 +01:00
Christian Muehlhaeuser
3fb7d07a32 Merge remote branch 'origin' into phonon 2011-02-28 10:50:52 +01:00
Christian Muehlhaeuser
fbee3325be Merge remote branch 'origin' into phonon 2011-02-28 10:37:52 +01:00
Christian Muehlhaeuser
86cd01cc04 Merge remote branch 'origin' into phonon 2011-02-28 09:27:25 +01:00
Christian Muehlhaeuser
f0563d1e0f Merge remote branch 'origin' into phonon 2011-02-28 09:21:28 +01:00
Christian Muehlhaeuser
ef23f5bee1 Merge remote branch 'origin' into phonon 2011-02-28 08:17:08 +01:00
Christian Muehlhaeuser
d573b3bf9e Merge remote branch 'origin' into phonon 2011-02-28 02:14:05 +01:00
Christian Muehlhaeuser
fd70ca0a1b Merge remote branch 'origin' into phonon 2011-02-28 01:45:00 +01:00
Christian Muehlhaeuser
6e0c84a944 Merge remote branch 'origin' into phonon 2011-02-27 21:06:49 +01:00
Christian Muehlhaeuser
02a6adb22b Merge remote branch 'origin' into phonon 2011-02-27 21:00:49 +01:00
Christian Muehlhaeuser
2e0f72650a Merge remote branch 'origin' into phonon 2011-02-27 20:33:25 +01:00
Christian Muehlhaeuser
23e6670edf Merge remote branch 'origin' into phonon 2011-02-27 20:27:39 +01:00
Christian Muehlhaeuser
c6d3599e47 Merge remote branch 'origin' into phonon 2011-02-27 20:20:35 +01:00
Christian Muehlhaeuser
1073b7e194 * Merge master into phonon branch. 2011-02-27 20:20:24 +01:00
Christian Muehlhaeuser
ad3e9a0304 * Merged origin. 2011-02-27 04:09:58 +01:00
Christian Muehlhaeuser
be268933e5 Merge remote branch 'origin' into phonon 2011-02-24 04:21:32 +01:00
Christian Muehlhaeuser
c94c232c53 * Removed old audio-engine dependancies from README. 2011-02-24 04:21:21 +01:00
Christian Muehlhaeuser
0e6bd91ba8 Merge remote branch 'origin' into phonon 2011-02-24 04:14:28 +01:00
Christian Muehlhaeuser
92348266c2 Merge remote branch 'origin' into phonon 2011-02-24 03:53:14 +01:00
Christian Muehlhaeuser
06d56aaa33 Merge remote branch 'origin' into phonon 2011-02-24 03:25:57 +01:00
Christian Muehlhaeuser
a61ee6433b * Support scanning various mimetypes, now that we got Phonon. 2011-02-24 02:39:48 +01:00
Christian Muehlhaeuser
0de2211dde Merge remote branch 'origin' into phonon 2011-02-24 02:20:29 +01:00
Christian Muehlhaeuser
82b8892b99 * Fixed handling Phonon's StoppedState. 2011-02-24 02:20:05 +01:00
Christian Muehlhaeuser
11caacb96c Merge remote branch 'origin' into phonon 2011-02-23 23:51:10 +01:00
Christian Muehlhaeuser
c50f0626db * Getting rid of old & obsolete audioengine / transcoder stuff. 2011-02-23 19:05:04 +01:00
Christian Muehlhaeuser
755c091a56 Merge remote branch 'origin' into phonon 2011-02-23 17:12:46 +01:00
Christian Muehlhaeuser
7163b33af7 Merge remote branch 'origin' into phonon 2011-02-23 10:46:18 +01:00
Christian Muehlhaeuser
f1d9c5c8ee * Fixed phonon branch. 2011-02-23 01:34:09 +01:00
Christian Muehlhaeuser
413c3ed36e * Fixed merging mistake. 2011-01-22 08:15:44 +01:00
Christian Muehlhaeuser
f82f98785f * Merged and fixed master into phonon. 2011-01-22 07:58:20 +01:00
Christian Muehlhaeuser
876e3333de * Fixed automatic track progression. 2011-01-14 16:09:46 +01:00
Christian Muehlhaeuser
876a11a1e4 * Fixed AudioEngine's time reporting. 2011-01-14 15:53:44 +01:00
Christian Muehlhaeuser
41512c4b61 * Initial work on phonon-powered AudioEngine. 2011-01-14 15:10:19 +01:00
Steven Robertson
b3d0a577bb Updating the installer images. 2010-11-24 09:39:29 +00:00
992 changed files with 61005 additions and 58925 deletions

6
.gitignore vendored
View File

@@ -10,3 +10,9 @@ moc_*
*~
/tomahawk
thirdparty/qtweetlib/WARNING-twitter-api-keys
.kdev4
*.kdev4
*.kate-swp
clang/
win/
gcc/

5
.gitmodules vendored
View File

@@ -1,3 +1,6 @@
[submodule "thirdparty/jreen"]
path = thirdparty/jreen
url = git://gitorious.org/jreen/jreen.git
url = git://github.com/euroelessar/jreen.git
[submodule "thirdparty/qtweetlib/QTweetLib"]
path = thirdparty/qtweetlib/QTweetLib
url = git://github.com/minimoog/QTweetLib.git

View File

@@ -5,7 +5,7 @@ Tomahawk is primarily authored by:
Contributors include:
* Leo Franchi <lfranchi@kde.org>
* Dominik Schmidt <domme@rautelinux.org>
* Dominik Schmidt <dev@dominik-schmidt.de>
* Jeff Mitchell <mitchell@kde.org>
* J Herskowitz <jherskow@gmail.com>
* Alejandro Wainzinger <aikawarazuni@gmail.com>

View File

@@ -1,39 +1,92 @@
PROJECT( tomahawk )
CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
SET( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" )
IF( ${CMAKE_VERSION} VERSION_GREATER 2.8.3 )
CMAKE_POLICY(SET CMP0017 NEW)
ENDIF( ${CMAKE_VERSION} VERSION_GREATER 2.8.3 )
###
### Tomahawk application info
###
SET( ORGANIZATION_NAME "Tomahawk" )
SET( ORGANIZATION_DOMAIN "tomahawk-player.org" )
SET( APPLICATION_NAME "Tomahawk" )
SET( VERSION "0.0.1" )
SET( TOMAHAWK_ORGANIZATION_NAME "Tomahawk" )
SET( TOMAHAWK_ORGANIZATION_DOMAIN "tomahawk-player.org" )
SET( TOMAHAWK_APPLICATION_NAME "Tomahawk" )
SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" )
SET( TOMAHAWK_VERSION_MAJOR 0 )
SET( TOMAHAWK_VERSION_MINOR 2 )
SET( TOMAHAWK_VERSION_PATCH 3 )
#SET( TOMAHAWK_VERSION_RC 0 )
# build options
option(BUILD_GUI "Build Tomahawk with GUI" ON)
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
# generate version string
# base string used in release and unstable builds
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION_MAJOR}.${TOMAHAWK_VERSION_MINOR}.${TOMAHAWK_VERSION_PATCH} )
IF( TOMAHAWK_VERSION_RC )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}rc${TOMAHAWK_VERSION_RC} )
ENDIF()
# additional info for non-release builds
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)
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}.${TOMAHAWK_VERSION_DATE} )
ENDIF()
INCLUDE( CMakeVersionSource )
IF( CMAKE_VERSION_SOURCE )
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}-${CMAKE_VERSION_SOURCE} )
ENDIF()
ENDIF()
# set paths
SET( CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_SOURCE_DIR}/CMakeModules" )
SET( THIRDPARTY_DIR ${CMAKE_SOURCE_DIR}/thirdparty )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
# Check if we need qtgui:
IF( "${gui}" STREQUAL "no" )
ADD_DEFINITIONS( -DENABLE_HEADLESS )
MESSAGE( STATUS "Building in HEADLESS mode ***" )
FIND_PACKAGE( Qt4 4.7.0 COMPONENTS QtCore QtXml QtNetwork REQUIRED )
ELSE()
MESSAGE( STATUS "Building full GUI version ***" )
FIND_PACKAGE( Qt4 4.7.0 COMPONENTS QtGui QtCore QtXml QtNetwork REQUIRED )
ENDIF()
# installer creation
INCLUDE( TomahawkCPack.cmake )
#deps
INCLUDE( MacroOptionalFindPackage )
INCLUDE( MacroLogFeature )
# required
macro_optional_find_package(LibLastFm 0.3.3)
macro_log_feature(LIBLASTFM_FOUND "LastFm" "Qt library for the Last.fm webservices" "https://github.com/mxcl/liblastfm" FALSE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
# 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" )
ENDIF()
macro_optional_find_package(LibEchonest 1.1.1)
macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest is needed for dynamic playlists and the infosystem")
IF( BUILD_GUI AND UNIX AND NOT APPLE )
FIND_PACKAGE( X11 )
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 \n the qtwebkit-devel package is installed as well")
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()
macro_optional_find_package(LibEchonest 1.1.7)
macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 1.1.8 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")
@@ -43,46 +96,80 @@ macro_log_feature(QJSON_FOUND "QJson" "Qt library that maps JSON data to QVarian
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")
# we need pthreads too
find_package(Threads)
include( CheckTagLibFileName )
check_taglib_filename( COMPLEX_TAGLIB_FILENAME )
# optional
macro_optional_find_package(Jreen)
IF( ENABLE_JREEN AND NOT LIBJREEN_FOUND )
ADD_SUBDIRECTORY( thirdparty/jreen )
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
# required
#While we distribute our own liblastfm2, don't need to look for it
#macro_optional_find_package(LibLastFm 0.3.3)
#macro_log_feature(LIBLASTFM_FOUND "LastFm" "Qt library for the Last.fm webservices" "https://github.com/mxcl/liblastfm" FALSE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
set(LIBLASTFM_FOUND true)
# this installs headers and such and should really be handled in a separate package by packagers
IF( INTERNAL_JREEN )
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/jreen )
SET( LIBJREEN_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/include )
IF( UNIX AND NOT APPLE )
SET( LIBJREEN_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/libjreen.so )
ENDIF( UNIX AND NOT APPLE )
IF( WIN32 )
SET( LIBJREEN_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/libjreen.dll )
ENDIF( WIN32 )
SET( LIBJREEN_LIBRARY jreen )
SET( LIBJREEN_LIBRARIES ${LIBJREEN_LIBRARY} )
SET( LIBJREEN_FOUND true )
MESSAGE(STATUS "Internal libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}")
ENDIF( ENABLE_JREEN AND NOT LIBJREEN_FOUND )
MESSAGE(STATUS "INTERNAL libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}")
ELSE( INTERNAL_JREEN )
macro_optional_find_package(Jreen)
ENDIF( INTERNAL_JREEN )
macro_log_feature(LIBJREEN_FOUND "Jreen" "Qt XMPP Library" "https://github.com/euroelessar/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin. \n\n Use -DINTERNAL_JREEN=ON to build the git submodule inside Tomahawk \n Be aware this installs a full jreen with headers and everything!\n")
# this installs headers and such and should really be handled in a separate package by packagers
IF( INTERNAL_QTWEETLIB )
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/qtweetlib )
# copy headers to build/QTweetLib so we can use proper includes inside the code
FILE( COPY ${CMAKE_SOURCE_DIR}/thirdparty/qtweetlib/QTweetLib/src/ DESTINATION ${CMAKE_BINARY_DIR}/QTweetLib )
SET( QTWEETLIB_INCLUDE_DIR ${CMAKE_BINARY_DIR} )
SET( QTWEETLIB_LIBRARY tomahawk_qtweetlib )
SET( QTWEETLIB_LIBRARIES ${QTWEETLIB_LIBRARY} )
SET( QTWEETLIB_FOUND true )
MESSAGE(STATUS "INTERNAL libQTweetLib: ${QTWEETLIB_INCLUDE_DIR}, ${QTWEETLIB_LIBRARY}")
ELSE( INTERNAL_QTWEETLIB )
macro_optional_find_package(QTweetLib)
ENDIF( INTERNAL_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\n Use -DINTERNAL_QTWEETLIB=ON to build the git submodule inside Tomahawk \n")
### libportfwd
SET( LIBPORTFWD_INCLUDE_DIR ${THIRDPARTY_DIR}/libportfwd/include )
SET( LIBPORTFWD_LIBRARY tomahawk_portfwd )
SET( LIBPORTFWD_LIBRARIES ${LIBPORTFWD_LIBRARY} )
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/libportfwd )
# we need pthreads too
macro_optional_find_package(Threads)
macro_log_feature(THREADS_FOUND "Threads" "Threading Library" "" TRUE "" "Platform specific library for threading")
macro_optional_find_package(KDE4)
macro_optional_find_package(KDE4Installed)
# this was used before we had FindKDE4Installed, just leaving it here to keep the flags
# for future kde integration
# macro_optional_find_package(KDE4)
IF(KDE4_FOUND)
#KDE4 adds and removes some compiler flags that we don't like
STRING( REPLACE "-std=iso9899:1990" "" CLEAN_C_FLAGS ${CMAKE_C_FLAGS} )
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions" )
ELSE()
SET( CLEAN_C_FLAGS ${CMAKE_C_FLAGS} )
ENDIF()
IF( WIN32 )
find_library(QTSPARKLE_LIBRARIES qtsparkle)
ENDIF( WIN32 )
macro_log_feature(JREEN_FOUND "Jreen" "Qt XMPP library" "http://gitorious.org/jreen" FALSE "" "Jreen is needed for the alternative/new Jabber SIP plugin. Built automatically inside Tomahawk, if not installed systemwide and ENABLE_JREEN is true")
macro_optional_find_package(Gloox 1.0)
IF( ENABLE_JREEN )
set( GLOOX_FOUND false )
ENDIF( ENABLE_JREEN)
macro_log_feature(GLOOX_FOUND "Gloox" "A portable high-level Jabber/XMPP library for C++" "http://camaya.net/gloox" FALSE "" "Gloox is needed for the Jabber SIP plugin and the XMPP-Bot")
#show dep log
macro_display_feature_log()
MESSAGE("WARNING!")
MESSAGE("Phonon is going to replace our own audio abstraction layer soon so we didn't")
MESSAGE("add checks for libmad, libvorbis and libflac. Make sure they are installed!")
MESSAGE("")
MESSAGE("-----------------------------------------------------------------------------")
SET( INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" )
@@ -92,9 +179,10 @@ CONFIGURE_FILE(
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
# 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
@@ -103,5 +191,6 @@ ENDIF( NOT APPLE )
ADD_SUBDIRECTORY( thirdparty )
ADD_SUBDIRECTORY( src/libtomahawk )
SET( TOMAHAWK_LIBRARIES tomahawklib )
ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( admin )

View File

@@ -1,3 +1,5 @@
SET(WINDRES_EXECUTABLE ${CMAKE_RC_COMPILER})
# This macro is taken from kdelibs/cmake/modules/KDE4Macros.cmake.
#
# Copyright (c) 2006-2009 Alexander Neundorf, <neundorf@kde.org>

View File

@@ -0,0 +1,23 @@
find_program(DATE_EXECUTABLE NAMES date)
mark_as_advanced(DATE_EXECUTABLE)
if(DATE_EXECUTABLE)
execute_process(
COMMAND ${DATE_EXECUTABLE} +%Y
OUTPUT_VARIABLE CMAKE_DATESTAMP_YEAR
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${DATE_EXECUTABLE} +%m
OUTPUT_VARIABLE CMAKE_DATESTAMP_MONTH
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${DATE_EXECUTABLE} +%d
OUTPUT_VARIABLE CMAKE_DATESTAMP_DAY
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
endif()

View File

@@ -0,0 +1,45 @@
# Try to identify the current development source version.
set(CMAKE_VERSION_SOURCE "")
if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD)
find_program(GIT_EXECUTABLE NAMES git git.cmd)
mark_as_advanced(GIT_EXECUTABLE)
if(GIT_EXECUTABLE)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=7 HEAD
OUTPUT_VARIABLE head
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
if(head)
set(branch "")
execute_process(
COMMAND ${GIT_EXECUTABLE} name-rev HEAD
OUTPUT_VARIABLE branch
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
string(REGEX REPLACE "HEAD " "" branch "${branch}")
set(CMAKE_VERSION_SOURCE "git-${branch}-${head}")
execute_process(
COMMAND ${GIT_EXECUTABLE} update-index -q --refresh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD --
OUTPUT_VARIABLE dirty
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
if(dirty)
set(CMAKE_VERSION_SOURCE "${CMAKE_VERSION_SOURCE}-dirty")
endif()
endif()
endif()
elseif(EXISTS ${CMAKE_SOURCE_DIR}/CVS/Repository)
file(READ ${CMAKE_SOURCE_DIR}/CVS/Repository repo)
set(branch "")
if("${repo}" MATCHES "\\.git/")
string(REGEX REPLACE ".*\\.git/([^\r\n]*).*" "-\\1" branch "${repo}")
endif()
set(CMAKE_VERSION_SOURCE "cvs${branch}")
endif()

View File

@@ -12,9 +12,12 @@
INCLUDE(CheckSymbolExists)
INCLUDE(FindLibraryWithDebug)
if(NOT CLUCENE_MIN_VERSION)
set(CLUCENE_MIN_VERSION "0.9.19")
endif(NOT CLUCENE_MIN_VERSION)
IF(CLucene_FIND_VERSION)
SET(CLUCENE_MIN_VERSION ${CLucene_FIND_VERSION})
ELSEIF()
SET(CLUCENE_MIN_VERSION "0.9.23")
ENDIF(CLucene_FIND_VERSION)
IF(EXISTS ${PROJECT_CMAKE}/CLuceneConfig.cmake)
INCLUDE(${PROJECT_CMAKE}/CLuceneConfig.cmake)

View File

@@ -6,15 +6,15 @@
# LIBJREEN_FOUND, whether libjreen was found
find_path(LIBJREEN_INCLUDE_DIR NAMES jreen.h
find_path(LIBJREEN_INCLUDE_DIR NAMES jreen/jreen.h
HINTS
~/usr/include
/opt/local/include
/usr/include
/usr/local/include
/opt/kde4/include
${CMAKE_INSTALL_PREFIX}/include
${KDE4_INCLUDE_DIR}
PATH_SUFFIXES jreen
)
find_library( LIBJREEN_LIBRARY NAMES jreen
@@ -25,6 +25,8 @@ find_library( LIBJREEN_LIBRARY NAMES jreen
/usr/lib64
/usr/local/lib
/opt/kde4/lib
${CMAKE_INSTALL_PREFIX}/lib
${CMAKE_INSTALL_PREFIX}/lib64
${KDE4_LIB_DIR}
)
@@ -33,7 +35,7 @@ if(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY)
set(LIBJREEN_FOUND TRUE)
message(STATUS "Found libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}")
else(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY)
set(LIBJREEN_FOUND FALSE)
set(LIBJREEN_FOUND FALSE)
if (LIBJREEN_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find required package libjreen")
endif(LIBJREEN_FIND_REQUIRED)

View File

@@ -0,0 +1,20 @@
# Simple hack to detect wether KDE4 is *installed* -- not anything about the development environment!
FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
# For KDE4 kde-config has been renamed to kde4-config
FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
# the suffix must be used since KDEDIRS can be a list of directories which don't have bin/ appended
PATH_SUFFIXES bin
HINTS
${CMAKE_INSTALL_PREFIX}
${_KDEDIRS}
/opt/kde4
ONLY_CMAKE_FIND_ROOT_PATH
)
IF (KDE4_KDECONFIG_EXECUTABLE)
SET (KDE4_INSTALLED TRUE)
message(STATUS "KDE4 is installed, will install protocol file")
ENDIF (KDE4_KDECONFIG_EXECUTABLE)

View File

@@ -0,0 +1,71 @@
# Find libphonon
# Once done this will define
#
# PHONON_FOUND - system has Phonon Library
# PHONON_INCLUDES - the Phonon include directory
# PHONON_LIBS - link these to use Phonon
# PHONON_VERSION - the version of the Phonon Library
# Copyright (c) 2008, Matthias Kretz <kretz@kde.org>
#
# 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}")
message(STATUS "Phonon Version: ${PHONON_VERSION}")
endmacro(_phonon_find_version)
if(PHONON_FOUND)
# Already found, nothing more to do except figuring out the version
_phonon_find_version()
else(PHONON_FOUND)
if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
set(PHONON_FIND_QUIETLY TRUE)
endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
# As discussed on kde-buildsystem: first look at CMAKE_PREFIX_PATH, then at the suggested PATHS (kde4 install dir)
find_library(PHONON_LIBRARY NAMES phonon phonon4 PATHS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR})
# then at the default system locations (CMAKE_SYSTEM_PREFIX_PATH, i.e. /usr etc.)
find_library(PHONON_LIBRARY NAMES phonon phonon4)
find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h PATHS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR})
find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h)
_phonon_find_version()
if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY AND NOT PHONON_VERSION VERSION_LESS ${Phonon_FIND_VERSION})
set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY})
set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}/KDE ${PHONON_INCLUDE_DIR})
set(PHONON_FOUND TRUE)
else(PHONON_INCLUDE_DIR AND PHONON_LIBRARY AND NOT PHONON_VERSION VERSION_LESS ${Phonon_FIND_VERSION})
set(PHONON_FOUND FALSE)
endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY AND NOT PHONON_VERSION VERSION_LESS ${Phonon_FIND_VERSION})
if(PHONON_FOUND)
if(NOT PHONON_FIND_QUIETLY)
message(STATUS "Found Phonon: ${PHONON_LIBRARY}")
message(STATUS "Found Phonon Includes: ${PHONON_INCLUDES}")
endif(NOT PHONON_FIND_QUIETLY)
else(PHONON_FOUND)
if(Phonon_FIND_REQUIRED)
if(NOT PHONON_INCLUDE_DIR)
message(STATUS "Phonon includes NOT found!")
endif(NOT PHONON_INCLUDE_DIR)
if(NOT PHONON_LIBRARY)
message(STATUS "Phonon library NOT found!")
endif(NOT PHONON_LIBRARY)
message(FATAL_ERROR "Phonon library or includes NOT found!")
else(Phonon_FIND_REQUIRED)
message(STATUS "Unable to find Phonon")
endif(Phonon_FIND_REQUIRED)
endif(PHONON_FOUND)
mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY PHONON_INCLUDES)
endif(PHONON_FOUND)

View File

@@ -43,4 +43,8 @@ else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
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

@@ -0,0 +1,24 @@
[Settings]
NumFields=3
[Field 1]
Type=Label
Left=0
Right=-1
Top=0
Bottom=24
[Field 2]
Type=RadioButton
Left=30
Right=-1
Top=50
Bottom=58
State=1
[Field 3]
Type=RadioButton
Left=30
Right=-1
Top=70
Bottom=78

View File

@@ -4,7 +4,7 @@
; Some installer script options (comment-out options not required)
;-----------------------------------------------------------------------------
;!define OPTION_LICENSE_AGREEMENT
;!define OPTION_UAC_PLUGIN_ENHANCED
!define OPTION_UAC_PLUGIN_ENHANCED
!define OPTION_SECTION_SC_START_MENU
!define OPTION_SECTION_SC_DESKTOP
!define OPTION_SECTION_SC_QUICK_LAUNCH
@@ -15,59 +15,58 @@
;-----------------------------------------------------------------------------
; Some paths.
;-----------------------------------------------------------------------------
!define MING_PATH "/usr/i686-w64-mingw32/sys-root/mingw"
!ifndef MING_PATH
!define MING_PATH "/usr/i686-w64-mingw32/sys-root/mingw"
!endif
!define MING_BIN "${MING_PATH}/bin"
!define MING_DLL_PATH "${MING_BIN}"
!define MING_LIB "${MING_PATH}/lib"
!define ROOT_PATH "..\..\.." ; assuming the script is in ROOT/admin/win/nsi
!define BUILD_PATH "${ROOT_PATH}\build"
!define BUILD_PATH "@CMAKE_BINARY_DIR@"
!define SOURCE_PATH "@CMAKE_SOURCE_DIR@"
!define QT_DLL_PATH "${MING_BIN}"
!define SQLITE_DLL_PATH "${MING_LIB}/qt4/plugins/sqldrivers"
!define IMAGEFORMATS_DLL_PATH "${MING_LIB}/qt4/plugins/imageformats"
;-----------------------------------------------------------------------------
; Increment installer revision number as part of this script.
;-----------------------------------------------------------------------------
!define /file REVISION_LAST revision.txt
!define /math REVISION ${REVISION_LAST} + 1
!delfile revision.txt
!appendfile revision.txt ${REVISION}
; We use official release plugins
; mingw32-vlc from obs misses a lot and has even broken ones probably
!define VLC_PATH "${SOURCE_PATH}\admin\win\vlc\prefix" ; SIC! ^
!define VLC_BIN "${VLC_PATH}\bin"
!define VLC_PLUGIN_PATH "${VLC_BIN}\plugins"
!define VER_MAJOR "0"
!define VER_MINOR "0"
!define VER_BUILD "1"
!define NSI_PATH "${SOURCE_PATH}/admin/win/nsi"
!define VERSION "${VER_MAJOR}.${VER_MINOR}.${VER_BUILD}"
;-----------------------------------------------------------------------------
; Installer version
;-----------------------------------------------------------------------------
!define VER_MAJOR "@CPACK_PACKAGE_VERSION_MAJOR@"
!define VER_MINOR "@CPACK_PACKAGE_VERSION_MINOR@"
!define VER_BUILD "@CPACK_PACKAGE_VERSION_PATCH@"
!define VERSION "@CPACK_PACKAGE_VERSION@"
;-----------------------------------------------------------------------------
; Installer build timestamp.
;-----------------------------------------------------------------------------
!define /date BUILD_TIME "built on %Y/%m/%d at %I:%M %p (rev. ${REVISION})"
!define /date BUILD_TIME "built on %Y/%m/%d at %I:%M %p"
;-----------------------------------------------------------------------------
; Initial installer setup and definitions.
;-----------------------------------------------------------------------------
Name "Tomahawk"
Name "@CPACK_NSIS_PACKAGE_NAME@"
Caption "Tomahawk Installer"
BrandingText "Tomahawk ${VERSION} -- ${BUILD_TIME}"
OutFile "tomahawk-${VERSION}.exe"
InstallDir "$PROGRAMFILES\Tomahawk"
OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
InstallDir "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
InstallDirRegKey HKCU "Software\Tomahawk" ""
InstType Standard
InstType Full
InstType Minimal
CRCCheck On
SetCompressor /SOLID lzma
ReserveFile tomahawk.ini
SetCompressor @CPACK_NSIS_COMPRESSOR@
RequestExecutionLevel user ;Now using the UAC plugin.
ReserveFile NSIS.InstallOptions.ini
ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
;The UAC plugin provides an elevated user.
;Otherwise request admin level here.
!ifdef OPTION_UAC_PLUGIN_ENHANCED
RequestExecutionLevel user
!else
RequestExecutionLevel admin
!endif
@CPACK_NSIS_SECTION_SELECTED_VARS@
;-----------------------------------------------------------------------------
; Include some required header files.
@@ -79,31 +78,29 @@ ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
!include Memento.nsh ;Remember user selections.
!include WinVer.nsh ;Windows version detection.
!include WordFunc.nsh ;Used by VersionCompare macro function.
!ifdef OPTION_UAC_PLUGIN_ENHANCED
!include UAC.nsh ;Used by the UAC elevation to install as user or admin.
!endif
!include UAC.nsh ;Used by the UAC elevation to install as user or admin.
;-----------------------------------------------------------------------------
; Memento selections stored in registry.
;-----------------------------------------------------------------------------
!define MEMENTO_REGISTRY_ROOT HKLM
!define MEMENTO_REGISTRY_KEY Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomahawk
;-----------------------------------------------------------------------------
; Modern User Interface (MUI) defintions and setup.
;-----------------------------------------------------------------------------
!define MUI_ABORTWARNING
!define MUI_ICON installer.ico
!define MUI_UNICON installer.ico
!define MUI_WELCOMEFINISHPAGE_BITMAP welcome.bmp
!define MUI_WELCOMEPAGE_TITLE "Tomahawk ${VERSION} Setup$\r$\nInstaller Build Revision ${REVISION}"
!define MUI_ICON ${NSI_PATH}\installer.ico
!define MUI_UNICON ${NSI_PATH}\installer.ico
!define MUI_WELCOMEFINISHPAGE_BITMAP ${NSI_PATH}\welcome.bmp
!define MUI_WELCOMEPAGE_TITLE "@CPACK_PACKAGE_NAME@ ${VERSION} Setup$\r$\nInstaller"
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation.$\r$\n$\r$\n$_CLICK"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP page_header.bmp
!define MUI_HEADERIMAGE_BITMAP ${NSI_PATH}\page_header.bmp
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_TITLE "Tomahawk Install Completed"
!define MUI_FINISHPAGE_LINK "Click here to visit the Tomahawk website."
!define MUI_FINISHPAGE_LINK_LOCATION "http://tomahawk-player.org/"
!define MUI_FINISHPAGE_TITLE "@CPACK_PACKAGE_NAME@ Install Completed"
!define MUI_FINISHPAGE_LINK "Click here to visit the @CPACK_PACKAGE_NAME@ website."
!define MUI_FINISHPAGE_LINK_LOCATION "http://@TOMAHAWK_ORGANIZATION_DOMAIN@"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!ifdef OPTION_FINISHPAGE_RELEASE_NOTES
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
@@ -146,18 +143,46 @@ UninstPage custom un.UnPageUserAppData un.UnPageUserAppDataLeave
##############################################################################
Function LaunchTomahawk
!ifdef OPTION_UAC_PLUGIN_ENHANCED
${UAC.CallFunctionAsUser} LaunchTomahawkAsUser
!else
Exec "$INSTDIR\tomahawk.exe"
!endif
${UAC.CallFunctionAsUser} LaunchTomahawkAsUser
FunctionEnd
!ifdef OPTION_UAC_PLUGIN_ENHANCED
Function LaunchTomahawkAsUser
Exec "$INSTDIR\tomahawk.exe"
FunctionEnd
!endif
##############################################################################
# #
# PROCESS HANDLING FUNCTIONS AND MACROS #
# #
##############################################################################
!macro CheckForProcess processName gotoWhenFound gotoWhenNotFound
Processes::FindProcess ${processName}
StrCmp $R0 "0" ${gotoWhenNotFound} ${gotoWhenFound}
!macroend
!macro ConfirmEndProcess processName
MessageBox MB_YESNO|MB_ICONEXCLAMATION \
"Found ${processName} process(s) which need to be stopped.$\nDo you want the installer to stop these for you?" \
IDYES process_${processName}_kill IDNO process_${processName}_ended
process_${processName}_kill:
DetailPrint "Killing ${processName} processes."
Processes::KillProcess ${processName}
Sleep 1500
StrCmp $R0 "1" process_${processName}_ended
DetailPrint "Process to kill not found!"
process_${processName}_ended:
!macroend
!macro CheckAndConfirmEndProcess processName
!insertmacro CheckForProcess ${processName} 0 no_process_${processName}_to_end
!insertmacro ConfirmEndProcess ${processName}
no_process_${processName}_to_end:
!macroend
Function EnsureTomahawkShutdown
!insertmacro CheckAndConfirmEndProcess "tomahawk.exe"
FunctionEnd
##############################################################################
# #
@@ -178,40 +203,37 @@ Function PageReinstall
IntCmp $R0 ${VER_MINOR} build_check new_version older_version
build_check:
ReadRegDWORD $R0 HKLM "Software\Tomahawk" "VersionBuild"
IntCmp $R0 ${VER_BUILD} revision_check new_version older_version
revision_check:
ReadRegDWORD $R0 HKLM "Software\Tomahawk" "VersionRevision"
IntCmp $R0 ${REVISION} same_version new_version older_version
IntCmp $R0 ${VER_BUILD} same_version new_version older_version
new_version:
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 1" "Text" "An older version of Tomahawk is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue."
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 2" "Text" "Uninstall before installing"
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 3" "Text" "Do not uninstall"
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" "An older version of Tomahawk is installed on your system. It is recommended that you uninstall the current version before installing. Select the operation you want to perform and click Next to continue."
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 2" "Text" "Uninstall before installing"
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 3" "Text" "Do not uninstall"
!insertmacro MUI_HEADER_TEXT "Already Installed" "Choose how you want to install Tomahawk."
StrCpy $R0 "1"
Goto reinst_start
older_version:
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 1" "Text" "A newer version of Tomahawk is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue."
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 2" "Text" "Uninstall before installing"
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 3" "Text" "Do not uninstall"
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" "A newer version of Tomahawk is already installed! It is not recommended that you install an older version. If you really want to install this older version, it is better to uninstall the current version first. Select the operation you want to perform and click Next to continue."
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 2" "Text" "Uninstall before installing"
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 3" "Text" "Do not uninstall"
!insertmacro MUI_HEADER_TEXT "Already Installed" "Choose how you want to install Tomahawk."
StrCpy $R0 "1"
Goto reinst_start
same_version:
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 1" "Text" "Tomahawk ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue."
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 2" "Text" "Add/Reinstall components"
!insertmacro INSTALLOPTIONS_WRITE "tomahawk.ini" "Field 3" "Text" "Uninstall Tomahawk"
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" "Tomahawk ${VERSION} is already installed.\r\nSelect the operation you want to perform and click Next to continue."
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 2" "Text" "Add/Reinstall components"
!insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 3" "Text" "Uninstall Tomahawk"
!insertmacro MUI_HEADER_TEXT "Already Installed" "Choose the maintenance option to perform."
StrCpy $R0 "2"
reinst_start:
!insertmacro INSTALLOPTIONS_DISPLAY "tomahawk.ini"
!insertmacro INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
FunctionEnd
Function PageLeaveReinstall
!insertmacro INSTALLOPTIONS_READ $R1 "tomahawk.ini" "Field 2" "State"
!insertmacro INSTALLOPTIONS_READ $R1 "NSIS.InstallOptions.ini" "Field 2" "State"
StrCmp $R0 "1" 0 +2
StrCmp $R1 "1" reinst_uninstall reinst_done
StrCmp $R0 "2" 0 +3
@@ -226,12 +248,10 @@ Function PageLeaveReinstall
Delete $R1
RMDir $INSTDIR
no_remove_uninstaller:
StrCmp $R0 "2" +2 0
StrCmp $R0 "2" 0 +3
UAC::Unload
Quit
BringToFront
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC::Unload
Quit
!endif
reinst_done:
FunctionEnd
@@ -240,11 +260,10 @@ FunctionEnd
# INSTALLER SECTIONS #
# #
##############################################################################
Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
SectionIn 1 2 3 RO
SetDetailsPrint listonly
SetDetailsPrint textonly
DetailPrint "Installing Tomahawk Player essentials."
SetDetailsPrint listonly
@@ -254,34 +273,28 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
;Main executable.
File "${INSTALL_PATH}\bin\tomahawk.exe"
File "${INSTALL_PATH}\lib\librtaudio.dll"
File "${INSTALL_PATH}\lib\libqxtweb-standalone.dll"
File "${INSTALL_PATH}\lib\libtomahawk_jdns.dll"
File "${INSTALL_PATH}\lib\libtomahawk_qtweetlib.dll"
File "${INSTALL_PATH}\lib\libtomahawklib.dll"
File "${INSTALL_PATH}\lib\libtomahawk_sipjabber.dll"
File "${INSTALL_PATH}\lib\libtomahawk_siptwitter.dll"
File "${INSTALL_PATH}\lib\libtomahawk_sipzeroconf.dll"
File "${INSTALL_PATH}\bin\libqxtweb-standalone.dll"
File "${INSTALL_PATH}\bin\libtomahawk_portfwd.dll"
File "${INSTALL_PATH}\bin\libtomahawk_lastfm2.dll"
File "${INSTALL_PATH}\bin\libtomahawklib.dll"
File "${INSTALL_PATH}\lib\libtomahawk_sip*.dll"
!endif
!ifndef INSTALL_PATH
;Main executable.
File "${BUILD_PATH}\tomahawk.exe"
File "${BUILD_PATH}\thirdparty\rtaudio\librtaudio.dll"
File "${BUILD_PATH}\thirdparty\qxt\qxtweb-standalone\libqxtweb-standalone.dll"
File "${BUILD_PATH}\thirdparty\jdns\libtomahawk_jdns.dll"
File "${BUILD_PATH}\thirdparty\qtweetlib\libtomahawk_qtweetlib.dll"
File "${BUILD_PATH}\src\libtomahawk\libtomahawklib.dll"
File "${BUILD_PATH}\libtomahawk_sipjabber.dll"
File "${BUILD_PATH}\libtomahawk_siptwitter.dll"
File "${BUILD_PATH}\libtomahawk_sipzeroconf.dll"
File "${BUILD_PATH}\libtomahawklib.dll"
File "${BUILD_PATH}\libqxtweb-standalone.dll"
File "${BUILD_PATH}\libtomahawk_portfwd.dll"
File "${BUILD_PATH}\libtomahawk_lastfm2.dll"
File "${BUILD_PATH}\libtomahawk_sip*.dll"
!endif
;License & release notes.
File "${ROOT_PATH}\LICENSE.txt"
File /oname=NOTES.txt RELEASE_NOTES.txt
;QT stuff:
File "@CPACK_RESOURCE_FILE_LICENSE@"
File /oname=NOTES.txt ${NSI_PATH}\RELEASE_NOTES.txt
;QT stuff:
File "${QT_DLL_PATH}\QtCore4.dll"
File "${QT_DLL_PATH}\QtGui4.dll"
File "${QT_DLL_PATH}\QtNetwork4.dll"
@@ -299,32 +312,59 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
File "${IMAGEFORMATS_DLL_PATH}\qgif4.dll"
File "${IMAGEFORMATS_DLL_PATH}\qjpeg4.dll"
SetOutPath "$INSTDIR"
;Cygwin/c++ stuff
;File "${MING_DLL_PATH}\cygmad-0.dll"
;File "${MING_DLL_PATH}\libgcc_s_dw2-1.dll"
;File "${MING_DLL_PATH}\mingwm10.dll"
File "${MING_DLL_PATH}\libgcc_s_sjlj-1.dll"
File "${MING_DLL_PATH}\libstdc++-6.dll"
;Audio stuff
File "${MING_DLL_PATH}\libmad-0.dll"
File "${MING_DLL_PATH}\libogg-0.dll"
File "${MING_DLL_PATH}\libvorbisfile-3.dll"
File "${MING_DLL_PATH}\libvorbis-0.dll"
File "${MING_DLL_PATH}\libFLAC-8.dll"
File "${MING_DLL_PATH}\libFLAC++-6.dll"
;Other
File "${MING_DLL_PATH}\libqjson.dll"
File "${MING_DLL_PATH}\libtag.dll"
File "${MING_DLL_PATH}\libgloox-8.dll"
File "${MING_DLL_PATH}\libpng15-15.dll"
File "${MING_DLL_PATH}\libjpeg-8.dll"
File "${MING_DLL_PATH}\zlib1.dll"
File "${MING_DLL_PATH}\libechonest.dll"
File "${MING_DLL_PATH}\liblastfm.dll"
;Cygwin/c++ stuff
;File "${MING_BIN}\cygmad-0.dll"
;File "${MING_BIN}\libgcc_s_dw2-1.dll"
;File "${MING_BIN}\mingwm10.dll"
File "${MING_BIN}\libgcc_s_sjlj-1.dll"
File "${MING_BIN}\libstdc++-6.dll"
;Phonon stuff
;Fix the phonon build to not use Dbus
File "${QT_DLL_PATH}\QtDbus4.dll"
File "${MING_BIN}\libdbus-1-3.dll"
File "${MING_BIN}\dbus-daemon.exe"
File "${VLC_BIN}\libphonon.dll"
SetOutPath "$INSTDIR\phonon_backend"
File "${VLC_BIN}\phonon_backend\phonon_vlc.dll"
SetOutPath "$INSTDIR"
;VLC
;SetOutPath "$INSTDIR\phonon_backend"
File "${VLC_BIN}\libvlc.dll"
File "${VLC_BIN}\libvlccore.dll"
SetOutPath "$INSTDIR\plugins"
File /r "${VLC_PLUGIN_PATH}\*.dll"
SetOutPath "$INSTDIR"
File "${MING_BIN}\libmad-0.dll" ; MP3
File "${MING_BIN}\libFLAC-8.dll" ; FLAC
File "${MING_BIN}\libogg-0.dll" ; OGG, FLAC
File "${MING_BIN}\libvorbis-0.dll" ; OGG
File "${MING_BIN}\libvorbisenc-2.dll" ; OGG
; Other
File "${MING_BIN}\libqjson.dll"
File "${MING_BIN}\libtag.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}\libQTweetLib.dll"
; Jabber
File "${MING_BIN}\libjreen.dll"
File "${MING_BIN}\libqca.dll"
SetOutPath "$INSTDIR\crypto"
File "${MING_LIB}\qt4\plugins\crypto\libqca-ossl.dll"
SetOutPath "$INSTDIR"
File "${MING_BIN}\libssl-8.dll"
File "${MING_BIN}\libcrypto-8.dll"
File "${MING_LIB}\libclucene-core.dll"
File "${MING_LIB}\libclucene-shared.dll"
@@ -346,7 +386,7 @@ SectionGroup "Shortcuts"
CreateShortCut "$SMPROGRAMS\Tomahawk\LICENSE.lnk" "$INSTDIR\LICENSE.txt"
CreateShortCut "$SMPROGRAMS\Tomahawk\Tomahawk.lnk" "$INSTDIR\tomahawk.exe"
CreateShortCut "$SMPROGRAMS\Tomahawk\Release notes.lnk" "$INSTDIR\NOTES.txt"
CreateShortCut "$SMPROGRAMS\Tomahawk\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
CreateShortCut "$SMPROGRAMS\Tomahawk\Uninstall.lnk" "$INSTDIR\uninstall.exe"
SetShellVarContext current
${MementoSectionEnd}
!endif
@@ -390,7 +430,7 @@ Section -post
SetDetailsPrint textonly
DetailPrint "Writing Uninstaller"
SetDetailsPrint listonly
WriteUninstaller $INSTDIR\Uninstall.exe
WriteUninstaller $INSTDIR\uninstall.exe
;Registry keys required for installer version handling and uninstaller.
SetDetailsPrint textonly
@@ -418,6 +458,12 @@ Section -post
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomahawk" "NoModify" "1"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomahawk" "NoRepair" "1"
; Register tomahawk:// protocol handler
WriteRegStr HKCR "tomahawk" "" "URL: Tomahawk Protocol"
WriteRegStr HKCR "tomahawk\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
WriteRegStr HKCR "tomahawk\shell" "" "open"
WriteRegStr HKCR "tomahawk\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
SetDetailsPrint textonly
DetailPrint "Finsihed."
SectionEnd
@@ -477,6 +523,8 @@ Section Uninstall
DeleteRegValue HKLM "Software\Tomahawk" ""
DeleteRegKey HKLM "Software\Tomahawk"
DeleteRegKey HKCR "tomahawk"
;Start menu shortcuts.
!ifdef OPTION_SECTION_SC_START_MENU
SetShellVarContext all
@@ -498,7 +546,7 @@ Section Uninstall
;Remove all the Program Files.
RMDir /r $INSTDIR
;Uninstall User Data if option is checked, otherwise skip.
${If} $UnPageUserAppDataCheckbox_State == ${BST_CHECKED}
RMDir /r "$LOCALAPPDATA\Tomahawk"
@@ -514,8 +562,8 @@ SectionEnd
# #
##############################################################################
Function .onInit
!insertmacro INSTALLOPTIONS_EXTRACT "tomahawk.ini"
Function .onInit
!insertmacro INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
;Remove Quick Launch option from Windows 7, as no longer applicable - usually.
${IfNot} ${AtMostWinVista}
@@ -526,27 +574,25 @@ Function .onInit
${MementoSectionRestore}
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC_Elevate:
UAC::RunElevated
StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
StrCmp 0 $0 0 UAC_Err ; Error?
StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
Quit
UAC_Err:
MessageBox MB_ICONSTOP "Unable to elevate, error $0"
Abort
UAC_ElevationAborted:
Abort
UAC_Success:
StrCmp 1 $3 +4 ;Admin?
StrCmp 3 $1 0 UAC_ElevationAborted ;Try again?
MessageBox MB_ICONSTOP "This installer requires admin access, try again"
goto UAC_Elevate
!endif
UAC_Elevate:
UAC::RunElevated
StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
StrCmp 0 $0 0 UAC_Err ; Error?
StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
Quit
UAC_Err:
MessageBox MB_ICONSTOP "Unable to elevate, error $0"
Abort
UAC_ElevationAborted:
Abort
UAC_Success:
StrCmp 1 $3 +4 ;Admin?
StrCmp 3 $1 0 UAC_ElevationAborted ;Try again?
MessageBox MB_ICONSTOP "This installer requires admin access, try again"
goto UAC_Elevate
;Prevent multiple instances.
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "tomahawkInstaller") i .r1 ?e'
@@ -554,19 +600,25 @@ Function .onInit
StrCmp $R0 0 +3
MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running."
Abort
;Use available InstallLocation when possible. This is useful in the uninstaller
;via re-install, which would otherwise use a default location - a bug.
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomahawk" "InstallLocation"
StrCmp $R0 "" SkipSetInstDir
StrCpy $INSTDIR $R0
SkipSetInstDir:
;Shutdown Tomahawk in case Add/Remove re-installer option used.
Call EnsureTomahawkShutdown
FunctionEnd
Function .onInstSuccess
${MementoSectionSave}
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC::Unload ;Must call unload!
!endif
UAC::Unload ;Must call unload!
FunctionEnd
Function .onInstFailed
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC::Unload ;Must call unload!
!endif
UAC::Unload ;Must call unload!
FunctionEnd
##############################################################################
@@ -576,27 +628,25 @@ FunctionEnd
##############################################################################
Function un.onInit
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC_Elevate:
UAC::RunElevated
StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
StrCmp 0 $0 0 UAC_Err ; Error?
StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
Quit
UAC_Elevate:
UAC::RunElevated
StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
StrCmp 0 $0 0 UAC_Err ; Error?
StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
Quit
UAC_Err:
MessageBox MB_ICONSTOP "Unable to elevate, error $0"
Abort
UAC_ElevationAborted:
Abort
UAC_Success:
StrCmp 1 $3 +4 ;Admin?
StrCmp 3 $1 0 UAC_ElevationAborted ;Try again?
MessageBox MB_ICONSTOP "This uninstaller requires admin access, try again"
goto UAC_Elevate
!endif
UAC_Err:
MessageBox MB_ICONSTOP "Unable to elevate, error $0"
Abort
UAC_ElevationAborted:
Abort
UAC_Success:
StrCmp 1 $3 +4 ;Admin?
StrCmp 3 $1 0 UAC_ElevationAborted ;Try again?
MessageBox MB_ICONSTOP "This uninstaller requires admin access, try again"
goto UAC_Elevate
;Prevent multiple instances.
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "tomahawkUninstaller") i .r1 ?e'
@@ -607,13 +657,9 @@ Function un.onInit
FunctionEnd
Function un.onUnInstSuccess
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC::Unload ;Must call unload!
!endif
UAC::Unload ;Must call unload!
FunctionEnd
Function un.onUnInstFailed
!ifdef OPTION_UAC_PLUGIN_ENHANCED
UAC::Unload ;Must call unload!
!endif
UAC::Unload ;Must call unload!
FunctionEnd

77
CPackOptions.cmake.in Normal file
View File

@@ -0,0 +1,77 @@
# This file is configured at cmake time, and loaded at cpack time.
# To pass variables to cpack from cmake, they must be configured
# in this file.
if(CPACK_GENERATOR MATCHES "NSIS")
if( NOT EXISTS "@CMAKE_SOURCE_DIR@/admin/win/vlc/")
MESSAGE(FATAL_ERROR "\n You don't have vlc in your admin/win/ dir. \n Please change into that dir and execute 'sh update-vlc.sh'" )
endif()
#SET(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@")
# set the install/unistall icon used for the installer itself
# There is a bug in NSI that does not handle full unix paths properly.
#SET(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
#SET(CPACK_NSIS_MUI_UNIICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
# set the package header icon for MUI
#SET(CPACK_PACKAGE_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeInstall.bmp")
# tell cpack to create links to the doc files
#SET(CPACK_NSIS_MENU_LINKS
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake-gui.html" "cmake-gui Help"
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html" "CMake Help"
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake-properties.html"
# "CMake Properties and Variables Help"
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/ctest.html" "CTest Help"
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake-modules.html" "CMake Modules Help"
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake-commands.html" "CMake Commands Help"
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cpack.html" "CPack Help"
# "http://www.cmake.org" "CMake Web Site"
# )
# Use the icon from cmake-gui for add-remove programs
#SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe")
#
#SET(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@")
#SET(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, a cross-platform, open-source build system")
#SET(CPACK_NSIS_HELP_LINK "http://www.cmake.org")
#SET(CPACK_NSIS_URL_INFO_ABOUT "http://www.kitware.com")
#SET(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@)
#SET(CPACK_NSIS_MODIFY_PATH ON)
##### all options
#CPACK_NSIS_MUI_ICON The icon file (.ico) for the generated install program. Both this and CPACK_NSIS_MUI_UNIICON need to set for this to have any effect. installer.ico
#CPACK_NSIS_MUI_UNIICON The icon file (.ico) for the generated uninstall program. Both this and CPACK_NSIS_MUI_ICON need to set for this to have any effect. uninstaller.ico
SET( CPACK_PACKAGE_ICON @CMAKE_SOURCE_DIR@/admin/win/nsi/installer.ico ) # A branding image that will be displayed on the top bar inside the installer. installer.bmp
#CPACK_NSIS_EXTRA_INSTALL_COMMANDS Extra NSIS commands that will be added to the install Section. ExecWait '\\\"$INSTDIR\\\\vcredist_x86.exe\\\" /q:a'
#CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS Extra NSIS commands that will be added to the uninstall Section.
SET( CPACK_NSIS_COMPRESSOR "/SOLID lzma" ) # The arguments that will be passed to the NSIS SetCompressor command. /SOLID lzma
#CPACK_NSIS_MODIFY_PATH If this is set to "ON", then an extra page will appear in the installer that will allow the user to choose whether the program directory should be added to the system PATH variable. ON
#CPACK_NSIS_DISPLAY_NAME Undocumented. "${CPACK_PACKAGE_INSTALL_DIRECTORY} My Famous Project"
#CPACK_NSIS_INSTALLED_ICON_NAME Set the icon used for the Windows "Add or Remove Programs" tool. "bin\\\\MyExecutable.exe"
#CPACK_NSIS_HELP_LINK Adds link to registry. URI. "http:\\\\\\\\www.my-project-home-page.org"
#CPACK_NSIS_URL_INFO_ABOUT Adds link to registry and the vendor in add/remove programs' "Click here for support information" in program entry links here. "http:\\\\\\\\www.my-personal-home-page.com"
#CPACK_NSIS_CONTACT Adds link to add/remove programs' "Click here for support information" in program entry. "me@my-personal-home-page.com"
#CPACK_NSIS_CREATE_ICONS_EXTRA Additional NSIS commands for creating start menu shortcuts. set(CPACK_NSIS_CREATE_ICONS "CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${PROJECT_NAME}.lnk' '\$INSTDIR\\\\${PROJECT_NAME}.exe'")
#CPACK_NSIS_DELETE_ICONS_EXTRA Undocumented. Possibly: Additional NSIS commands to uninstall start menu shortcuts.
#CPACK_NSIS_MENU_LINKS Used to override the Start Menu links. "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/CMakeSetup.html" "CMakeSetup Help"
#CPACK_NSIS_MUI_FINISHPAGE_RUN If used, will make it possible for user to choose (on an additional page, displayed at the end of the installation) to run intalled program. Should point to program name to run, seemingly without any sub-directories of the installation directory in case program installed in such sub-directories (but please check generated NSIS script if you can't make it work). "MyExecutable.exe"
endif(CPACK_GENERATOR MATCHES "NSIS")
## include the cpack options for qt dialog if they exisit
## they might not if qt was not enabled for the build
#INCLUDE("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
#if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
# if(CMAKE_PACKAGE_QTGUI)
# set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
# else(CMAKE_PACKAGE_QTGUI)
# set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
# endif(CMAKE_PACKAGE_QTGUI)
#endif("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
SET( CMAKE_SOURCE_DIR @CMAKE_SOURCE_DIR@ )
SET( CMAKE_BINARY_DIR @CMAKE_BINARY_DIR@ )

171
ChangeLog
View File

@@ -1,2 +1,171 @@
Version 0.2.3:
* Fixed opening Rdio and Spotify links.
* Fixed potential crash in sidebar during syncing of sources.
* When Listening Along, the last song a peer plays is no longer duplicated.
* Fixed an issue where the Twitter plugin could get out of sync if the
database was cleared, leading to eventual crashes when re-connecting.
* Fixed duplicate albums showing up on Dashboard.
* Automatically sort search results by score.
* Fixed stations being stuck not fetching more songs.
* Fixed issue where artist bio could be referring to a different artist.
* Opening a "tomahawk" URL (or other URL with Tomahawk) brings the Tomahawk
window to the foreground.
Version 0.2.2:
* Fixed crash pressing previous and next when playing a song from the Queue.
* Fixed issue where wrench for newly added resolvers would not show up.
* Fixed sidebar statistics not updating after collection scan finished.
* Fixed omitting a few tracks in the Collection tree-view.
* Fixed sidebar & track sorting issues.
* Seek- & volume sliders now directly jump to the position you clicked on.
* Added ability to drag artists and albums within Tomahawk.
* (OS X) Fixed Ogg Vorbis support.
Version 0.2.1:
* Fixed crashing trying to play an unavailable track.
* Fixed a crash caused by using Javascript resolvers.
* Fixed searching with Javascript resolvers.
Version 0.2.0:
* Re-resolve queries when their resolved-to source goes offline.
* Cleanup formatting of Preference/Configure and Diagnostics windows.
* Add selection indicator on album art.
* Fix inability to create Echonest playlists based solely on style or mood.
* Created new Artist & Album page, showing various related information.
* Update playlists in dashboard to keep them in sync.
* Support Rdio track URLs and ability to drop them onto Tomahawk.
* Change "Recently Played" page to "Dashboard".
* Prioritize resolving newer queries to make GUI more responsive.
* Automatically expand local collection node in sidebar on launch.
* Display spinner animation while searching for tracks.
* Let Tomahawk-headless users trigger a rescan with --filescan.
* Include Stations and Automatic Playlists in "New Stations and Playlists".
* Always keep current page and sidebar selection in sync.
* New icon theme and many design tweaks.
* Fixed bug where drop indicator wouldn't show below the last track of a
playlist.
* Added support for "playing" Spotify track URLs (and t.co and bit.ly
shortened track URLs) and ability to drag/drop them into Tomahawk.
* Added support for JSPF playlists (XSPF via JSON).
* Scroll per pixel to making scrolling feel more natural.
* Filter out duplicate tracks in Collection tree view.
* Spotify resolver now honors SOCKS5 proxy settings.
* Made "show offline sources" menu option a toggle instead of two separate
entries.
* Properly decode escaped characters coming from HTTP API.
* Handle/display resolver file paths becoming invalid in Preferences.
* Fixed track skipping-on-pause bug when using Gstreamer backend.
* Fixed a few crashes that could occur when fetching data from Last.fm.
* Made Twitter dialog more readable/understandable.
* Fixed streaming from https:// links.
* Implement new Javascript resolver API and ability to present config
dialogs for resolvers.
* Show when a track was played in the Recently Played tracks history.
* Added context menus for Artists and Albums.
* Fixed playlist bugs that would cause track to stop playing when dropping
or moving items in the same playlist.
* Set volume to 75% on startup.
* Added "listen along" feature (and ability to "catch up").
* Added "love" feature - also "loves" track on Last.fm.
* Twitter checks for updates less often now, saving user API calls from
running out when using multiple clients.
* Added score column and score bars to indicate resolver match certainty.
* Added "New Additions" page for each source.
* Improved tomahawk:// link handling. Added support for http://toma.hk/.
* Fixed sorting by file size.
* Improved the way Adium status is updated with now-playing information.
* Re-resolve tracks when a resolver is added/removed/enabled/disabled.
* Added global search function that searches all available sources.
* Collection scanner can now run automatically, watching files and dirs for
changes.
* Added Pipeline status view.
* Allow seeking in songs - if supported by audio backend.
* Added ability to make a copy of a peer's playlist.
* Shuffle and Repeat settings are stored on a playlist by playlist basis.
* (Linux) Desktop notifications for now playing.
* (OS X) Removed "test login" button from Last.fm settings.
* (OS X) Added MediaKey support.
* (OS X) Don't quit on window close to conform to best practices.
Version 0.1.0:
* Fixed stations so they resolve against all available sources instead of
only local and friend's collections.
* Add a Song seed for stations and automatic playlists, and allow dragging
of any tracks to the New Stations entry to create a pre-seeded station.
* Added auto-completion for artists while filling in a station or automatic
playlist.
* SOCKS5 proxy support. Noproxy hosts are also supported but no wildcard
support (yet).
* Support loading of - and exporting to - .xspf playlists.
* Added Tomahawk:// protocol support and share links for many things
including tracks, playlists, and stations.
* Autoload automatically detected resolvers on startup.
* Fix issue where track resolving spinner never stopped if tracks were
removed from playlist while resolving.
* Twitter & Jabber profile pictures are shown.
* Fix issues with stations where multiple tracks could be added at once.
* Allow multiple accounts of the same type.
* Add new Google account type, a thin wrapper around a Jabber plugin.
* Overhaul the settings dialog interface.
* Resolvers can now be enabled and disabled, and some can be configured
directly in Tomahawk, for example the new Spotify resolver.
* Split playlists and stations in sources sidebar. Show Recently Played
as a node under the Super Collection.
* Fix massive speed bottleneck on startup in the case of many recently
played playlists.
* Removed filter and song view from Super Collection, coming back in the
next release.
* Browse and play collections in our snappy tree-mode, which also shows
images for artists and albums.
* Fixed crash that could occur when playing a track from a browser.
* Fixed a crash caused by sources going on or offline.
* Huge optimizations in the resolving pipeline.
* Improved the handling of automatic status messages for Google Talk.
* Switch to Phonon sound system, allowing us to support a wide variety
of audio formats.
* UI tweaks and cleanup.
* (OS X) Open configuration dialogs as sliding sheets.
* (OS X) Increase our available file watches to the maximum that the system
reports.
* (OS X) Added 'Window' menu with zoom/minimize actions.
Version 0.0.3:
* Show spinner while resolving playlists.
* Go back to previous page visible when deleting a playlist.
* Fixed issue where automatic playlists and station summaries were not
updated in the playlist header.
* Fixed an issue which caused duplicate items when rescanning.
* Revert change introduced in 0.0.2 causing Twitter protocol to not try
to reconnect to a peer if it couldn't connect the first time the plugin
was connected. This caused confusing (and for most unwanted) behavior.
* Fix crashes in Twitter authentication.
* Properly honor the chosen port number if a static host and port are
marked as preferred.
* Don't automatically try to resolve all incoming playback logs. This
speeds up importing sources a lot.
* Faster painting of playlists with lots of unresolved tracks.
* Prefer local results when results' score is equal.
* (Windows) The tomahawk:// protocol handler works on Windows now.
* (Windows) Prevent launching a second instance on Windows.
* (Windows) Fixed launching Tomahawk from Windows installer with admin
privileges.
Version 0.0.2:
* Don't reconnect to Jabber if the settings dialog is closed successfully
but the Jabber settings haven't changed.
* Don't run a rescan of the local collection if the settings dialog is
closed successfully but the path hasn't changed.
* Don't attempt to connect to unavailable Twitter peers over and over.
* Find Twitter peers if the peer's Got Tomahawk? tweet is not their latest
tweet.
* Got Tomahawk? tweets can now be sent directly to specific users or in
private direct messages.
* Display a helpful message when someone sends a normal instant message to
the Tomahawk XMPP presence.
* Incompatible change: Twitter SIP protocol has changed slightly. 0.0.1
clients will not be able to talk to newer clients.
* Don't let long playlist or summary names force a large Tomahawk window.
* Tomahawk now asks you to authorize new contacts.
Version 0.0.1:
* First public release.
* First public release.

124
README
View File

@@ -1,82 +1,27 @@
Quickstart on Ubuntu
--------------------
$ sudo apt-get install build-essential cmake libtag1c2a libtag1-dev liblastfm-dev libqt4-dev \
libqt4-sql-sqlite libvorbis-dev libmad0-dev libflac++-dev libasound2-dev \
libboost-dev zlib1g-dev libgnutls-dev pkg-config
Gloox 1.0 (XMPP library)
------------------------
On Ubuntu 10.10 (and higher):
$ sudo apt-get install libgloox-dev
Otherwise see: http://camaya.net/glooxdownload
You need to build gloox 1.0 from source, Ubuntu 10.04 only packages version 0.9.
Download and unpack tarball:
$ ./configure --without-openssl --with-gnutls --without-libidn --with-zlib --without-examples --without-tests
$ CXXFLAGS=-fPIC make
$ sudo make install
QJson (Qt JSON library)
-----------------------
On Ubuntu 10.04 (and higher):
$ sudo apt-get install libqjson-dev
Otherwise see: http://sourceforge.net/projects/qjson/files/ (developed using version 0.7.1)
Download and unpack tarball:
$ ./configure && make
$ sudo make install
libEchonest 1.1.1
---------------
See: http://projects.kde.org/projects/playground/libs/libechonest/
Download and unpack tarball:
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install
CLucene 0.9.23
---------------
See: http://clucene.sourceforge.net/download.shtml
Clone from git and build CLucene:
$ git clone git://clucene.git.sourceforge.net/gitroot/clucene/clucene
$ cd clucene && mkdir build && cd build
$ cmake ..
$ make
$ sudo make install
Quickstart on OS X
Compiling Tomahawk
------------------
Install homebrew
$ ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"
$ brew install cmake qt qjson gloox libmad libvorbis flac taglib boost liblastfm
Install libEchnoest & CLucene as per the above instructions.
If liblastfm gives problems, do the below:
$ brew edit liblastfm
Change the url to https://github.com/davidsansome/liblastfm/tarball/0.3.1
$ brew install liblastfm
Copy the md5 hash it returns.
$ brew edit liblastfm
Replace the md5 hash with the new one you copied.
$ brew install liblastfm
Now compile 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_Maverick_(10.10)
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)
Doxygen Documentation
---------------------
See: http://dev.tomahawk-player.org/api/classes.html
Dependencies
@@ -85,44 +30,15 @@ Dependencies
CMake 2.8.0 http://www.cmake.org/
Qt 4.7.0 http://qt.nokia.com/
QJson 0.7.1 http://qjson.sourceforge.net/
Gloox 1.0 (0.9.x will fail) http://camaya.net/gloox/
SQLite 3.6.22 http://www.sqlite.org/
TagLib 1.6.2 http://developer.kde.org/~wheeler/taglib.html
Boost 1.3x http://www.boost.org/
CLucene 0.9.23 (0.9.21 will fail) http://clucene.sourceforge.net/download.shtml
libmad 0.15.1b http://www.underbit.com/products/mad/
libvorbis 1.2.3 http://xiph.org/vorbis/
libogg 1.1.4 http://xiph.org/ogg/
libflac++ 1.2.0 http://flac.sourceforge.net/
liblastfm 0.3.3 http://github.com/mxcl/liblastfm/
libechonest 1.1.1 http://projects.kde.org/projects/playground/libs/libechonest/
libechonest 1.1.8 http://projects.kde.org/projects/playground/libs/libechonest/
Third party libraries that we ship with our source:
RtAudio 4.0.7 http://www.music.mcgill.ca/~gary/rtaudio/
MiniUPnP http://miniupnp.free.fr/
To build the app:
-----------------
$ mkdir build && cd build
Pick one of the following two choices. If uncertain pick the second one, you probably want a GUI.
$ cmake -Dgui=no .. # enables headless mode, build without GUI
$ cmake .. # normal build including GUI
$ make
To run the app:
---------------
Only run the next two commands if you installed any of the dependencies from source on Linux.
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
$ sudo ldconfig -v
Start the application on Linux:
$ ./tomahawk
Start the application on OS X:
$ open tomahawk.app
liblastfm 0.4.0 http://github.com/jonocole/liblastfm/
Enjoy!

53
TomahawkCPack.cmake Normal file
View File

@@ -0,0 +1,53 @@
INCLUDE( InstallRequiredSystemLibraries )
SET( CPACK_PACKAGE_CONTACT "Dominik Schmidt <domme@tomahawk-player.org>" )
SET( CPACK_PACKAGE_FILE_NAME tomahawk-${TOMAHAWK_VERSION} ) # Package file name without extension. Also a directory of installer cmake-2.5.0-Linux-i686
# 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" ) # 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
SET( CPACK_PACKAGE_INSTALL_REGISTRY_KEY ${TOMAHAWK_APPLICATION_NAME} ) # Registry key used when installing this project CMake 2.5.0
SET( CPACK_PACKAGE_NAME ${TOMAHAWK_APPLICATION_NAME} ) # Package name, defaults to the project name
SET( CPACK_PACKAGE_VENDOR ${TOMAHAWK_ORGANIZATION_NAME} ) # Package vendor name
SET( CPACK_PACKAGE_VERSION_MAJOR ${TOMAHAWK_VERSION_MAJOR} )
SET( CPACK_PACKAGE_VERSION_MINOR ${TOMAHAWK_VERSION_MINOR} )
SET( CPACK_PACKAGE_VERSION_PATCH ${TOMAHAWK_VERSION_PATCH} )
# CPACK_SOURCE_GENERATOR List of generators used for the source package TGZ;TZ
SET( CPACK_SOURCE_GENERATOR TGZ )
SET( CPACK_SOURCE_IGNORE_FILES "/\\\\.git/" ".*~$" ".kate-swp$" "/build_dir/" "/clang/" "/gcc/" "/build/" "/win/" ) # Pattern of files in the source tree that won't be packaged
SET( CPACK_SOURCE_PACKAGE_FILE_NAME tomahawk-${TOMAHAWK_VERSION} ) # Name of the source package
# CPACK_SOURCE_STRIP_FILES List of files in the source tree that will be stripped. Starting with CMake 2.6.0 CPACK_SOURCE_STRIP_FILES will be a boolean variable which enables stripping of all files (a list of files evaluates to TRUE in CMake, so this change is compatible).
# CPACK_STRIP_FILES List of files to be stripped. Starting with CMake 2.6.0 CPACK_STRIP_FILES will be a boolean variable which enables stripping of all files (a list of files evaluates to TRUE in CMake, so this change is compatible). bin/ccmake;bin/cmake;bin/cpack;bin/ctest
# CPACK_SYSTEM_NAME System name, defaults to the value of ${CMAKE_SYSTEM_NAME}. Linux-i686
# Advanced settings
# CPACK_CMAKE_GENERATOR What CMake generator should be used if the project is CMake project. Defaults to the value of CMAKE_GENERATOR. Unix Makefiles
SET( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt" ) # License file for the project, used by the STGZ, NSIS, and PackageMaker generators. /home/andy/vtk/CMake/Copyright.txt
# CPACK_RESOURCE_FILE_README ReadMe file for the project, used by PackageMaker generator. /home/andy/vtk/CMake/Templates/CPack.GenericDescription.txt
# CPACK_RESOURCE_FILE_WELCOME Welcome file for the project, used by PackageMaker generator. /home/andy/vtk/CMake/Templates/CPack.GenericWelcome.txt
SET( CPACK_PACKAGE_VERSION ${TOMAHAWK_VERSION} )
SET( CPACK_TOPLEVEL_TAG "narf" ) # Directory for the installed files. - needed to provide anything to avoid an error# CPACK_INSTALL_COMMANDS Extra commands to install components.
# CPACK_INSTALL_DIRECTORIES Extra directories to install.
# CPACK_MONOLITHIC_INSTALL When set disables the component-based installer.
# CPACK_PACKAGING_INSTALL_PREFIX Sets the default root that the generated package installs into, '/usr' is the default for the debian and redhat generators /usr/local
##
# INSTALL DEPS
##
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
#SET(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
configure_file("${CMAKE_SOURCE_DIR}/CPackOptions.cmake.in"
"${CMAKE_BINARY_DIR}/CPackOptions.cmake" @ONLY)
set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CPackOptions.cmake") # File included at cpack time, once per generator after setting CPACK_GENERATOR to the actual generator being used; allows per-generator setting of CPACK_* variables at cpack time. ${PROJECT_BINARY_DIR}/CPackOptions.cmake
include(CPack)

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
@@ -13,9 +13,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleVersion</key>
<string>0.0.1.0</string>
<string>TOMAHAWK_VERSION</string>
<key>CFBundleShortVersionString</key>
<string>0.0.1</string>
<string>TOMAHAWK_VERSION</string>
<key>CFBundleSignature</key>
<string>tomahawk</string>
<key>CFBundleIconFile</key>
@@ -23,40 +23,42 @@
<key>CFBundleName</key>
<string>Tomahawk</string>
<key>LSMinimumSystemVersion</key>
<string>10.5.0</string>
<key>SUFeedURL</key>
<string>http://download.tomahawk-player.org/sparkle</string>
<key>SUPublicDSAKeyFile</key>
<string>sparkle_pub.pem</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Tomahawk URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>tomahawk</string>
</array>
</dict>
</array>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>xspf</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Generic.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/xspf+xml</string>
</array>
<key>CFBundleTypeName</key>
<string>XSPF Playlist</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
<string>10.5.0</string>
<key>SUFeedURL</key>
<string>http://download.tomahawk-player.org/sparkle/update.php</string>
<key>SUPublicDSAKeyFile</key>
<string>sparkle_pub.pem</string>
<key>SUEnableSystemProfiling</key>
<true/>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Tomahawk URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>tomahawk</string>
</array>
</dict>
</array>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>xspf</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Generic.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/xspf+xml</string>
</array>
<key>CFBundleTypeName</key>
<string>XSPF Playlist</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -1,56 +0,0 @@
#!/bin/sh
# author: max@last.fm
# usage: Run from inside the bundle root directory, eg. Last.fm.app
# The first parameter should be the QtFrameworks to copy.
# Remaining parameters are plugins to copy, directories and files are
# valid.
# eg: add-Qt-to-bundle.sh 'QtCore QtGui QtXml' \
# imageformats \
# sqldrivers/libsqlite.dylib
################################################################################
QT_FRAMEWORKS_DIR="$QTDIR/lib"
QT_PLUGINS_DIR="$QTDIR/plugins"
if [[ ! -d "$QTDIR/lib/QtCore.framework" ]]
then
# this dir is the location of install for the official Trolltech dmg
if [[ -d /Library/Frameworks/QtCore.framework ]]
then
QT_FRAMEWORKS_DIR=/Library/Frameworks
QT_PLUGINS_DIR=/Developer/Applications/Qt/plugins
fi
fi
echo "Plugins go to: $QT_PLUGINS_DIR"
if [ -z $QTDIR ]
then
echo QTDIR must be set, or install the official Qt dmg
exit 1
fi
################################################################################
#first frameworks
mkdir -p Contents/Frameworks
for x in $1
do
echo "C $x"
cp -R $QT_FRAMEWORKS_DIR/$x.framework Contents/Frameworks/
chmod -R u+rw Contents/Frameworks/
done
#plugins
shift
mkdir -p Contents/MacOS
mkdir -p Contents/MacOS/sqldrivers
mkdir -p Contents/MacOS/imageformats
cp -R $QT_PLUGINS_DIR/sqldrivers/libqsqlite.dylib Contents/MacOS/sqldrivers/
cp -R $QT_PLUGINS_DIR/imageformats/libqgif.dylib Contents/MacOS/imageformats/
cp -R $QT_PLUGINS_DIR/imageformats/libqjpeg.dylib Contents/MacOS/imageformats/
#cleanup
find Contents/Frameworks -name Headers -o -name \*.prl -o -name \*_debug | xargs rm -rf
find Contents -name \*_debug -o -name \*_debug.dylib | xargs rm

View File

@@ -23,50 +23,28 @@ then
fi
ROOT=`pwd`
QTDIR=`which qmake`
LINKDIR=`readlink $QTDIR`
QTDIR=`dirname $QTDIR`
QTDIR=$QTDIR/`dirname $LINKDIR`
QTDIR=`dirname $QTDIR`
test -L "$QTDIR" && QTDIR=`readlink $QTDIR`
echo "Goes here: $QTDIR"
export QMAKESPEC='macx-g++'
export QTDIR
export VERSION
export QTVERSION='4.7.2'
################################################################################
CLEAN='1'
BUILD='1'
NOTQUICK='1'
CREATEDMG='1'
VERSION=$1
header "Adding Qt to app bundle"
cd tomahawk.app
$ROOT/../admin/mac/add-Qt-to-bundle.sh \
'QtCore QtGui QtXml QtNetwork QtSql QtXmlPatterns QtWebKit phonon'
################################################################################
header "Running install_name_tool"
$ROOT/../admin/mac/deposx.sh
mv tomahawk.app Tomahawk.app
mv Tomahawk.app/Contents/MacOS/tomahawk Tomahawk.app/Contents/MacOS/Tomahawk
header "Renaming files"
header "Fixing and copying libraries"
$ROOT/../admin/mac/macdeploy.py Tomahawk.app quiet
cd Tomahawk.app
header "Renaming icon"
mv Contents/Resources/tomahawkSources.icns Contents/Resources/Tomahawk.icns
mv Contents/MacOS/tomahawk Contents/MacOS/Tomahawk
# cp $ROOT/../admin/mac/Info.plist Contents/Info.plist
cp $ROOT/../admin/mac/qt.conf Contents/Resources/qt.conf
header "Copying Sparkle pubkey & framework, and qt.conf"
cp $ROOT/../admin/mac/sparkle_pub.pem Contents/Resources
header "Copying Sparkle framework"
cp -R /Library/Frameworks/Sparkle.framework Contents/Frameworks
cp $ROOT/../admin/mac/qt.conf Contents/Resources
header "Creating DMG"
cd ..
mv tomahawk.app Tomahawk.app
$ROOT/../admin/mac/create-dmg.sh Tomahawk.app
mv Tomahawk.dmg Tomahawk-$VERSION.dmg

View File

@@ -1,131 +0,0 @@
#!/bin/sh
# author: max@last.fm, chris@last.fm
################################################################################
if [ -z $QTDIR ]
then
echo QTDIR must be set
exit 1
fi
if [ -z $QTVERSION ]
then
echo QTVERSION must be set
exit 1
fi
cd ..
ORIGROOT=`pwd`
cd -
cd Contents
QTLIBS=`ls Frameworks | cut -d. -f1`
LIBS=`cd MacOS && ls -fR1 | grep dylib`
################################################################################
function import_lib
{
echo "L \`$1'"
cp -R -L $1 MacOS/`basename $1`
chmod u+rw MacOS/`basename $1`
deplib_change MacOS/`basename $1`
deposx_change MacOS/`basename $1`
}
function deposx_change
{
echo "D \`$1'"
echo $QTDIR
for y in $QTLIBS
do
install_name_tool -change $QTDIR/lib/$y.framework/Versions/4/$y \
@executable_path/../Frameworks/$y.framework/Versions/4/$y \
"$1"
install_name_tool -change /usr/local/Cellar/qt/$QTVERSION/lib/$y.framework/Versions/4/$y \
@executable_path/../Frameworks/$y.framework/Versions/4/$y \
"$1"
done
for y in $LIBS
do
install_name_tool -change $y \
@executable_path/$y \
"$1"
done
}
function deplib_change
{
install_name_tool -change /usr/local/Cellar/liblastfm/0.3.3/lib/liblastfm.0.dylib @executable_path/liblastfm.0.dylib $1
install_name_tool -change /usr/local/Cellar/qjson/0.7.1/lib/libqjson.0.7.1.dylib @executable_path/libqjson.0.7.1.dylib $1
install_name_tool -change /usr/local/lib/libechonest.1.1.dylib @executable_path/libechonest.1.1.dylib $1
install_name_tool -change /usr/local/lib/libclucene-core.0.9.23.dylib @executable_path/libclucene-core.0.9.23.dylib $1
install_name_tool -change /usr/local/lib/libclucene-shared.0.9.23.dylib @executable_path/libclucene-shared.0.9.23.dylib $1
install_name_tool -change /usr/local/Cellar/gloox/1.0/lib/libgloox.8.dylib @executable_path/libgloox.8.dylib $1
install_name_tool -change /usr/local/Cellar/taglib/1.6.3/lib/libtag.1.dylib @executable_path/libtag.1.dylib $1
install_name_tool -change /usr/local/Cellar/libogg/1.2.0/lib/libogg.0.dylib @executable_path/libogg.0.dylib $1
install_name_tool -change /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbis.0.dylib @executable_path/libvorbis.0.dylib $1
install_name_tool -change /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbisfile.3.dylib @executable_path/libvorbisfile.3.dylib $1
install_name_tool -change /usr/local/Cellar/mad/0.15.1b/lib/libmad.0.dylib @executable_path/libmad.0.dylib $1
install_name_tool -change /usr/local/Cellar/flac/1.2.1/lib/libFLAC++.6.dylib @executable_path/libFLAC++.6.dylib $1
install_name_tool -change /usr/local/Cellar/flac/1.2.1/lib/libFLAC.8.dylib @executable_path/libFLAC.8.dylib $1
install_name_tool -change $ORIGROOT/src/libtomahawk/libtomahawklib.dylib @executable_path/libtomahawklib.dylib $1
install_name_tool -change $ORIGROOT/libtomahawk_sipjabber.dylib @executable_path/libtomahawk_sipjabber.dylib $1
install_name_tool -change $ORIGROOT/libtomahawk_siptwitter.dylib @executable_path/libtomahawk_siptwitter.dylib $1
install_name_tool -change $ORIGROOT/libtomahawk_sipzeroconf.dylib @executable_path/libtomahawk_sipzeroconf.dylib $1
install_name_tool -change $ORIGROOT/thirdparty/jdns/libtomahawk_jdns.dylib @executable_path/libtomahawk_jdns.dylib $1
install_name_tool -change $ORIGROOT/thirdparty/qtweetlib/libtomahawk_qtweetlib.dylib @executable_path/libtomahawk_qtweetlib.dylib $1
install_name_tool -change libqjson.0.7.1.dylib @executable_path/libqjson.0.7.1.dylib $1
install_name_tool -change libechonest.1.1.dylib @executable_path/libechonest.1.1.dylib $1
install_name_tool -change libclucene-core.0.9.23.dylib @executable_path/libclucene-core.0.9.23.dylib $1
install_name_tool -change libclucene-shared.0.9.23.dylib @executable_path/libclucene-shared.0.9.23.dylib $1
}
################################################################################
# first all libraries and executables
find MacOS -type f -a -perm -100 | while read x
do
echo $x
y=$(file "$x" | grep 'Mach-O')
deposx_change "$x"
deplib_change "$x"
done
import_lib /usr/local/Cellar/qjson/0.7.1/lib/libqjson.0.7.1.dylib
import_lib /usr/local/Cellar/liblastfm/0.3.3/lib/liblastfm.0.dylib
import_lib /usr/local/Cellar/gloox/1.0/lib/libgloox.8.dylib
import_lib /usr/local/Cellar/taglib/1.6.3/lib/libtag.1.dylib
import_lib /usr/local/Cellar/libogg/1.2.0/lib/libogg.0.dylib
import_lib /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbis.0.dylib
import_lib /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbisfile.3.dylib
import_lib /usr/local/Cellar/mad/0.15.1b/lib/libmad.0.dylib
import_lib /usr/local/Cellar/flac/1.2.1/lib/libFLAC++.6.dylib
import_lib /usr/local/Cellar/flac/1.2.1/lib/libFLAC.8.dylib
import_lib /usr/local/lib/libechonest.1.1.dylib
import_lib /usr/local/lib/libclucene-core.0.9.23.dylib
import_lib /usr/local/lib/libclucene-shared.0.9.23.dylib
import_lib ../../libtomahawk_sipjabber.dylib
import_lib ../../libtomahawk_siptwitter.dylib
import_lib ../../libtomahawk_sipzeroconf.dylib
import_lib ../../src/libtomahawk/libtomahawklib.dylib
import_lib ../../thirdparty/jdns/libtomahawk_jdns.dylib
import_lib ../../thirdparty/qtweetlib/libtomahawk_qtweetlib.dylib
# now Qt
for x in $QTLIBS
do
echo `pwd`
# ls -l Frameworks/$x.framework/Versions/4/$x
deposx_change Frameworks/$x.framework/Versions/4/$x
install_name_tool -id @executable_path/../Frameworks/$x.framework/Versions/4/$x \
Frameworks/$x.framework/Versions/4/$x
done

517
admin/mac/macdeploy.py Executable file
View File

@@ -0,0 +1,517 @@
#!/usr/bin/python
# This file is part of Clementine.
#
# Clementine is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Clementine is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Clementine. If not, see <http://www.gnu.org/licenses/>.
import os
import re
import subprocess
import sys
FRAMEWORK_SEARCH_PATH=[
'/Library/Frameworks',
os.path.join(os.environ['HOME'], 'Library/Frameworks')
]
LIBRARY_SEARCH_PATH=['/usr/local/lib', '/usr/local/Cellar/gettext/0.18.1.1/lib', '.']
VLC_PLUGINS=[
'access/libaccess_attachment_plugin.dylib',
#'access/libaccess_avio_plugin.dylib',
'access/libaccess_fake_plugin.dylib',
'access/libaccess_ftp_plugin.dylib',
'access/libaccess_http_plugin.dylib',
'access/libaccess_imem_plugin.dylib',
'access/libaccess_mmap_plugin.dylib',
'access/libaccess_mms_plugin.dylib',
'access/libaccess_realrtsp_plugin.dylib',
'access/libaccess_tcp_plugin.dylib',
'access/libaccess_udp_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',
'audio_filter/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/libfloat32_mixer_plugin.dylib',
'audio_mixer/libspdif_mixer_plugin.dylib',
'audio_mixer/libtrivial_mixer_plugin.dylib',
'audio_output/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',
'codec/libfake_plugin.dylib',
'codec/libflac_plugin.dylib',
'codec/libfluidsynth_plugin.dylib',
'codec/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',
'control/libhotkeys_plugin.dylib',
'control/libmotion_plugin.dylib',
'control/libnetsync_plugin.dylib',
'control/libsignals_plugin.dylib',
'demux/libaiff_plugin.dylib',
'demux/libasf_plugin.dylib',
'demux/libau_plugin.dylib',
#'demux/libavformat_plugin.dylib',
'demux/libavi_plugin.dylib',
'demux/libdemux_cdg_plugin.dylib',
'demux/libdemuxdump_plugin.dylib',
'demux/libdirac_plugin.dylib',
'demux/libes_plugin.dylib',
'demux/libflacsys_plugin.dylib',
'demux/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',
'misc/libaudioscrobbler_plugin.dylib',
'misc/libdummy_plugin.dylib',
'misc/libexport_plugin.dylib',
'misc/libfreetype_plugin.dylib',
'misc/libgnutls_plugin.dylib',
'misc/liblogger_plugin.dylib',
'misc/liblua_plugin.dylib',
'misc/libosd_parser_plugin.dylib',
'misc/libquartztext_plugin.dylib',
'misc/libstats_plugin.dylib',
'misc/libvod_rtsp_plugin.dylib',
'misc/libxml_plugin.dylib',
'misc/libxtag_plugin.dylib',
'mmx/libi420_rgb_mmx_plugin.dylib',
'mmx/libi420_yuy2_mmx_plugin.dylib',
'mmx/libi422_yuy2_mmx_plugin.dylib',
'mmx/libmemcpymmx_plugin.dylib',
'mmxext/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',
'sse2/libi420_rgb_sse2_plugin.dylib',
'sse2/libi420_yuy2_sse2_plugin.dylib',
'sse2/libi422_yuy2_sse2_plugin.dylib',
'stream_filter/libdecomp_plugin.dylib',
'stream_filter/libstream_filter_rar_plugin.dylib',
'stream_filter/libstream_filter_record_plugin.dylib',
'visualization/libvisual_plugin.dylib',
]
VLC_SEARCH_PATH=[
'/usr/local/lib/vlc/plugins/',
]
QT_PLUGINS = [
'crypto/libqca-ossl.dylib',
'phonon_backend/phonon_vlc.so',
'sqldrivers/libqsqlite.dylib',
'imageformats/libqgif.dylib',
'imageformats/libqico.dylib',
'imageformats/libqjpeg.dylib',
'imageformats/libqmng.dylib',
]
TOMAHAWK_PLUGINS = [
'libtomahawk_sipjabber.dylib',
'libtomahawk_sipgoogle.dylib',
'libtomahawk_siptwitter.dylib',
'libtomahawk_sipzeroconf.dylib',
'libtomahawk_qtweetlib.dylib',
]
QT_PLUGINS_SEARCH_PATH=[
'/usr/local/Cellar/qt/4.7.3/plugins',
]
class Error(Exception):
pass
class CouldNotFindQtPluginErrorFindFrameworkError(Error):
pass
class InstallNameToolError(Error):
pass
class CouldNotFindQtPluginError(Error):
pass
class CouldNotFindVLCPluginError(Error):
pass
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 = []
binary_dir = os.path.join(bundle_dir, 'Contents', 'MacOS')
frameworks_dir = os.path.join(bundle_dir, 'Contents', 'Frameworks')
commands.append(['mkdir', '-p', frameworks_dir])
resources_dir = os.path.join(bundle_dir, 'Contents', 'Resources')
commands.append(['mkdir', '-p', resources_dir])
plugins_dir = os.path.join(bundle_dir, 'Contents', 'PlugIns')
binary = os.path.join(bundle_dir, 'Contents', 'MacOS', bundle_name)
fixed_libraries = []
fixed_frameworks = []
def GetBrokenLibraries(binary):
#print "Checking libs for binary: %s" % binary
output = subprocess.Popen(['otool', '-L', binary], stdout=subprocess.PIPE).communicate()[0]
broken_libs = {
'frameworks': [],
'libs': []}
for line in [x.split(' ')[0].lstrip() for x in output.split('\n')[1:]]:
#print "Checking line: %s" % line
if not line: # skip empty lines
continue
if os.path.basename(binary) == os.path.basename(line):
#print "mnope %s-%s" % (os.path.basename(binary), os.path.basename(line))
continue
if re.match(r'^\s*/System/', line):
continue # System framework
elif re.match(r'^\s*/usr/lib/', line):
#print "unix style system lib"
continue # unix style system library
elif re.match(r'Breakpad', line):
continue # Manually added by cmake.
elif re.match(r'^\s*@executable_path', line) or re.match(r'^\s*@loader_path', line):
# Potentially already fixed library
if '.framework' in line:
relative_path = os.path.join(*line.split('/')[3:])
if not os.path.exists(os.path.join(frameworks_dir, relative_path)):
broken_libs['frameworks'].append(relative_path)
else:
relative_path = os.path.join(*line.split('/')[1:])
#print "RELPATH %s %s" % (relative_path, os.path.join(binary_dir, relative_path))
if not os.path.exists(os.path.join(binary_dir, relative_path)):
broken_libs['libs'].append(relative_path)
elif re.search(r'\w+\.framework', line):
broken_libs['frameworks'].append(line)
else:
broken_libs['libs'].append(line)
return broken_libs
def FindFramework(path):
for search_path in FRAMEWORK_SEARCH_PATH:
abs_path = os.path.join(search_path, path)
if os.path.exists(abs_path):
return abs_path
raise CouldNotFindFrameworkError(path)
def FindLibrary(path):
if os.path.exists(path):
return path
for search_path in LIBRARY_SEARCH_PATH:
abs_path = os.path.join(search_path, path)
if os.path.exists(abs_path):
return abs_path
else: # try harder---look for lib name in library folders
newpath = os.path.join(search_path,os.path.basename(path))
if os.path.exists(newpath):
return newpath
return ""
#raise CouldNotFindFrameworkError(path)
def FixAllLibraries(broken_libs):
for framework in broken_libs['frameworks']:
FixFramework(framework)
for lib in broken_libs['libs']:
FixLibrary(lib)
def FixFramework(path):
if path in fixed_libraries:
return
else:
fixed_libraries.append(path)
abs_path = FindFramework(path)
broken_libs = GetBrokenLibraries(abs_path)
FixAllLibraries(broken_libs)
new_path = CopyFramework(abs_path)
id = os.sep.join(new_path.split(os.sep)[3:])
FixFrameworkId(new_path, id)
for framework in broken_libs['frameworks']:
FixFrameworkInstallPath(framework, new_path)
for library in broken_libs['libs']:
FixLibraryInstallPath(library, new_path)
def FixLibrary(path):
if path in fixed_libraries or FindSystemLibrary(os.path.basename(path)) is not None:
return
else:
fixed_libraries.append(path)
abs_path = FindLibrary(path)
if abs_path == "":
print "Could not resolve %s, not fixing!" % path
return
broken_libs = GetBrokenLibraries(abs_path)
FixAllLibraries(broken_libs)
new_path = CopyLibrary(abs_path)
FixLibraryId(new_path)
for framework in broken_libs['frameworks']:
FixFrameworkInstallPath(framework, new_path)
for library in broken_libs['libs']:
FixLibraryInstallPath(library, new_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:]))
plugindir = abs_path.split('/')[-2]
new_path = os.path.join(plugins_dir, subdir, plugindir, 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]
commands.append(args)
args = ['chmod', 'u+w', new_path]
commands.append(args)
for framework in broken_libs['frameworks']:
FixFrameworkInstallPath(framework, new_path)
for library in broken_libs['libs']:
FixLibraryInstallPath(library, new_path)
def FixPlugin(abs_path, subdir):
broken_libs = GetBrokenLibraries(abs_path)
FixAllLibraries(broken_libs)
new_path = CopyPlugin(abs_path, subdir)
for framework in broken_libs['frameworks']:
FixFrameworkInstallPath(framework, new_path)
for library in broken_libs['libs']:
FixLibraryInstallPath(library, new_path)
def FixBinary(path):
broken_libs = GetBrokenLibraries(path)
FixAllLibraries(broken_libs)
for framework in broken_libs['frameworks']:
FixFrameworkInstallPath(framework, path)
for library in broken_libs['libs']:
FixLibraryInstallPath(library, path)
def CopyLibrary(path):
new_path = os.path.join(frameworks_dir, os.path.basename(path))
args = ['ditto', '--arch=i386', '--arch=x86_64', path, new_path]
commands.append(args)
args = ['chmod', 'u+w', new_path]
commands.append(args)
return new_path
def CopyPlugin(path, subdir):
new_path = os.path.join(plugins_dir, subdir, os.path.basename(path))
args = ['mkdir', '-p', os.path.dirname(new_path)]
commands.append(args)
args = ['ditto', '--arch=i386', '--arch=x86_64', path, new_path]
commands.append(args)
args = ['chmod', 'u+w', new_path]
commands.append(args)
return new_path
def CopyFramework(path):
parts = path.split(os.sep)
for i, part in enumerate(parts):
if re.match(r'\w+\.framework', part):
full_path = os.path.join(frameworks_dir, *parts[i:-1])
break
args = ['mkdir', '-p', full_path]
commands.append(args)
args = ['ditto', '--arch=i386', '--arch=x86_64', path, full_path]
commands.append(args)
args = ['chmod', 'u+w', os.path.join(full_path, parts[-1])]
commands.append(args)
menu_nib = os.path.join(os.path.split(path)[0], 'Resources', 'qt_menu.nib')
if os.path.exists(menu_nib):
args = ['cp', '-r', menu_nib, resources_dir]
commands.append(args)
return os.path.join(full_path, parts[-1])
def FixId(path, library_name):
id = '@executable_path/../Frameworks/%s' % library_name
args = ['install_name_tool', '-id', id, path]
commands.append(args)
def FixLibraryId(path):
library_name = os.path.basename(path)
FixId(path, library_name)
def FixFrameworkId(path, id):
FixId(path, id)
def FixInstallPath(library_path, library, new_path):
args = ['install_name_tool', '-change', library_path, new_path, library]
commands.append(args)
def FindSystemLibrary(library_name):
for path in ['/lib', '/usr/lib']:
full_path = os.path.join(path, library_name)
if os.path.exists(full_path):
return full_path
return None
def FixLibraryInstallPath(library_path, library):
system_library = FindSystemLibrary(os.path.basename(library_path))
if system_library is None:
new_path = '@executable_path/../Frameworks/%s' % os.path.basename(library_path)
FixInstallPath(library_path, library, new_path)
else:
FixInstallPath(library_path, library, system_library)
def FixFrameworkInstallPath(library_path, library):
parts = library_path.split(os.sep)
for i, part in enumerate(parts):
if re.match(r'\w+\.framework', part):
full_path = os.path.join(*parts[i:])
break
new_path = '@executable_path/../Frameworks/%s' % full_path
FixInstallPath(library_path, library, new_path)
def FindQtPlugin(name):
for path in QT_PLUGINS_SEARCH_PATH:
if os.path.exists(path):
if os.path.exists(os.path.join(path, name)):
return os.path.join(path, name)
raise CouldNotFindQtPluginError(name)
def FindVLCPlugin(name):
for path in VLC_SEARCH_PATH:
if os.path.exists(path):
if os.path.exists(os.path.join(path, name)):
return os.path.join(path, name)
raise CouldNotFindVLCPluginError(name)
FixBinary(binary)
for plugin in VLC_PLUGINS:
FixVLCPlugin(FindVLCPlugin(plugin), '.')
for plugin in TOMAHAWK_PLUGINS:
FixPlugin(plugin, '../MacOS')
try:
FixPlugin('spotify_tomahawkresolver', '../MacOS')
except:
print 'Failed to find spotify resolver'
for plugin in QT_PLUGINS:
FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
if len(sys.argv) <= 2:
print 'Would run %d commands:' % len(commands)
for command in commands:
print ' '.join(command)
print 'OK?'
raw_input()
for command in commands:
p = subprocess.Popen(command)
os.waitpid(p.pid, 0)

View File

@@ -2,16 +2,24 @@
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Tomahawk Player Changelog</title>
<link>http://download.tomahawk-player.org/sparkle</link>
<description>Most recent changes with links to updates.</description>
<link>http://www.gettomahawk.com</link>
<description>Tomahawk Player Beta</description>
<language>en</language>
<item>
<title>Version 0.0.1 (Tomahawk Player - It Lives!)</title>
<title>Version 0.0.1 (Tomahawk Player Beta - It Lives?)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/raw/master/ChangeLog
https://github.com/tomahawk-player/tomahawk/raw/0.0.1/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Fri, 04 Mar 2011 16:05:15 -0500</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparkle-debug/updates/tomahawk-beta-0.0.1.tar.bz2" sparkle:version="0.0.1" length="10627176" type="application/octet-stream" sparkle:dsaSignature="MC0CFAyYNZq58X7hPC7Qn+DtotVgym7pAhUA5hkLGllYxjOwwCf7i2LxUsvGyps=" />
<pubDate>Fri, 25 Mar 2011 00:00:01 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparkle-debug/updates/tomahawk-0.0.1.tar.bz2" sparkle:version="0.0.1" length="10627176" type="application/octet-stream" sparkle:dsaSignature="MC0CFAyYNZq58X7hPC7Qn+DtotVgym7pAhUA5hkLGllYxjOwwCf7i2LxUsvGyps=" />
</item>
<item>
<title>Version 0.0.2 (Tomahawk Player Beta - It Lives?)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/raw/0.0.2/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Mon, 28 Mar 2011 06:13:01 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparkle/updates/tomahawk-0.0.2.tar.bz2" sparkle:version="0.0.2" length="19831287" type="application/octet-stream" sparkle:dsaSignature="MC0CFC0Hwq9x9BWMF/8sA+c5KfzKoBzFAhUAk9r0IJlxQf9qEJk4IL6bbTWTiuI=" />
</item>
</channel>
</rss>

View File

@@ -2,16 +2,24 @@
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Tomahawk Player Changelog</title>
<link>http://download.tomahawk-player.org/sparkle</link>
<description>Most recent changes with links to updates.</description>
<link>http://www.gettomahawk.com</link>
<description>Tomahawk Player</description>
<language>en</language>
<item>
<title>Version 0.0.1 (Tomahawk Player - It Lives!)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/raw/master/ChangeLog
https://github.com/tomahawk-player/tomahawk/raw/0.0.1/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Fri, 04 Mar 2011 16:05:15 -0500</pubDate>
<pubDate>Fri, 25 Mar 2011 00:00:01 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparkle/updates/tomahawk-0.0.1.tar.bz2" sparkle:version="0.0.1" length="10627176" type="application/octet-stream" sparkle:dsaSignature="MC0CFAyYNZq58X7hPC7Qn+DtotVgym7pAhUA5hkLGllYxjOwwCf7i2LxUsvGyps=" />
</item>
<item>
<title>Version 0.0.2 (Tomahawk Player - It Lives!)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/raw/0.0.2/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Mon, 28 Mar 2011 06:13:01 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparkle/updates/tomahawk-0.0.2.tar.bz2" sparkle:version="0.0.2" length="19831287" type="application/octet-stream" sparkle:dsaSignature="MC0CFC0Hwq9x9BWMF/8sA+c5KfzKoBzFAhUAk9r0IJlxQf9qEJk4IL6bbTWTiuI=" />
</item>
</channel>
</rss>

View File

@@ -0,0 +1,11 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Tomahawk
GenericName=Music Player
TryExec=tomahawk
Exec=tomahawk
Comment=Tomahawk - Social Music Player
Icon=tomahawk
Terminal=false
Categories=Qt;AudioVideo;Audio;Player;

View File

@@ -1,5 +1,5 @@
[Protocol]
exec=/home/leo/kde/tomahawk/build/tomahawk "%u"
exec=/path/to/binary "%u"
protocol=tomahawk
input=none
output=none

View File

View File

@@ -1,20 +1,27 @@
SET(MINGW_PREFIX "i686-w64-mingw32")
# this one is important
SET(CMAKE_SYSTEM_NAME Windows)
# specify the cross compiler
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
SET(CMAKE_C_COMPILER ccache ${MINGW_PREFIX}-gcc)
SET(CMAKE_CXX_COMPILER ccache ${MINGW_PREFIX}-g++)
SET(CMAKE_RC_COMPILER /usr/bin/${MINGW_PREFIX}-windres)
# where is the target environment containing libraries
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32/sys-root/mingw)
SET(CMAKE_FIND_ROOT_PATH /usr/${MINGW_PREFIX}/sys-root/mingw)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# windres executable for application icon support
SET(WINDRES_EXECUTABLE /usr/bin/i686-w64-mingw32-windres)
# libs with broken find modules
SET(TAGLIB_FOUND true)
SET(TAGLIB_LIBRARIES ${CMAKE_FIND_ROOT_PATH}/lib/libtag.dll.a)
SET(TAGLIB_INCLUDES ${CMAKE_FIND_ROOT_PATH}/include/taglib)
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins/)
SET(QT_QTUITOOLS_LIBRARY_RELEASE ${CMAKE_FIND_ROOT_PATH}/lib/libQtUiTools.a)
SET(QT_QTUITOOLS_LIBRARY_DEBUG ${CMAKE_FIND_ROOT_PATH}/lib/libQtUiToolsd.a)
SET(QT_QTUITOOLS_LIBRARY ${QT_QTUITOOLS_LIBRARY_RELEASE})

2
admin/win/nsi/RELEASE_NOTES.txt Executable file → Normal file
View File

@@ -1 +1 @@
TO DO
See http://github.com/tomahawk-player/tomahawk/blob/stable/ChangeLog

0
admin/win/nsi/installer.ico Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

View File

@@ -0,0 +1,35 @@
{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;}
{\f172\froman\fcharset238\fprq2 Times New Roman CE;}{\f173\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f175\froman\fcharset161\fprq2 Times New Roman Greek;}{\f176\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f177\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f178\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f179\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f180\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\f562\fswiss\fcharset238\fprq2 Verdana CE;}{\f563\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f565\fswiss\fcharset161\fprq2 Verdana Greek;}{\f566\fswiss\fcharset162\fprq2 Verdana Tur;}{\f569\fswiss\fcharset186\fprq2 Verdana Baltic;}
{\f570\fswiss\fcharset163\fprq2 Verdana (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;
\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\*\cs15 \additive \ul\cf2 \sbasedon10 \styrsid7485074 Hyperlink;}}
{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid6712196\rsid7485074\rsid11352300\rsid15940516}{\*\generator Microsoft Word 11.0.5604;}{\info{\title Processes v1}{\author Hardwired}{\operator Hardwired}{\creatim\yr2004\mo12\dy12\hr23\min42}
{\revtim\yr2004\mo12\dy12\hr23\min51}{\version2}{\edmins9}{\nofpages1}{\nofwords80}{\nofchars458}{\nofcharsws537}{\vern24689}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180
\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot7485074\newtblstyruls\nogrowautofit \fet0\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain
\qj \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7485074 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f39\insrsid7485074\charrsid7485074 Processes v1.0}{\f39\insrsid7485074\charrsid7485074 .0.1
\par }{\f39\fs20\insrsid7485074
\par }\pard \qj \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15940516 {\f39\fs20\insrsid15940516 This software binaries and source-code are free for any kind of use, including commercial use. }{
\f39\fs20\insrsid7485074\charrsid7485074 There is no restriction and no guaranty for using}{\f39\fs20\insrsid7485074\charrsid7485074 t}{\f39\fs20\insrsid7485074\charrsid7485074 his software}{\f39\fs20\insrsid7485074\charrsid7485074 and/or it
s source-code. }{\f39\fs20\insrsid15940516
\par I}{\f39\fs20\insrsid7485074\charrsid7485074 f you use the plug}{\f39\fs20\insrsid7485074\charrsid7485074 -}{\f39\fs20\insrsid7485074\charrsid7485074 in }{\f39\fs20\insrsid7485074\charrsid7485074 and/}{\f39\fs20\insrsid7485074\charrsid7485074 or it}{
\f39\fs20\insrsid7485074\charrsid7485074 s}{\f39\fs20\insrsid7485074\charrsid7485074 source-code, I would }{\f39\fs20\insrsid7485074\charrsid7485074 appreciate }{\f39\fs20\insrsid7485074\charrsid7485074 if my name is mentioned.}{
\f39\fs20\insrsid7485074\charrsid7485074
\par }\pard \qj \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7485074 {\f39\fs20\insrsid7485074\charrsid7485074
\par }{\b\f39\fs20\insrsid7485074\charrsid7485074 Andrei Ciubotaru [Hardwired]
\par }{\f39\fs20\insrsid7485074\charrsid7485074 Lead Developer ICode&Ideas SRL (}{\field\flddirty{\*\fldinst {\f39\fs20\insrsid7485074\charrsid7485074 HYPERLINK "http://www.icode.ro/" }{\f39\fs20\insrsid7485074\charrsid7485074 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001500000068007400740070003a002f002f007700770077002e00690063006f00640065002e0072006f002f000000e0c9ea79f9bace118c8200aa004ba90b2a00000068007400740070003a002f002f007700770077002e00690063006f00640065002e007200
6f002f000000}}}{\fldrslt {\cs15\f39\fs20\ul\cf2\insrsid7485074\charrsid7485074 http://www.icode.ro/}}}{\f39\fs20\insrsid7485074\charrsid7485074 )
\par }{\field{\*\fldinst {\f39\fs20\insrsid7485074 HYPERLINK "hardwiredteks@gmail.com" }{\f39\fs20\insrsid15940516\charrsid7485074 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b02000000010000000303000000000000c00000000000004600001800000068617264776972656474656b7340676d61696c2e636f6d00ffffadde000000000000000000000000000000000000000000000000}}}{\fldrslt {
\cs15\f39\fs20\ul\cf2\insrsid7485074\charrsid7485074 hardwiredteks@gmail.com}}}{\f39\fs20\insrsid7485074\charrsid7485074 , }{\field{\*\fldinst {\f39\fs20\insrsid7485074 HYPERLINK "hardwired@icode.ro" }{\f39\fs20\insrsid15940516\charrsid7485074
{\*\datafield 00d0c9ea79f9bace118c8200aa004ba90b02000000010000000303000000000000c0000000000000460000130000006861726477697265644069636f64652e726f00ffffadde000000000000000000000000000000000000000000000000}}}{\fldrslt {
\cs15\f39\fs20\ul\cf2\insrsid7485074\charrsid7485074 hardwired@icode.ro}}}{\f39\fs20\insrsid7485074\charrsid7485074
\par }}

View File

@@ -0,0 +1,122 @@
----------------------------------------------------------------
----------------------------------------------------------------
Processes (Processes.dll)
Version: 1.0.1.0
Release: 24.february.2005
Description: Nullsoft Installer (NSIS) plug-in for managing?!
Windows processes.
Copyright: <09> 2004-2005 Hardwired. No rights reserved.
There is no restriction and no guaranty for using
this software.
Author: Andrei Ciubotaru [Hardwired]
Lead Developer ICode&Ideas SRL (http://www.icode.ro/)
hardwiredteks@gmail.com, hardwired@icode.ro
----------------------------------------------------------------
----------------------------------------------------------------
INTRODUCTION
The Need For Plug-in - I need it for the one of my installers.
Briefly: Use it when you need to find\kill a process when
installing\uninstalling some application. Also, use it when you
need to test the presence of a device driver.
SUPPORT
Supported platforms are: WinNT,Win2K,WinXP and Win2003 Server.
DESCRIPTION
Processes::FindProcess <process_name> ;without ".exe"
Searches the currently running processes for the given
process name.
return: 1 - the process was found
0 - the process was not found
Processes::KillProcess <process_name> ; without ".exe"
Searches the currently running processes for the given
process name. If the process is found then the it gets
killed.
return: 1 - the process was found and killed
0 - the process was not found or the process
cannot be killed (insuficient rights)
Processes::FindDevice <device_base_name>
Searches the installed devices drivers for the given
device base name.
(important: I said BASE NAME not FILENAME)
return: 1 - the device driver was found
0 - the device driver was not found
USAGE
First of all, does not matter where you use it. Ofcourse, the
routines must be called inside of a Section/Function scope.
Processes::FindProcess "process_name"
Pop $R0
StrCmp $R0 "1" make_my_day noooooo
make_my_day:
...
noooooo:
...
Processes::KillProcess "process_name"
Pop $R0
StrCmp $R0 "1" dead_meat why_wont_you_die
dead_meat:
...
why_wont_you_die:
...
Processes::FindDevice "device_base_name"
Pop $R0
StrCmp $R0 "1" blabla more_blabla
blabla:
...
more_blabla:
...
THANKS
Sunil Kamath for inspiring me. I wanted to use its FindProcDLL
but my requirements made it imposible.
Nullsoft for creating this very powerfull installer. One big,
free and full-featured (hmmm... and guiless for the moment) mean
install machine!:)
ME for being such a great coder...
... HAHAHAHAHAHAHA!
ONE MORE THING
If you use the plugin or it's source-code, I would apreciate
if my name is mentioned.
----------------------------------------------------------------
----------------------------------------------------------------

View File

@@ -0,0 +1,8 @@
// stdafx.cpp : source file that includes just the standard includes
// KillProcDLL.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"
// TODO: reference any additional headers you need in STDAFX.H
// and not in this file

View File

@@ -0,0 +1,34 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__780690DC_E128_403D_BC07_780D1B2CC101__INCLUDED_)
#define AFX_STDAFX_H__780690DC_E128_403D_BC07_780D1B2CC101__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <string> // String management...
//From exam28.cpp
#include <tlhelp32.h>
//#include <iostream.h>
#ifdef BORLANDC
#include <string.h>
#include <ctype.h>
#endif
//To make it a NSIS Plug-In
#include "exdll.h"
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__780690DC_E128_403D_BC07_780D1B2CC101__INCLUDED_)

View File

@@ -0,0 +1,37 @@
#include <windows.h>
#include "exdll.h"
HINSTANCE g_hInstance;
HWND g_hwndParent;
void __declspec(dllexport) myFunction(HWND hwndParent, int string_size,
char *variables, stack_t **stacktop)
{
g_hwndParent=hwndParent;
EXDLL_INIT();
// note if you want parameters from the stack, pop them off in order.
// i.e. if you are called via exdll::myFunction file.dat poop.dat
// calling popstring() the first time would give you file.dat,
// and the second time would give you poop.dat.
// you should empty the stack of your parameters, and ONLY your
// parameters.
// do your stuff here
{
char buf[1024];
wsprintf(buf,"$0=%s\n",getuservariable(INST_0));
MessageBox(g_hwndParent,buf,0,MB_OK);
}
}
BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
{
g_hInstance=hInst;
return TRUE;
}

View File

@@ -0,0 +1,136 @@
#ifndef _EXDLL_H_
#define _EXDLL_H_
//
// only include this file from one place in your DLL.
// (it is all static, if you use it in two places it will fail)
//
#define EXDLL_INIT() { \
g_stringsize = string_size; \
g_stacktop = stacktop; \
g_variables = variables; }
//
// For page showing plug-ins
//
#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
#define NOTIFY_BYE_BYE 'x'
typedef struct _stack_t
{
struct _stack_t *next;
char text[1]; // this should be the length of string_size
} stack_t;
static unsigned int g_stringsize;
static stack_t **g_stacktop;
static char *g_variables;
enum
{
INST_0, // $0
INST_1, // $1
INST_2, // $2
INST_3, // $3
INST_4, // $4
INST_5, // $5
INST_6, // $6
INST_7, // $7
INST_8, // $8
INST_9, // $9
INST_R0, // $R0
INST_R1, // $R1
INST_R2, // $R2
INST_R3, // $R3
INST_R4, // $R4
INST_R5, // $R5
INST_R6, // $R6
INST_R7, // $R7
INST_R8, // $R8
INST_R9, // $R9
INST_CMDLINE, // $CMDLINE
INST_INSTDIR, // $INSTDIR
INST_OUTDIR, // $OUTDIR
INST_EXEDIR, // $EXEDIR
INST_LANG, // $LANGUAGE
__INST_LAST
};
//
// utility functions (not required but often useful)
//
static int popstring( char *str )
{
stack_t *th;
if( !g_stacktop ||
!*g_stacktop )
return 1;
th = (*g_stacktop);
lstrcpy( str, th->text );
*g_stacktop = th->next;
GlobalFree( (HGLOBAL)th );
return 0;
}
static void pushstring( char *str )
{
stack_t *th;
if( !g_stacktop )
return;
th = (stack_t*)GlobalAlloc( GPTR, sizeof(stack_t) + g_stringsize );
lstrcpyn( th->text, str, g_stringsize );
th->next = *g_stacktop;
*g_stacktop = th;
}
static char *getuservariable( int varnum )
{
if( varnum < 0 ||
varnum >= __INST_LAST )
return NULL;
return (g_variables + varnum*g_stringsize);
}
static void setuservariable( int varnum, char *var )
{
if( var != NULL &&
varnum >= 0 &&
varnum < __INST_LAST )
lstrcpy( g_variables + varnum*g_stringsize, var );
}
#endif//_EXDLL_H_

View File

@@ -0,0 +1,411 @@
#include "stdafx.h"
#include "processes.h"
#include "string.h"
//-------------------------------------------------------------------------------------------
// global variables
lpfEnumProcesses EnumProcesses;
lpfEnumProcessModules EnumProcessModules;
lpfGetModuleBaseName GetModuleBaseName;
lpfEnumDeviceDrivers EnumDeviceDrivers;
lpfGetDeviceDriverBaseName GetDeviceDriverBaseName;
HINSTANCE g_hInstance;
HWND g_hwndParent;
HINSTANCE g_hInstLib;
//-------------------------------------------------------------------------------------------
// main DLL entry
BOOL WINAPI _DllMainCRTStartup( HANDLE hInst,
ULONG ul_reason_for_call,
LPVOID lpReserved )
{
g_hInstance = (struct HINSTANCE__ *)hInst;
return TRUE;
}
//-------------------------------------------------------------------------------------------
// loads the psapi routines
bool LoadPSAPIRoutines( void )
{
if( NULL == (g_hInstLib = LoadLibraryA( "PSAPI.DLL" )) )
return false;
EnumProcesses = (lpfEnumProcesses) GetProcAddress( g_hInstLib, "EnumProcesses" );
EnumProcessModules = (lpfEnumProcessModules) GetProcAddress( g_hInstLib, "EnumProcessModules" );
GetModuleBaseName = (lpfGetModuleBaseName) GetProcAddress( g_hInstLib, "GetModuleBaseNameA" );
EnumDeviceDrivers = (lpfEnumDeviceDrivers) GetProcAddress( g_hInstLib, "EnumDeviceDrivers" );
GetDeviceDriverBaseName = (lpfGetDeviceDriverBaseName) GetProcAddress( g_hInstLib, "GetDeviceDriverBaseNameA" );
if( ( NULL == EnumProcesses ) ||
( NULL == EnumProcessModules ) ||
( NULL == EnumDeviceDrivers ) ||
( NULL == GetModuleBaseName ) ||
( NULL == GetDeviceDriverBaseName ) )
{
FreeLibrary( g_hInstLib );
return false;
}
return true;
}
//-------------------------------------------------------------------------------------------
// free the psapi routines
bool FreePSAPIRoutines( void )
{
EnumProcesses = NULL;
EnumProcessModules = NULL;
GetModuleBaseName = NULL;
EnumDeviceDrivers = NULL;
if( FALSE == FreeLibrary( g_hInstLib ) )
return false;
return true;
}
//-------------------------------------------------------------------------------------------
// find a process by name
// return value: true - process was found
// false - process not found
bool FindProc( char *szProcess )
{
char szProcessName[ 1024 ];
char szCurrentProcessName[ 1024 ];
DWORD dPID[ 1024 ];
DWORD dPIDSize( 1024 );
DWORD dSize( 1024 );
HANDLE hProcess;
HMODULE phModule[ 1024 ];
//
// make the name lower case
//
memset( szProcessName, 0, 1024*sizeof(char) );
sprintf( szProcessName, "%s", szProcess );
strlwr( szProcessName );
//
// load PSAPI routines
//
if( false == LoadPSAPIRoutines() )
return false;
//
// enumerate processes names
//
if( FALSE == EnumProcesses( dPID, dSize, &dPIDSize ) )
{
FreePSAPIRoutines();
return false;
}
//
// walk trough and compare see if the process is running
//
for( int k( dPIDSize / sizeof( DWORD ) ); k >= 0; k-- )
{
memset( szCurrentProcessName, 0, 1024*sizeof(char) );
if( NULL != ( hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, dPID[ k ] ) ) )
{
if( TRUE == EnumProcessModules( hProcess, phModule, sizeof(HMODULE)*1024, &dPIDSize ) )
if( GetModuleBaseName( hProcess, phModule[ 0 ], szCurrentProcessName, 1024 ) > 0 )
{
strlwr( szCurrentProcessName );
if( NULL != strstr( szCurrentProcessName, szProcessName ) )
{
FreePSAPIRoutines();
CloseHandle( hProcess );
return true;
}
}
CloseHandle( hProcess );
}
}
//
// free PSAPI routines
//
FreePSAPIRoutines();
return false;
}
//-------------------------------------------------------------------------------------------
// kills a process by name
// return value: true - process was found
// false - process not found
bool KillProc( char *szProcess )
{
char szProcessName[ 1024 ];
char szCurrentProcessName[ 1024 ];
DWORD dPID[ 1024 ];
DWORD dPIDSize( 1024 );
DWORD dSize( 1024 );
HANDLE hProcess;
HMODULE phModule[ 1024 ];
//
// make the name lower case
//
memset( szProcessName, 0, 1024*sizeof(char) );
sprintf( szProcessName, "%s", szProcess );
strlwr( szProcessName );
//
// load PSAPI routines
//
if( false == LoadPSAPIRoutines() )
return false;
//
// enumerate processes names
//
if( FALSE == EnumProcesses( dPID, dSize, &dPIDSize ) )
{
FreePSAPIRoutines();
return false;
}
//
// walk trough and compare see if the process is running
//
for( int k( dPIDSize / sizeof( DWORD ) ); k >= 0; k-- )
{
memset( szCurrentProcessName, 0, 1024*sizeof(char) );
if( NULL != ( hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, dPID[ k ] ) ) )
{
if( TRUE == EnumProcessModules( hProcess, phModule, sizeof(HMODULE)*1024, &dPIDSize ) )
if( GetModuleBaseName( hProcess, phModule[ 0 ], szCurrentProcessName, 1024 ) > 0 )
{
strlwr( szCurrentProcessName );
if( NULL != strstr( szCurrentProcessName, szProcessName ) )
{
FreePSAPIRoutines();
//
// kill process
//
if( false == TerminateProcess( hProcess, 0 ) )
{
CloseHandle( hProcess );
return true;
}
//
// refresh systray
//
UpdateWindow( FindWindow( NULL, "Shell_TrayWnd" ) );
//
// refresh desktop window
//
UpdateWindow( GetDesktopWindow() );
CloseHandle( hProcess );
return true;
}
}
CloseHandle( hProcess );
}
}
//
// free PSAPI routines
//
FreePSAPIRoutines();
return false;
}
//-------------------------------------------------------------------------------------------
bool FindDev( char *szDriverName )
{
char szDeviceName[ 1024 ];
char szCurrentDeviceName[ 1024 ];
LPVOID lpDevices[ 1024 ];
DWORD dDevicesSize( 1024 );
DWORD dSize( 1024 );
TCHAR tszCurrentDeviceName[ 1024 ];
DWORD dNameSize( 1024 );
//
// make the name lower case
//
memset( szDeviceName, 0, 1024*sizeof(char) );
sprintf( szDeviceName, "%s", strlwr( szDriverName ) );
//
// load PSAPI routines
//
if( false == LoadPSAPIRoutines() )
return false;
//
// enumerate devices
//
if( FALSE == EnumDeviceDrivers( lpDevices, dSize, &dDevicesSize ) )
{
FreePSAPIRoutines();
return false;
}
//
// walk trough and compare see if the device driver exists
//
for( int k( dDevicesSize / sizeof( LPVOID ) ); k >= 0; k-- )
{
memset( szCurrentDeviceName, 0, 1024*sizeof(char) );
memset( tszCurrentDeviceName, 0, 1024*sizeof(TCHAR) );
if( 0 != GetDeviceDriverBaseName( lpDevices[ k ], tszCurrentDeviceName, dNameSize ) )
{
sprintf( szCurrentDeviceName, "%S", tszCurrentDeviceName );
if( 0 == strcmp( strlwr( szCurrentDeviceName ), szDeviceName ) )
{
FreePSAPIRoutines();
return true;
}
}
}
//
// free PSAPI routines
//
FreePSAPIRoutines();
return false;
}
//-------------------------------------------------------------------------------------------
extern "C" __declspec(dllexport) void FindProcess( HWND hwndParent,
int string_size,
char *variables,
stack_t **stacktop )
{
char szParameter[ 1024 ];
g_hwndParent = hwndParent;
EXDLL_INIT();
{
popstring( szParameter );
if( true == FindProc( szParameter ) )
wsprintf( szParameter, "1" );
else
wsprintf( szParameter, "0" );
setuservariable( INST_R0, szParameter );
}
}
//-------------------------------------------------------------------------------------------
extern "C" __declspec(dllexport) void KillProcess( HWND hwndParent,
int string_size,
char *variables,
stack_t **stacktop )
{
char szParameter[ 1024 ];
g_hwndParent = hwndParent;
EXDLL_INIT();
{
popstring( szParameter );
if( true == KillProc( szParameter ) )
wsprintf( szParameter, "1" );
else
wsprintf( szParameter, "0" );
setuservariable( INST_R0, szParameter );
}
}
//-------------------------------------------------------------------------------------------
extern "C" __declspec(dllexport) void FindDevice( HWND hwndParent,
int string_size,
char *variables,
stack_t **stacktop )
{
char szParameter[ 1024 ];
g_hwndParent = hwndParent;
EXDLL_INIT();
{
popstring( szParameter );
if( true == FindDev( szParameter ) )
wsprintf( szParameter, "1" );
else
wsprintf( szParameter, "0" );
setuservariable( INST_R0, szParameter );
}
}

View File

@@ -0,0 +1,49 @@
#pragma once
//-------------------------------------------------------------------------------------------
// PSAPI function pointers
typedef BOOL (WINAPI *lpfEnumProcesses) ( DWORD *, DWORD, DWORD * );
typedef BOOL (WINAPI *lpfEnumProcessModules) ( HANDLE, HMODULE *, DWORD, LPDWORD );
typedef DWORD (WINAPI *lpfGetModuleBaseName) ( HANDLE, HMODULE, LPTSTR, DWORD );
typedef BOOL (WINAPI *lpfEnumDeviceDrivers) ( LPVOID *, DWORD, LPDWORD );
typedef BOOL (WINAPI *lpfGetDeviceDriverBaseName)( LPVOID, LPTSTR, DWORD );
//-------------------------------------------------------------------------------------------
// Internal use routines
bool LoadPSAPIRoutines( void );
bool FreePSAPIRoutines( void );
bool FindProc( char *szProcess );
bool KillProc( char *szProcess );
bool FindDev( char *szDriverName );
//-------------------------------------------------------------------------------------------
// Exported routines
extern "C" __declspec(dllexport) void FindProcess( HWND hwndParent,
int string_size,
char *variables,
stack_t **stacktop );
extern "C" __declspec(dllexport) void KillProcess( HWND hwndParent,
int string_size,
char *variables,
stack_t **stacktop );
extern "C" __declspec(dllexport) void FindDevice( HWND hwndParent,
int string_size,
char *variables,
stack_t **stacktop );

Binary file not shown.

View File

@@ -0,0 +1,103 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "NSIS Plug-in for Windows process management. Only WinNT, Win2K, WinXP and Win2003 Server supported."
VALUE "CompanyName", "Andrei Ciubotaru [Hardwired]"
VALUE "FileDescription", "Windows Processes Management"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "Processes"
VALUE "LegalCopyright", "Copyright (c) 2004 Hardwired. No rights reserved."
VALUE "OriginalFilename", "Processes.dll"
VALUE "ProductName", "Processes"
VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "processes", "processes.vcproj", "{3438467F-A719-46DC-93E5-137A8B691727}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{3438467F-A719-46DC-93E5-137A8B691727}.Debug.ActiveCfg = Debug|Win32
{3438467F-A719-46DC-93E5-137A8B691727}.Debug.Build.0 = Debug|Win32
{3438467F-A719-46DC-93E5-137A8B691727}.Release.ActiveCfg = Release|Win32
{3438467F-A719-46DC-93E5-137A8B691727}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,122 @@
----------------------------------------------------------------
----------------------------------------------------------------
Processes (Processes.dll)
Version: 1.0.0.1
Release: 12.december.2004
Description:Nullsoft Installer (NSIS) plug-in for managing?!
Windows processes.
Copyright: <09> 2004 Hardwired. No rights reserved.
There is no restriction and no guaranty for using
this software.
Author: Andrei Ciubotaru [Hardwired]
Lead Developer ICode&Ideas SRL (http://www.icode.ro)
hardwiredteks@gmail.com, hardwired@icode.ro
----------------------------------------------------------------
----------------------------------------------------------------
INTRODUCTION
The Need For Plug-in - I need it for the one of my installers.
Briefly: Use it when you need to find\kill a process when
installing\uninstalling some application. Also, use it when you
need to test the presence of a device driver.
SUPPORT
Supported platforms are: WinNT,Win2K,WinXP and Win2003 Server.
DESCRIPTION
Processes::FindProcess <process_name.exe>
Searches the currently running processes for the given
process name.
return: 1 - the process was found
0 - the process was not found
Processes::KillProcess <process_name.exe>
Searches the currently running processes for the given
process name. If the process is found then the it gets
killed.
return: 1 - the process was found and killed
0 - the process was not found or the process
cannot be killed (insuficient rights)
Processes::FindDevice <device_base_name>
Searches the installed devices drivers for the given
device base name.
(important: I said BASE NAME not FILENAME)
return: 1 - the device driver was found
0 - the device driver was not found
USAGE
First of all, does not matter where you use it. Ofcourse, the
routines must be called inside of a Section/Function scope.
Processes::FindProcess "process_name.exe"
Pop $R0
StrCmp $R0 "1" make_my_day noooooo
make_my_day:
...
noooooo:
...
Processes::KillProcess "process_name.exe"
Pop $R0
StrCmp $R0 "1" dead_meat why_wont_you_die
dead_meat:
...
why_wont_you_die:
...
Processes::FindDevice "device_base_name"
Pop $R0
StrCmp $R0 "1" blabla more_blabla
blabla:
...
more_blabla:
...
THANKS
Sunil Kamath for inspiring me. I wanted to use its FindProcDLL
but my requirements made it imposible.
Nullsoft for creating this very powerfull installer. One big,
free and full-featured (hmmm... and guiless for the moment) mean
install machine!:)
ME for being such a great coder...
... HAHAHAHAHAHAHA!
ONE MORE THING
If you use the plugin or it's source-code, I would apreciate
if my name is mentioned.
----------------------------------------------------------------
----------------------------------------------------------------

View File

@@ -0,0 +1,222 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="processes"
SccProjectName="processes"
SccLocalPath=".">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FINDPROCDLL_EXPORTS"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="3"
PrecompiledHeaderThrough="stdafx.h"
PrecompiledHeaderFile=".\Debug/processes.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile=".\Debug/processes.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\Debug/processes.pdb"
ImportLibrary=".\Debug/processes.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName=".\Debug/processes.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1034"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\bin"
IntermediateDirectory="..\bin\processes"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2"
WholeProgramOptimization="TRUE">
<Tool
Name="VCCLCompilerTool"
Optimization="3"
GlobalOptimizations="TRUE"
InlineFunctionExpansion="1"
FavorSizeOrSpeed="1"
OptimizeForWindowsApplication="TRUE"
PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;FINDPROCDLL_EXPORTS"
StringPooling="TRUE"
RuntimeLibrary="0"
StructMemberAlignment="1"
EnableFunctionLevelLinking="TRUE"
UsePrecompiledHeader="3"
PrecompiledHeaderThrough="stdafx.h"
PrecompiledHeaderFile="..\bin\processes/processes.pch"
AssemblerListingLocation="..\bin\processes/"
ObjectFile="..\bin\processes/"
ProgramDataBaseFileName="..\bin\processes/"
WarningLevel="4"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libc.lib"
OutputFile="..\bin/Processes.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreAllDefaultLibraries="FALSE"
ProgramDatabaseFile="..\bin/processes.pdb"
OptimizeForWindows98="1"
ImportLibrary="..\bin/processes.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName=".\Release/processes.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
<File
RelativePath="processes.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;FINDPROCDLL_EXPORTS;$(NoInherit)"
BasicRuntimeChecks="3"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="1"
PreprocessorDefinitions="NDEBUG;_WINDOWS;_MBCS;_USRDLL;FINDPROCDLL_EXPORTS;$(NoInherit)"/>
</FileConfiguration>
</File>
<File
RelativePath=".\processes.rc">
</File>
<File
RelativePath="StdAfx.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;FINDPROCDLL_EXPORTS;$(NoInherit)"
BasicRuntimeChecks="3"
UsePrecompiledHeader="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="1"
PreprocessorDefinitions="NDEBUG;_WINDOWS;_MBCS;_USRDLL;FINDPROCDLL_EXPORTS;$(NoInherit)"
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl">
<File
RelativePath="exdll.h">
</File>
<File
RelativePath=".\processes.h">
</File>
<File
RelativePath=".\resource.h">
</File>
<File
RelativePath="StdAfx.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
</Filter>
<File
RelativePath="processes.txt">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,15 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by processes.rc
//
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

0
admin/win/nsi/page_header.bmp Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1 +0,0 @@
94

0
admin/win/nsi/tomahawk.ini Executable file → Normal file
View File

0
admin/win/nsi/welcome.bmp Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -3,15 +3,23 @@
<channel>
<title>Tomahawk Player</title>
<link>http://www.gettomahawk.com</link>
<description>Tomahawk Player</description>
<description>Tomahawk Player Beta</description>
<language>en</language>
<item>
<title>Version 0.0.1 (Tomahawk Player - It Lives!)</title>
<title>Version 0.0.1 (Tomahawk Player Beta - It Lives?)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/blob/master/ChangeLog
https://github.com/tomahawk-player/tomahawk/raw/0.0.1/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Fri, 04 Mar 2011 16:05:15 -0500</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparklewin/updates/tomahawk-beta-0.0.1.exe" sparkle:version="0.0.1" />
<pubDate>Fri, 25 Mar 2011 00:00:01 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/tomahawk-beta-0.0.1.exe" sparkle:version="0.0.1" />
</item>
<item>
<title>Version 0.0.2 (Tomahawk Player Beta - It Lives?)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/raw/0.0.2/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Mon, 28 Mar 2011 05:00:02 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/tomahawk-0.0.2.exe" sparkle:version="0.0.2" />
</item>
</channel>
</rss>

View File

@@ -8,10 +8,18 @@
<item>
<title>Version 0.0.1 (Tomahawk Player - It Lives!)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/blob/master/ChangeLog
https://github.com/tomahawk-player/tomahawk/raw/0.0.1/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Fri, 04 Mar 2011 16:05:15 -0500</pubDate>
<enclosure url="http://download.tomahawk-player.org/sparklewin/updates/tomahawk-0.0.1.exe" sparkle:version="0.0.1" />
<pubDate>Fri, 25 Mar 2011 00:00:01 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/tomahawk-beta-0.0.1.exe" sparkle:version="0.0.1" />
</item>
<item>
<title>Version 0.0.2 (Tomahawk Player - It Lives!)</title>
<sparkle:releaseNotesLink>
https://github.com/tomahawk-player/tomahawk/raw/0.0.2/ChangeLog
</sparkle:releaseNotesLink>
<pubDate>Mon, 28 Mar 2011 05:00:02 +0100</pubDate>
<enclosure url="http://download.tomahawk-player.org/tomahawk-0.0.2.exe" sparkle:version="0.0.2" />
</item>
</channel>
</rss>

49
admin/win/update-vlc.sh Normal file
View File

@@ -0,0 +1,49 @@
#!/bin/bash
echo "Remove old vlc dir..."
mkdir -p vlc/
cd vlc/
#rm -vf vlc-*.7z
#rm -rf vlc/
echo "Download specified binary..."
#wget -c "http://downloads.sourceforge.net/project/vlc/1.1.9/win32/vlc-1.1.9-win32.7z?r=http%3A%2F%2Fwww.videolan.org%2Fvlc%2Fdownload-windows.html&ts=1306272584&use_mirror=leaseweb"
#wget -c "http://download.tomahawk-player.org/tomahawk-vlc-0.1.zip"
wget -c http://people.videolan.org/~jb/phonon/phonon-vlc-last.7z
echo "Extract binary..."
7z x phonon-vlc-last.7z
#mv -v vlc-*/ vlc/
#unzip tomahawk-vlc-0.1.zip
echo "Strip unneeded plugins from vlc/plugins..."
cd prefix/bin/plugins
rm -rvf libold* libvcd* libdvd* liblibass* libx264* libschroe* liblibmpeg2* \
libstream_out_* libmjpeg_plugin* libh264_plugin* libzvbi_plugin* lib*sub* \
*qt4* *skins2* libaccess_bd_plugin.dll \
libaudiobargraph_* libball_plugin.dll \
libdirac_plugin.dll \
libgnutls_plugin.dll \
libcaca_plugin.dll \
libfreetype_plugin.dll \
libaccess_output_shout_plugin.dll \
libremoteosd_plugin.dll \
libsdl_image_plugin.dll \
libvout_sdl_plugin.dll \
libpng_plugin.dll \
libgoom_plugin.dll \
libatmo_plugin.dll \
libmux_ts_plugin.dll \
libkate_plugin.dll \
libtaglib_plugin.dll
# 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"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 643 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 856 B

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
data/images/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 B

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 666 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 B

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 260 KiB

BIN
data/images/configure.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
data/images/dashboard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
data/images/filter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
data/images/info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 332 B

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
data/images/loved.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

BIN
data/images/not-loved.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 B

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
data/images/post.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

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