Commit Graph

379 Commits

Author SHA1 Message Date
Arnaud Bienner f79d38210c Merge branch 'master' of https://code.google.com/p/clementine-player
Conflicts:
	src/translations/translations.pot
2011-11-06 16:23:50 +01:00
Arnaud Bienner 89680a02f0 Add the ability to have custom actions for PlaylistItems, and InternetPlaylistItems (through services). Add 'add to playlists' actions for Grooveshark 2011-11-06 16:12:44 +01:00
David Sansome e3b7afbdf2 Add "Your radio streams" global search provider 2011-11-06 15:00:50 +00:00
David Sansome dac6c1bf09 Add a SomaFM search provider 2011-11-06 00:02:32 +00:00
David Sansome 931efb1f70 Add an icecast search provider, refactor a couple of other bits 2011-11-06 00:02:32 +00:00
David Sansome 8c69094931 Add a generic class for the "cached list of stuff" pattern used by last.fm and di.fm/sky.fm for keeping friend lists or stream lists around and refreshing them after a certain length of time 2011-11-06 00:02:32 +00:00
David Sansome 1f0c2333d0 Show the di.fm/sky.fm "Expires on" date on a separate line 2011-11-05 21:46:34 +00:00
David Sansome b37f679c36 Implement the options to hide/show the global search box, and to hide/show all other search boxes. 2011-11-05 19:09:37 +00:00
David Sansome fafee5af7c Download a new libspotify version and verify its signature. 2011-11-05 17:55:34 +00:00
David Sansome 37166ca19d Give the last.fm global search provider a config dialog 2011-11-05 17:11:02 +00:00
David Sansome 6446ef8b9e Use PNG spotify icons instead of SVG 2011-11-05 16:08:56 +00:00
David Sansome fccd0a5458 Don't make QCA a requirement if we're bundling the spotify blob (since we won't need to download anything at runtime) 2011-11-05 15:44:56 +00:00
David Sansome 568f78d874 There's no need to write each spotify blob file out to a temporary directory first. 2011-11-05 15:44:56 +00:00
Arnaud Bienner e7307aa6d4 Merge branch 'master' of https://code.google.com/p/clementine-player 2011-11-05 02:42:24 +01:00
Arnaud Bienner 4f5265f820 Don't try to insert a row which already exists 2011-11-05 02:42:17 +01:00
Arnaud Bienner 034db5d18b Create and delete Grooveshark playlists 2011-11-05 02:34:49 +01:00
David Sansome c12b3ab399 Verify the signatures of spotify blob files downloaded at runtime. Should protect against MITM attacks, and compromises of our server. 2011-11-05 01:12:28 +00:00
Arnaud Bienner 33abc40bf5 Use the same string for special search playlists, to be consistent (just one same string to translate) 2011-11-05 01:17:25 +01:00
David Sansome a2327c4eb7 Remove some redundant parameters from DigitallyImportedServiceBase and move the subclasses (which are now empty) into the same file. 2011-11-04 22:54:27 +00:00
David Sansome 2b6beb7417 Load the list of sky.fm/di.fm streams using the undocumented API, getting artwork for each stream as well. 2011-11-04 22:31:19 +00:00
John Maguire a9d6535bcc Use a scoped_ptr 2011-11-03 15:07:36 +01:00
John Maguire 0133bccf81 Fix typo in stream format string. 2011-11-03 14:54:43 +01:00
John Maguire 940208a868 Fix showing icons for Sky.fm and DI. 2011-11-03 11:51:52 +01:00
David Sansome 63140f83cf Use an undocumented sky.fm/di.fm api to handle premium account logins, allowing us to remove dodgy code to scrape login information for each service individually 2011-11-02 23:55:45 +00:00
Arnaud Bienner 8e314ef4d8 Ability to remove songs from Grooveshark's playlists (including favorites) 2011-11-02 23:41:58 +01:00
Arnaud Bienner 860d355f00 Ability to add a Grooveshark song to Grooveshark user's favorites 2011-11-02 00:02:49 +01:00
John Maguire f241ebf7b9 Sort grooveshark results better in global search and show fewer of them. 2011-11-01 13:00:27 +01:00
John Maguire 2e2f4e570c Make drag & drop work for Spotify user playlists. 2011-11-01 11:52:22 +01:00
Arnaud Bienner 1df827cedb Pick the last.fm love icon for Grooveshark favorites songs (it's more like the one visible on Grooveshark website) 2011-10-31 00:58:18 +01:00
Arnaud Bienner 85ea3fe37f Add songs to Grooveshark playlists by drag and drop 2011-10-30 23:59:43 +01:00
David Sansome a8dfa31818 Make the logout button on the spotify settings page actually work 2011-10-30 18:52:54 +00:00
Arnaud Bienner c8a4852843 Add user's Grooveshark favorites songs 2011-10-29 20:42:25 +02:00
Arnaud Bienner b3bf374b6e Disable Grooveshark and Spotify in global search by default, because user needs a premium account to use these services 2011-10-20 17:21:24 +02:00
Arnaud Bienner f0c8703dbc When toggling provider button, check if provider can be used by checking if user is logged-in, it this is necessary to make the provider work 2011-10-20 15:03:47 +02:00
Arnaud Bienner 50b4f2ee93 Ignore item only if explicitly marked as playlist. Fixes issue 2297 2011-10-15 18:17:00 +02:00
Arnaud Bienner 03e30d19c4 Make Grooveshark playlists drag'n'drop possible 2011-10-14 00:10:18 +02:00
Arnaud Bienner b3b890b9cf Allow extended selection in Internet view 2011-10-13 23:57:57 +02:00
John Maguire a6e8797b9d Add some syntactic sugar to closures. 2011-10-06 13:11:18 +02:00
Arnaud Bienner bac6095491 Rename GrooveShark to Grooveshark everywhere, as it is actually named like this 2011-10-05 21:59:15 +02:00
Arnaud Bienner ea55ac67eb Actually check if user has a Grooveshark account 2011-10-05 21:02:32 +02:00
John Maguire a0314d34fb Support albums from GrooveShark in global search.
Quality is pretty bad though.
2011-10-05 14:08:33 +02:00
John Maguire fc34a244c6 Tidy up closure implementation. 2011-10-05 11:36:08 +02:00
John Maguire 20a967a19f Basic working closure implementation. 2011-10-04 18:26:40 +02:00
John Maguire ac5511518f Remove redirect craziness from Magnatune downloading. 2011-10-03 13:59:57 +02:00
Arnaud Bienner d93f2c64cb Remove GrooveShark items when user logout. Also, give the ability to quickly access to GrooveShark config by doubleclicking GrooveShark root item 2011-10-02 14:47:03 +02:00
Arnaud Bienner 3c23e44721 Merge branch 'master' of https://code.google.com/p/clementine-player 2011-10-02 12:06:11 +02:00
Arnaud Bienner 4143823870 Get GrooveShark songs' length (give the ability to seek through stream). markStream and markSongComplete, as resquested by GrooveShark 2011-10-02 12:05:56 +02:00
John Maguire bbd0cef2af Consistently name GrooveShark. 2011-09-30 16:02:57 +02:00
John Maguire dd017e99ee Basic global searching in Grooveshark. 2011-09-30 15:35:09 +02:00
John Maguire 2e23eae3aa Fetch medium sized covers from Grooveshark. 2011-09-29 11:31:27 +02:00
Arnaud Bienner f142279a0a Covers for GrooveShark songs 2011-09-28 21:42:39 +02:00
David Sansome c05a2ee182 Add a spotify gstreamer source element instead of hacking about with gsttcpserversrc. Implement seeking on spotify tracks. 2011-09-25 19:24:44 +01:00
David Sansome 892f5f1df1 Add search providers for di.fm and sky.fm 2011-09-24 22:49:04 +01:00
David Sansome e7ab192361 Cache di.fm and sky.fm streams for 2 weeks 2011-09-24 22:11:50 +01:00
David Sansome cc20d90a7a Last.fm global search provider 2011-09-24 17:01:18 +01:00
David Sansome d83736acc0 Initialise a GlobalSearch in main and pass it around, so providers can register themselves 2011-09-24 14:44:23 +01:00
David Sansome 62165a6feb Remember the user's list of last.fm friends, refresh it every day. 2011-09-24 13:49:20 +01:00
Arnaud Bienner 8e6608a29f Adding GrooveShark playlists 2011-09-24 12:06:31 +02:00
Arnaud Bienner 42d228be80 Create search item only if we're connected to GrooveShark 2011-09-22 19:54:59 +02:00
Arnaud Bienner 44773f0ff0 Add extra entries to GrooveShark menu 2011-09-20 19:29:16 +02:00
Arnaud Bienner 2bfe5422f2 Wait a little bit before sending search requests. Also, ignore all old replies 2011-09-20 19:12:06 +02:00
John Maguire 19db619f6a Fix another typo in a comment. 2011-09-20 10:09:32 +02:00
Arnaud Bienner 7cee645539 Oops: forgot to commit few files :( 2011-09-20 00:54:22 +02:00
Arnaud Bienner 5dfa4f4838 Add the ability to play streaming songs from GrooveShark 2011-09-20 00:26:24 +02:00
Arnaud Bienner bc3f56ae0e Add settings page + login method for GrooveShark 2011-09-13 22:32:10 +02:00
John Maguire 09c288a506 Fix compile error in grooveshark service. 2011-09-02 12:52:05 +01:00
Arnaud Bienner 646588da2c Start to work on Grooveshark: currently, we can only search for songs (and this has to be improve); lot of work remains to be done... 2011-09-02 00:28:11 +02:00
David Sansome 5aca9b7984 Support for playing tracks from Spotify 2011-08-29 03:32:50 +01:00
David Sansome 21be90a941 Change spotify protobuf namespace to something that isn't reserved, and do album loading in spotify 2011-08-29 03:32:37 +01:00
David Sansome 13fc24f6c6 Refactor the last.fm, magnatune, spotify and di.fm settings pages - moving the login state display into a separate widget. 2011-08-27 22:01:28 +01:00
David Sansome 143bbb4019 Make the BusyIndicator contain a label too 2011-08-27 15:03:04 +01:00
David Sansome dad76b78dd Move all the settings pages to their own widgets and classes 2011-08-14 00:07:10 +01:00
David Sansome ae4cfeff1c Always assume Icecast-style stream metadata is in the "Artist - Title" format, as this seems more common. Remove the hacks for soma.fm and stations from the icecast list. Fixes issue 1035 2011-07-26 15:56:19 +01:00
David Sansome 38100f5e59 Make CoverProviders not a singleton 2011-07-23 19:34:41 +01:00
David Sansome 9fadf57acc Revert "Move TaskManager::Task and UrlHandler::LoadResult structs out of their parent classes - PythonQt doesn't understand nested structs."
This reverts commit 5234798a7f.
2011-07-23 15:32:12 +01:00
David Sansome dd3eee63e5 Remove python scripting support 2011-07-23 15:32:12 +01:00
David Sansome a0258a9e81 Add c++ implementations of the di.fm and sky.fm radio services 2011-07-23 15:32:11 +01:00
David Sansome 69bd5555e7 Fix a crash when loading an old playlist containing Radio items after an upgrade to a version where they're Internet items 2011-07-18 22:20:22 +00:00
Tyler Rhodes ded8e5f6f0 Refactor "Radio" files into "Internet" files. 2011-07-15 13:27:50 +00:00