Commit Graph

643 Commits

Author SHA1 Message Date
Arnaud Bienner cc20e6b6ae Use task manager on most GS actions 2011-11-23 01:07:40 +01:00
Arnaud Bienner 4dec500c21 Add GS popular playlists 2011-11-19 18:56:29 +01:00
Arnaud Bienner f8ff785932 Create GS's favorites item at beggining 2011-11-19 17:45:38 +01:00
Arnaud Bienner 74ddfaa3fc Always add session_id to GS queries, except when it is not set (in case of startSession) 2011-11-16 00:34:36 +01:00
David Sansome 97cc6bb1b5 Print a warning if symlink() fails 2011-11-12 19:32:44 +00:00
David Sansome 5f0afa397c Create symlinks for libspotify .so files 2011-11-12 18:45:18 +00:00
David Sansome df8bafe161 Only update di.fm, sky.fm and somafm tree items if they've already been expanded by the user. Fixes duplicate radio streams appearing on first run if the user uses global search before looking in the Internet tab. 2011-11-12 18:18:40 +00:00
Arnaud Bienner 48db13b353 Make Playlist's InformOfCurrentSongChange public and use it when updating item instead of using UpdateItems (which will create a new item) 2011-11-11 02:42:48 +01:00
Arnaud Bienner 5479239d81 Add an action to get GS songs' URLs to share 2011-11-10 00:56:27 +01:00
HYPNOTOAD bfea7b8945 Change Grooveshark secret key 2011-11-09 20:44:09 +01:00
David Sansome 5dcd1d4890 Initialise the item lists for simple search providers on startup so they can be used to populate the global search suggestions. 2011-11-08 18:35:33 +00:00
Arnaud Bienner ed8633b8a9 Make GS user favorites a special kind of user playlist (enable drag'n'drop for favorites) 2011-11-07 19:37:29 +01:00
Arnaud Bienner 01e7a532bf Check GS errors to logout user if its session_id is obsolete 2011-11-06 18:40:06 +01:00
David Sansome c6e252326f Make the Configure... button work for di.fm/sky.fm in the search settings page 2011-11-06 16:41:00 +00:00
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