Commit Graph

746 Commits

Author SHA1 Message Date
Arnaud Bienner c891a44243 Remove useless check 2014-09-21 20:48:42 +02:00
David Sansome bb08a0f416 Fix misleading offset_bytes names 2014-09-22 00:13:00 +10:00
Arnaud Bienner 3e17a0adb5 Remove dead code 2014-09-14 02:39:35 +02:00
Arnaud Bienner 160b151652 Add seek ability to Spotify tracks.
This is functional but pretty hacky.
And, as noted in the comments, there is a small delay (depends, but usually several seconds) to have the seek taken into account. But IMHO it's better than nothing.
Fixes #2503
2014-09-14 02:15:58 +02:00
pie.or.paj cbc6e5cf4d Pause spotify track (issue 2503)
(patch slightly modified, not sure why it wasn't applied before: it looks good to me)
2014-09-06 19:21:23 +02:00
maximko d61688e1c5 QUrl fix. 2014-09-04 18:48:49 +06:00
maximko 2dfb7f8f4c Increase cover image size. 2014-09-04 18:08:17 +06:00
John Maguire e876df1b23 Merge pull request #4456 from Shedward/vk-broadcasting
Vk.com broadcasting.
2014-08-12 22:04:45 +02:00
Vlad Maltsev 08c0f7d28f Fix misspelled names. 2014-08-13 02:15:33 +07:00
Vlad Maltsev e65596cba6 make format 2014-08-03 19:40:06 +07:00
Vlad Maltsev bff79664bc Broadcasting realisation. 2014-08-03 19:10:09 +07:00
Chocobozzz 82a8c64ac8 Add ampache compatibility 2014-07-16 18:49:58 +02:00
John Maguire 03eb241c00 Add header for std::pow 2014-06-19 15:34:10 +02:00
David Sansome 0cd3d9b34f Don't do seafile stuff unless signed in. 2014-06-07 15:29:28 +10:00
John Maguire 96ad4554d9 Merge pull request #4392 from Chocobozzz/master
Add Seafile Support
2014-06-05 16:50:45 +02:00
Chocobozzz 571ffdff1d delete another delegating constructor 2014-06-05 16:34:15 +02:00
Chocobozzz 09acc2336f Delete the delegating constructors (entry and treeitem) 2014-06-05 14:24:06 +02:00
David Sansome c03c0def19 Add menu items for updating and doing a full rescan of Google Drive 2014-06-05 20:20:58 +10:00
Chocobozzz f14ec51a60 add constant for max tries and correct memory leaks 2014-06-04 18:44:23 +02:00
Chocobozzz e484306631 Correction after hatstand's review 2014-06-04 17:58:28 +02:00
Chocobozzz 1fc95cb7ed Add Seafile Support 2014-06-03 14:33:07 +02:00
David Sansome 96dd87a4f3 Treat trashed files as deleted. Fixes #4374 2014-05-24 13:48:45 +10:00
John Maguire 8919b730da Update Jamendo db dump URL.
Fixes #4351
2014-05-18 18:10:56 +02:00
Mattias Andersson f91c162ba3 Use a single label for the text at the top of the soundcloud settings page. 2014-05-04 08:31:15 +02:00
David Sansome 5592bcf145 Revert "Ignore some kind of SSL errors when login to Grooveshark"
This reverts commit 77b30bce5a.
2014-05-03 16:23:56 +10:00
Arnaud Bienner 77b30bce5a Ignore some kind of SSL errors when login to Grooveshark 2014-05-03 01:27:15 +02:00
Arnaud Bienner 3dad47e7ca Reorder SoundCloud menu 2014-04-16 23:17:23 +02:00
Arnaud Bienner 67951f64a5 SoundCloud: retrieve user's playlists 2014-04-16 23:09:48 +02:00
Arnaud Bienner ef01353a0f SoundCloud: retrieve stream playlists 2014-04-16 22:37:40 +02:00
Adolfo Jayme Barrientos 15e4f7fe9c Remove space in provider’s name 2014-04-14 00:32:58 -05:00
Arnaud Bienner 2f5e03e921 Use a more appropriate log level 2014-04-10 00:49:31 +02:00
Arnaud Bienner e557c56d96 We ask for 'non-expiring' tokens, so it seems normal that we don't have refresh_tokens actually 2014-04-09 23:07:58 +02:00
Arnaud Bienner beb5f9fa30 Handle error in SoundCloud replies 2014-04-09 23:03:09 +02:00
John Maguire 30d1c2f8db Remove Ubuntu One support.
http://blog.canonical.com/2014/04/02/shutting-down-ubuntu-one-file-services/
2014-04-02 16:02:00 +02:00
Arnaud Bienner 4c70f17444 Fix a small issue in oauthenticator 2014-03-31 22:04:03 +02:00
David Sansome 2134e13b53 Make CloudFileServices show logged in state and settings dialog properly in
global search.
2014-03-30 17:11:31 +11:00
David Sansome 25544cb672 Sort the list of Internet Providers in the settings dialog and internet tab 2014-03-30 17:11:19 +11:00
David Sansome 93a0f160df Add Configure items to the context menus for cloud file services. 2014-03-30 16:46:16 +11:00
David Sansome adff4864d4 Recurse into folders when indexing music on OneDrive 2014-03-30 16:36:07 +11:00
David Sansome 6ecc534bf9 Construct oauth URLs properly when using REMOTE or REMOTE_WITH_STATE 2014-03-30 16:35:38 +11:00
David Sansome 9c66528c0f Add a settings page for OneDrive 2014-03-30 16:35:27 +11:00
David Sansome 345e58ce6b Only save the Drive cursor after all songs have been indexed. 2014-03-30 16:01:58 +11:00
David Sansome ca7937112d Show only one status bar entry while indexing files on Drive. 2014-03-30 15:47:25 +11:00
John Maguire 4ab4bbc23f Remove Last.fm radio support.
Fixes #4259
2014-03-28 14:55:04 +01:00
Arnaud Bienner 1b7f99127d Add login to SoundCloud + get user tracks and activties (stream)
Still need to handle playlists and to clean up things (e.g. to check why refresh_token doesn't work and if we can do something about this)
2014-03-26 21:33:27 +01:00
Arnaud Bienner 4520a1c115 Grooveshark: don't crash when receiving the reply for a canceled request.
Mark all tasks as finished when removing all items, to prevent never ending task in case we disconnect or refresh before all replies have been received.
2014-03-21 12:48:45 +01:00
Arnaud Bienner fddb87ba63 Add an option to sort Grooveshark playlist alphabetically. Fixes issue #3480.
Did it the lazy way for now, but it would have better to refactor Grooveshark code, to add a proper sort model, etc.
2014-03-21 00:52:12 +01:00
Maltsev Vlad 2659a8364c Fix group title string. 2014-03-10 16:05:45 +07:00
Maltsev Vlad dde8535470 Translation, typos and mac build fixes. 2014-03-08 19:11:48 +07:00
Maltsev Vlad a7b0accd93 Add Vk.com plugin. 2014-03-08 00:58:50 +07:00
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +01:00
Arnaud Bienner faaa75cb61 Few style fixes + avoid unneeded copies 2014-02-12 22:11:28 +01:00
John Maguire 192b60d965 Use nullptr as parent parameter default everywhere 2014-02-10 16:03:54 +01:00
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
Mladen Pejaković f09a0c00a8 More disabmiguations 2014-02-08 16:09:27 +01:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire 7671108aa8 Add missing include for symlink() 2014-02-06 19:46:08 +01:00
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
John Maguire 1fad6db52a Use std::unique_ptr instead of boost:scoped_ptr in one place. 2014-01-28 18:45:13 +01:00
John Maguire 977a6769b2 Rename SkyDrive to OneDrive.
http://blog.onedrive.com/onedrive-for-everything-your-life/
2014-01-27 15:38:56 +01:00
Antonio Nicolás Pina 10fb96341c Resolved empty song name when searching through Grooveshark. 2014-01-04 16:55:41 +01:00
John Maguire fde4586773 Use Dropbox's long poll API to get real-time changes. 2013-12-19 14:56:46 +01:00
John Maguire f583c40ffa Update Skydrive client id & secret for redirect url change.
Fixes #4013
2013-12-19 14:32:43 +01:00
Arnaud Bienner 565c2cc921 Merge branch 'master' of https://github.com/clementine-player/Clementine 2013-12-17 19:36:07 +01:00
Arnaud Bienner 4d6406524f Grooveshark now returns a different error code when session id is invalid 2013-12-16 23:01:12 +01:00
Martin Brodbeck e6ac3cf34b Overwrite mime type, so that Opus files are recognized 2013-12-16 16:25:40 +01:00
John Maguire a872fa3828 Redirect box login via SSL appengine page.
Apparently that's more secure than just redirecting to localhost :-S
Fixes issue #3936
2013-11-01 12:15:21 +01:00
David Sansome 4e8dba16d4 Make the Spotify downloader optional again on Windows and Mac 2013-09-18 01:27:13 +10:00
David Sansome 2c55688601 Make the GPL spotify code non-optional 2013-09-18 00:49:29 +10:00
Arnaud Bienner d8e2fa5b1c Increase GS album search limit from 5 to 10. Also, use a constant instead. 2013-08-28 22:20:58 +02:00
David Sansome b31c646090 Make the Ubuntu One settings page a bit more sane 2013-07-27 16:09:36 +10:00
Ross Wolfson 27c017626b Allow Subsonic to follow redirects when logging in, as described in issue 3747
Fixes issue #3747
2013-07-03 11:45:44 +02:00
Ross Wolfson c1d37896a4 Add disc number functionality to SubSonic
Fixes issue #3743
2013-06-18 12:09:54 +02:00
Ross Wolfson a8117c31f0 Fix to prevent spinning status wheel if incomplete Subsonic credentials are supplied
Fixes issue #3733
2013-06-12 14:04:39 +02:00
John Maguire 6fa1b60f2f Merge error message & SSLv3 option for subsonic. 2013-05-30 11:56:03 +02:00
Ross Wolfson 40d35faa00 Cleaned up NetworkAccessManager behavior from previous commit for
Subsonic, to facilitate SSLv3 usage.
2013-05-29 21:57:45 -04:00
John Maguire f4955c2cf9 Update spotify attribution logo. 2013-05-17 17:11:19 +02:00
John Maguire cea41801db Fix loading of songs from Dropbox that have # in the name.
Fixes issue #3664
2013-05-16 16:40:32 +02:00
Ross Wolfson 7e32cfc358 Added more verbosity to GUI error message for common network issues when
connecting to a Subsonic server.
2013-05-07 22:33:45 -04:00
Ross Wolfson 25d92f5083 Adds option to force SSLv3 usage for Subsonic, as mentioned in
enhancement 1930.
2013-05-04 21:33:03 -04:00
David Sansome 8e3581af64 Fix an ancient typo that was breaking last.fm scrobbling reporting. 2013-04-15 21:41:55 +10:00
David Sansome 264d5ee0fa Add Radio GFM 2013-04-13 14:28:42 +10:00
John Maguire 1b8068dba7 Missed a spot. 2013-03-21 14:16:17 +01:00
John Maguire 160d9edfb6 Fix refresh token issues with Google Drive. 2013-02-26 16:24:47 +01:00
John Maguire 799a088d3d Correctly decode Dropbox download URLs.
Fixes issue #3505
2013-02-18 11:10:28 +01:00
David Sansome 0ae323bfff Don't try to connect to subsonic on startup if nothing is configured. 2013-02-17 15:14:55 +11:00
John Maguire 75394d0e8a Page through Box folders. 2013-02-13 14:19:50 +01:00
John Maguire d21fa8cc67 Add support for Box. 2013-02-12 17:11:18 +01:00
David Sansome 65c077e34f Detect last.fm login failures properly. Fixes issue 3426 2013-02-06 00:12:39 +11:00
David Sansome 6019afb097 Make the library sorting locale aware. Fixes issue 3456 2013-02-05 22:17:09 +11:00
Alan Briolat 970a615846 Improve experience of setting up a subsonic connection 2013-01-30 13:22:04 +01:00
John Maguire 0d743a2065 Fix some style issues in subsonic. 2013-01-24 17:48:58 +01:00
John Maguire fe2fb788d3 Merge branch 'subsonic'
Conflicts:
	data/data.qrc
2013-01-24 17:02:08 +01:00
Alan Briolat 465015fe3c Don't fetch magnatune library until service is expanded. Fixes issue 3440 2013-01-22 23:30:15 +01:00
Alan Briolat a5f6356be4 Subsonic global search provider and some extra UI polish 2013-01-21 22:13:48 +00:00
Alan Briolat d424ed93a4 Don't fetch subsonic library until service is expanded 2013-01-20 23:25:54 +00:00
Alan Briolat a7fe1b693b Eliminate race condition for subsonic library TotalSongCountUpdated 2013-01-20 23:24:14 +00:00
Alan Briolat d8bc3a02fa Fix Magnatune library not being sorted after refresh
Fixes issue #3435
2013-01-18 13:50:20 +01:00
Alan Briolat 2d68315c22 Fix Subsonic library not being sorted after refresh 2013-01-18 10:35:47 +00:00
Alan Briolat 38f271528a Improve subsonic library fetching
* Use task notification
* Update library in one chunk
* Use stored library data, add ability to manually reload
2013-01-17 22:13:57 +00:00
Alan Briolat e8ab6ed40a Subsonic: add LibraryFilterWidget and basic context menu 2013-01-17 21:01:54 +00:00
Alan Briolat 34553d8238 Read subsonic albumartist data 2013-01-17 20:18:26 +00:00
Alan Briolat f88e73737c Re-implement subsonic library scanner
Use the ID3-tag-oriented album listings in Subsonic >= 4.7 to
fetch all library data.
2013-01-14 23:36:23 +00:00
Alan Briolat 49d27b0bfe Load subsonic library recursively 2013-01-11 23:14:15 +00:00
Alan Briolat 349231793f Hacky basics of starting to load Subsonic library 2013-01-10 22:08:52 +00:00
Alan Briolat d05202265e Simplify Subsonic URL handling 2013-01-09 22:20:55 +00:00
Alan Briolat 38ce86529e Revert "Recursive UserPlaylist adding, subsonic uses UserPlaylist for folders"
This reverts commit a62b7752ad.

Using this mechanism for recursively loading trees doesn't work any
more, wasn't that great to start with, and the tree view will soon
be replaced with a library view.
2013-01-09 21:47:51 +00:00
Alan Briolat 90d2511051 Merge remote-tracking branch 'upstream/master' into subsonic
Conflicts:
	src/CMakeLists.txt
	src/internet/internetmodel.cpp
	src/ui/settingsdialog.cpp
2013-01-09 21:26:32 +00:00
John Maguire 020f08438f Support member function pointers in Closure.
Bonus: type-safe slots
2012-12-13 16:27:55 +01:00
John Maguire c57c47ae08 Make skydrive urls playable. 2012-12-13 14:44:59 +01:00
John Maguire 919e9215c4 Support indexing files from Skydrive. 2012-12-13 14:27:21 +01:00
John Maguire c4db401597 More or less working Skydrive authentication. 2012-12-12 18:34:15 +01:00
John Maguire 8eea98ba66 Factor out Google Drive specific code from OAuthenticator. 2012-12-12 17:41:52 +01:00
John Maguire 7d4f5764dc Support WMA in Ubuntu One. 2012-12-07 12:09:17 +01:00
John Maguire 62e3e4cb91 Support WMA in cloud services. 2012-12-07 12:07:43 +01:00
John Maguire 941aaca87c Refactor cloud tagging into base class. 2012-12-06 14:23:27 +01:00
John Maguire 951cac2ad6 Use changes API instead of search API in Google Drive. 2012-12-05 14:17:03 +00:00
John Maguire b41a2b5308 Revert "Try out C++11 strongly typed enums."
This reverts commit 4e74c7af2b.
2012-12-05 09:36:22 +00:00
John Maguire 4e74c7af2b Try out C++11 strongly typed enums. 2012-12-04 16:22:09 +00:00
John Maguire 18c7f3d5ed Support m4a and flac in dropbox. 2012-11-30 16:56:23 +01:00
John Maguire 24b4319504 Fix crash in Google Drive. 2012-11-30 16:43:43 +01:00
John Maguire d4a82a2d50 Read the encoded URL correctly for Dropbox files. 2012-11-30 16:12:31 +01:00
John Maguire 3972f939f7 Support deletion and reset from Dropbox's delta API. 2012-11-30 15:40:09 +01:00
John Maguire 4ba965115c Use Dropbox's delta API to be more efficient. 2012-11-30 15:33:03 +01:00
John Maguire e68a6f9eb8 Factor out oauth redirect & HTTP server logic. 2012-11-30 14:54:23 +01:00
John Maguire 847e4ce121 Fix name of Dropbox settings page. 2012-11-30 11:24:07 +01:00
John Maguire 821405cdd2 Actually start authorisation against Dropbox when login clicked. 2012-11-29 20:53:00 +01:00
John Maguire 8e91e42dcc Add dropbox files locally after tagging and make them playable. 2012-11-29 20:48:34 +01:00
John Maguire 3c9b3d99e6 Read tags from dropbox files. 2012-11-29 20:48:34 +01:00
John Maguire 47cc767daf Scan Dropbox for valid mime types. 2012-11-29 20:48:34 +01:00
John Maguire c66295c8d9 Sort out dropbox authentication & storing credentials; 2012-11-29 20:48:34 +01:00
John Maguire ea8655af83 Add Dropbox service and settings page. 2012-11-29 20:48:34 +01:00
John Maguire b955da5f28 Parse out the Dropbox user's name. 2012-11-29 20:48:34 +01:00
John Maguire 4d1b6fc25d Fetch Dropbox account information after authorisation. 2012-11-29 20:48:34 +01:00
John Maguire d3bd536be0 Working dropbox authentication with oauth redirect. 2012-11-29 20:48:34 +01:00
John Maguire 6bf0b4736a Start of dropbox support. Only whitelisted accounts work for now. 2012-11-29 20:48:25 +01:00
John Maguire c5ce522576 Scan all Ubuntu One volumes for music.
Fixes issue #3325
2012-11-29 16:07:05 +01:00
John Maguire e220b395ea More gracefully deal with files that failed to tag in Ubuntu One. 2012-11-29 14:18:30 +01:00
John Maguire 3eb66ea8c2 Remove another couple of C++11 range-based for loop. 2012-11-29 11:49:26 +01:00
John Maguire 644a12cea7 Remove/work around missing features in Qt < 4.7 2012-11-28 19:02:14 +01:00
John Maguire 6f05a7c45b nullptr not supported either in GCC 4.4 2012-11-28 18:18:50 +01:00
John Maguire d16615334a Add Ubuntu One playlist source icon. 2012-11-28 17:52:46 +01:00
John Maguire bd899b382d Range-based for loops not supported in GCC 4.4. 2012-11-28 17:34:54 +01:00
John Maguire e14334075c Support OGG, FLAC & AAC file types for Ubuntu One. 2012-11-28 17:32:21 +01:00
John Maguire ffc8d53cdb Add cmake option for Ubuntu One. 2012-11-28 16:51:19 +01:00
John Maguire 9c7a3ab105 Rename google drive tagging methods to more appropriate generic names. 2012-11-28 16:34:10 +01:00
John Maguire db7679abe6 Refactor GoogleDriveService into a CloudFileService. 2012-11-28 16:22:54 +01:00
John Maguire 334cd1052b Factor out some common functionality between Google Drive & Ubuntu One. 2012-11-28 16:13:10 +01:00
John Maguire afcc8f86f3 Add support for album covers to Ubuntu One. 2012-11-28 15:26:09 +01:00
John Maguire 4bbbf4dd9d Remove some debug 2012-11-28 15:10:49 +01:00
John Maguire 4aeeb45eaa Show Ubuntu One settings page if user is not signed in. 2012-11-28 15:09:59 +01:00
John Maguire 6486e621f1 Recursively fetch everything in the Ubuntu One volume. 2012-11-28 15:05:06 +01:00
John Maguire 823250c7c7 Add Ubuntu One icon in internet view. 2012-11-28 14:44:57 +01:00
John Maguire db586ca00e Read tags from Ubuntu One files and add to local database. 2012-11-28 14:43:03 +01:00
John Maguire 45b2c1dcf4 Copy Ubuntu One file name into song title for now. 2012-11-27 19:58:53 +01:00
John Maguire 1d20ac4eae Add settings page for Ubuntu One. 2012-11-27 19:56:47 +01:00
John Maguire 24ac9adbe5 Beginnings of playback from Ubuntu One file store. 2012-11-27 18:35:06 +01:00
John Maguire 81e68145cd Basic authentication for Ubuntu One. 2012-11-27 15:38:05 +01:00
John Maguire 8171192df5 Port Closure to variadic templates. 2012-11-22 17:19:04 +01:00
David Sansome 3cc0ba7969 Add ROCKRADIO.com. Fixes issue 3295 2012-11-18 11:18:51 +11:00
John Maguire 5825768f36 Stop logging geolocation. 2012-11-07 13:35:36 +01:00
John Maguire 371b63e159 Use access_token URL param instead of header hack for Google Drive. 2012-11-02 16:47:40 +01:00
David Sansome 885d98b5f0 Remove the SpecialPlaylistType class, it hasn't been used since Spotify and Grooveshark search results went into the sidebar tree. 2012-10-30 22:53:09 -07:00
John Maguire 587e9702d7 Never cache get file requests for Google Drive as the downloadUrl needs to be up to date. 2012-10-23 16:12:58 +02:00
Arnaud Bienner 60f22f5594 Revert revision 42fb7f9b42.
Was generated SIGABRT while exiting Clementine, when calling ServiceDeleted SLOT, because of an assert in moc_internetmodel.
Seems that the receiver (so the parent) of the created Closure object isn't the same at the beginning (InternetModel) and when the Closure::Invoked method is called (QObject).
Reverting this until I can figure out what is going wrong.
2012-10-15 23:03:01 +02:00
Arnaud Bienner 95ce26a556 Remove now obsolete connect in GS service 2012-10-15 22:06:16 +02:00
John Maguire bfc33967be Remove obsolete connect(). 2012-10-15 16:26:44 +02:00
Arnaud Bienner b9606d8a06 Ignore GS search's result if it's not the last one 2012-10-14 23:27:45 +02:00
John Maguire 8eb787a2eb Add missing include. 2012-10-12 14:54:47 +02:00
John Maguire aa7b22c103 Port last.fm service to closures. 2012-10-12 14:31:31 +02:00
John Maguire 42fb7f9b42 Port InternetModel to closures. 2012-10-12 14:18:47 +02:00
John Maguire ff86e07a4b Port IcecastService to closures. 2012-10-12 14:12:19 +02:00
John Maguire ce9d790833 Port DigitallyImported to closure. 2012-10-12 13:52:20 +02:00
John Maguire 16fe238d98 Port remaining calls in GroovesharkService to closures. 2012-10-12 13:43:55 +02:00
John Maguire 07abe82ef3 Add a cover manager for the Google Drive library. 2012-10-01 16:39:58 +02:00
John Maguire bb710ed2ef Remove some excessive debug messages for Grooveshark. 2012-09-27 13:51:16 +02:00
John Maguire 606bf71208 Disable automatic conversions to QUrl from strings. 2012-09-26 17:09:13 +02:00
Olaf Christ 21da34bf8c Soma.Fm: Improved playlist handling (copied from DI.fm handler) 2012-09-16 19:53:58 +02:00
John Maguire 27975c7a16 Separate out spotify blob downloader into a new optional component. 2012-09-03 17:38:07 +02:00
David Sansome 1e89fc5bf4 Remove a non-const reference 2012-08-26 14:22:38 +01:00
David Sansome 78d473512d Disable the google drive login button after starting the browser, re-enable it again when the user comes back to the Clementine window. 2012-08-24 21:33:33 +01:00
David Sansome 7ca7ecbe99 When the user opens the Google Drive section for the first time, open the settings dialog to prompt them to login instead of opening a browser to start OAuth straight away. Also fix a bug where the user's email address would be lost on subsequent authentications. 2012-08-24 21:26:10 +01:00
David Sansome 252f1e38d8 Add a context menu to google drive items 2012-08-24 19:33:05 +01:00
David Sansome 4ec6da0570 Track google drive login state better: show the user's email address in the settings dialog and let him sign out. Also remove the drive folder model which wasn't used yet because uploads aren't done. 2012-08-17 21:50:54 +01:00
John Maguire 0b97b8c74b Re-authenticate to Drive when token expires. 2012-08-17 14:44:28 +02:00
John Maguire b9278c6c8b Merge branch 'drive' 2012-08-13 16:04:38 -07:00
John Maguire 9ce8cf59d6 Make sure Google Drive is connected when converting URLs. 2012-08-10 11:46:26 -07:00
Arnaud Bienner 57d3dfc96e Add source icons for JazzRadio and SoundCloud 2012-08-09 22:36:39 +02:00
John Maguire a55cbc838f Merge branch 'master' into drive 2012-08-09 12:59:09 -07:00
Arnaud Bienner 1cb0869970 Clean GS pending requests when removing items, and don't try to modify non-existing items when receiving obsolete replies. Fix a crash when user tries to refresh GS items before every reply has been received 2012-08-09 00:51:00 +02:00
Arnaud Bienner e545b6d71b Merge branch 'soundcloud' 2012-08-09 00:17:05 +02:00
Arnaud Bienner 26908ed718 Add simple context menu to soundcloud items 2012-08-09 00:16:16 +02:00
Arnaud Bienner f13e7d1e69 Ooops... actually search for the good text in soundcloud global search 2012-08-08 23:52:59 +02:00
Arnaud Bienner 9b8f5892af Set soundcloud tracks' artist field with username value.
Sounds better than "Unknown", but not perfect...
2012-08-08 23:50:20 +02:00
Arnaud Bienner 2bf84f77d9 Add soundcloud in the global search 2012-08-08 23:23:49 +02:00
David Sansome 9a9910a464 Add support for JAZZRADIO.com
Fixes issue 3099
2012-08-08 20:32:11 +01:00
John Maguire c5b74c832e Add tasks for indexing Google Drive songs. 2012-08-06 14:00:54 +02:00
John Maguire a3f9947444 Merge branch 'master' into drive 2012-08-06 13:26:11 +02:00
Arnaud Bienner e69c932577 Update issue 2540
Add basic SoundCloud support.
However, only search in internet tab + listen is done for now.
We should at least add soundcloud in global search.
2012-08-04 15:21:44 +02:00
Arnaud Bienner c8b145c8b6 Remove useless code in groovesharkservice 2012-08-04 00:38:18 +02:00
John Maguire 94878b4bd2 Slightly hacky support for AAC on Google Drive. 2012-07-31 17:57:17 +02:00
John Maguire fc61f0627f Filter out trashed/hidden folders on the server. 2012-07-31 15:25:49 +02:00
John Maguire e06ae8a282 Support reading OGG & FLAC files from Google Drive. 2012-07-31 15:18:14 +02:00
Arnaud Bienner e6d76a72a5 Add "append to/replace/... playlist" and "Configure" actions to Spotify items. 2012-07-29 20:12:16 +02:00
David Sansome fd1d70c644 Add a directory model for selecting a default upload directory on Google Drive. 2012-07-29 15:06:23 +01:00
Arnaud Bienner b08172138a Add a new PlayBehaviour (MultiplesItems) for loading playlits' songs by drag'n'drop for Internet services.
Use it for Spotify and Grooveshark.
2012-07-29 01:35:05 +02:00
David Sansome 9653a45f66 Read Google Drive metadata in the tagreader worker process 2012-07-28 19:35:12 +01:00
David Sansome 165cec1e86 Move some of the Google Drive bits out into a separate client class. 2012-07-28 17:18:03 +01:00
Alan Briolat 92c15f3a5a Merge remote-tracking branch 'upstream/master'
Fixed SubsonicService for new InternetService signature.

Conflicts:
	data/data.qrc
	src/ui/settingsdialog.cpp
	src/ui/settingsdialog.h
2012-07-28 14:10:42 +01:00
Alan Briolat a62b7752ad Recursive UserPlaylist adding, subsonic uses UserPlaylist for folders 2012-07-28 13:13:48 +01:00
David Sansome 51631169fa Show a nicer success page when oauth is complete. 2012-07-27 18:59:03 +01:00
John Maguire f48383c73e Index Google Drive MP3s and write to local database. 2012-07-27 16:04:12 +02:00
David Sansome 73062bce3d Make Google Drive support optional and add a cmake option for it 2012-07-26 21:23:31 +01:00
John Maguire 1031482024 Refresh oauth token when possible to avoid reauthenticating with Drive
all the time.
2012-07-26 16:55:59 +02:00
John Maguire ecf7998f1c Add URL handler for googledrive URLs and fetch a new temporary
download URL for every play.
2012-07-26 16:35:57 +02:00
John Maguire 4a629e636b Cache taglib Drive requests in a google::sparsetable.
Requires sparsehash.
2012-07-26 16:15:19 +02:00
John Maguire bda3d0e033 Hacky support for reading tags from MP3s on Google Drive.
Requires TagLib 1.8
2012-07-26 11:36:07 +02:00
John Maguire 0c861da7a9 Almost working tagging from stream. 2012-07-25 17:57:50 +02:00
John Maguire 517252ccc1 Merge branch 'master' into drive
Conflicts:
	data/data.qrc
2012-07-25 15:36:57 +02:00
Arnaud Bienner 13daaf7106 Don't show the search box for GS and Spotify if user isn't logged in 2012-07-21 20:15:36 +02:00
Arnaud Bienner 63c42503c6 Fix non-ending task in GS which may happen if the user log out (or is logged out because session became invalid) 2012-07-21 19:39:37 +02:00
Arnaud Bienner 07c7bd9bb2 Sort GS MyMusic songs by names, like other playlists 2012-07-21 18:47:18 +02:00
Arnaud Bienner 9a392692dd Add missing const 2012-07-21 18:31:08 +02:00
Arnaud Bienner 77c6199dd9 Add GS 'My Music' support.
Fixes issue 2609
Retrieving and removing songs works well :)
Adding songs doesn't work :(
2012-07-21 18:09:16 +02:00
Arnaud Bienner 16fde37bac Remove Grooveshark and Spotify search playlist: we don't use them anymore since we can search on these services through the Internet tab 2012-07-16 00:27:43 +02:00
John Maguire dbf9970c76 Add suggestions from Spotify starred & top 100. 2012-07-12 16:35:09 +02:00
John Maguire 145f1efaf5 Basic support for Google Drive & OAuth. 2012-07-12 14:09:20 +02:00
John Maguire 6b87318710 Revert "Typedef QSearchField to old LineEdit on non Mac, and make it compatible with QSearchField"
This reverts commit 59517f5b4e.

Update issue 3047
Status: Accepted
Breaks the mac build. We should do a proper fix for this.
2012-07-12 14:04:29 +02:00
Arnaud Bienner 59517f5b4e Typedef QSearchField to old LineEdit on non Mac, and make it compatible with QSearchField
Fixes issue 3047. (for now)
2012-07-10 00:44:05 +02:00
Arnaud Bienner 124d4e6a59 Always display "did you mean" widget in top of all windows.
Also, update its width to the text it should displayed
2012-07-01 23:55:54 +02:00
Arnaud Bienner 70429217c6 Search on Spotify on the left/Internet tab directly, instead of Spotify magic playlist (like for Grooveshark)
- Next step: fix the "did you mean" widget which is visible to user when displayed
2012-06-28 23:57:51 +02:00
David Sansome abe8d10b9c Add a compatibility header so liblastfm and liblastfm1 can both be used with the same source. 2012-06-28 18:40:20 +01:00
Harald Sitter 769baa5c16 Use liblastfm1 2012-06-28 18:40:20 +01:00
John Maguire 4506c71ac8 Fix missing placeholder text in internet search widget. 2012-06-28 14:32:39 +02:00
John Maguire 35a7c7284b Fix placeholder text in library & icecast filters. 2012-06-28 11:40:09 +02:00
John Maguire c415db1524 Port searchboxwidget to qocoa. 2012-06-28 11:39:55 +02:00
John Maguire 53998ee976 Use qocoa for icecast filter. 2012-06-28 11:39:49 +02:00
Arnaud Bienner c7aca6335d Factorize some code for creating song item in Grooveshark and Spotify 2012-06-27 21:19:30 +02:00
Arnaud Bienner 3c5e91ce84 Remove action for opening GS search playlist 2012-06-27 21:19:04 +02:00
Arnaud Bienner a57e2be7ec Don't sort GS popular songs by name as they are already sorted by popularity 2012-06-27 18:44:17 +02:00
Arnaud Bienner 5fc0e1e354 Correct define guard's name 2012-06-27 02:09:19 +02:00
Arnaud Bienner 91930d470e Correct bad indentation 2012-06-27 02:04:05 +02:00
Arnaud Bienner b49c3db6e0 Sort retrieved GS songs only in some cases.
Indeed, even it makes sense sometimes (e.g. for playlists) it doesn't make sense at all for search results...
Make the sorting function part of Song.
2012-06-27 01:55:51 +02:00
Arnaud Bienner ac936c5374 Search on Grooveshark on the left/Internet tab directly, instead of Grooveshark magic playlist.
Next steps:
- add GS albums search on the left tab
- do the same for Spotify if it's convincing enough
- clean-up magic search playlists
2012-06-27 01:21:57 +02:00
David Sansome 1c338455c3 Add missing copyright headers 2012-06-23 11:31:48 +01:00
John Maguire 0d5d1dbad1 Filter out songkick concerts that are too far away. 2012-06-20 14:13:15 +02:00
John Maguire 86cced782e Add geolocator. 2012-06-20 14:13:15 +02:00
David Sansome 45104adca9 Change the Jamendo logic a bit:
Instead of prompting the user to download the catalogue when the library
backend is initialised (which is now always), only do it when the service
node in the InternetView is expanded, or the global search provider is enabled.

Fixes issue 3009
2012-06-19 21:07:58 +01:00
David Sansome b427fc8a24 Merge branch 'globalsearch-tree'
Fixes issue 2238
Fixes issue 2241
Fixes issue 2368
Fixes issue 2375
Fixes issue 2843
Fixes issue 2872
Fixes issue 2938
2012-06-16 21:24:29 +01:00
John Maguire afd42118f1 Support toplists in the ui. 2012-06-12 15:53:23 +02:00
David Sansome 7b4ff1d2ee Update the Search settings page, use the configured provider order 2012-06-11 16:26:33 +01:00
John Maguire 9dd4f31795 Use libspotify 12.1.45.
Fixes issue #2972
2012-06-07 12:35:24 +02:00
David Sansome 150d5a124a Fix a crash and a never-ending task when expanding the Grooveshark item for the first time with an invalid or expired session. 2012-06-02 13:21:56 +01:00
Arnaud Bienner d2f5a7f811 Use QString::localeAwareCompare instead of compare when sorting GS songs 2012-05-17 01:56:11 +02:00
Arnaud Bienner 2a661ec017 Fix Linux CLang Build 2012-05-17 01:52:05 +02:00
Arnaud Bienner cd7d967271 Update issue 2398
Also sort GS songs by names
2012-05-16 01:37:06 +02:00
Arnaud Bienner aaef0de224 Sort GS playlist by name. Fixes issue 2398. 2012-05-16 01:30:18 +02:00
Kacper "mattrick" Banasik f606ae9ba8 Add an option to prefer AlbumArtist tag over Artist when scrobbling to Last.fm. Fixes issue 2901 2012-05-13 16:05:17 +01:00
David Sansome c3fe642779 Use the new DI.fm/SKY.fm authentication API. Fixes issue 2909 2012-05-13 15:44:11 +01:00
Arnaud Bienner ed11075930 Do the same for favorites 2012-05-11 21:46:07 +02:00
Arnaud Bienner 3356fd9b58 Add the ability to remove mulitple GS songs at once. Fixes issue 2933 2012-05-11 21:28:28 +02:00
Arnaud Bienner e0d61eb66c Check that popular_month_, popular_today_ and stations_ still exist (i.e. aren't NULL) when we receive replies.
Indeed, we do not need to be logged in to get results for popular songs and get stations tags. But if the user has been automatically logged out (e.g. session_id not valid anymore) these items have been deleted.
2012-04-04 19:21:18 +02:00
David Sansome 1c80cfbadb Use libspotify 11.1.56 2012-03-27 22:01:37 +01:00
Arnaud Bienner f98616b60b Correct typo 2012-03-27 00:46:06 +02:00
Arnaud Bienner bee99b7554 Ability to get a URL to share GS playlists 2012-03-27 00:43:47 +02:00
Arnaud Bienner ce75c2827a Add the ability to get a GS URL to share a song from Internet view 2012-03-26 23:57:26 +02:00
Arnaud Bienner 3d350b35e9 Add an icon to Grooveshark song URL message box 2012-03-26 23:32:42 +02:00
John Maguire ab0ae4414b Alphabetically sort SomaFM streams.
Fixes issue #2807
2012-03-15 15:42:22 +01:00
Arnaud Bienner 57e41af461 Use large covers for Grooveshark songs.
As now, there is possiblity to set cover as playlist background, it's nicer, with larger images.
2012-03-13 22:53:55 +01:00
David Sansome 204f7acbfa Merge branch 'podcasts'. Fixes issue 44 2012-03-12 19:40:31 +00:00
David Sansome f16fc8867e Allow podcasts to be added through the normal SongLoader mechanism (dragging to the playlist, on the commandline, "Add Stream", etc.) 2012-03-11 17:57:15 +00:00
David Sansome 75a897e92d Don't require each InternetService to keep track of its own current index - do it in the model instead 2012-03-11 14:44:43 +00:00
David Sansome d538b71809 Add buttons and menu items to open the Podcast settings page. Also route these requests through Application rather than InternetModel 2012-03-10 22:39:24 +00:00
David Sansome 792a2e239d Better (some) UI feedback of downloading podcasts. Also fix a bug parsing the timestamps you see in some RSS feeds 2012-03-10 21:06:16 +00:00
Arnaud Bienner 3338174a1f Do not set cover for Grooveshark songs if we don't have one.
This wrongly gives the impression that these songs have a cover
2012-03-08 23:44:35 +01:00
Arnaud Bienner c2a4ca2cf8 Fix some missing reply->deleteLater() in grooveshark service 2012-03-08 21:26:27 +01:00
David Sansome c91acdb3f1 Add an Add Podcast dialog 2012-03-06 18:39:34 +00:00
Arnaud Bienner 0969432820 emit GS albums songs results as long as we get them, instead of waiting to have all the results available. 2012-03-05 00:54:24 +01:00
Arnaud Bienner 0c1eca5ac1 Extract few other metadata info from GS results when initialising song.
However, currently these fields are filled only when calling getAlbumSongs(), unfortunately.
2012-02-28 23:22:09 +01:00
Arnaud Bienner 747e0f510f When (global) searching GS albums, retrieve albums' songs at the same time (instead of album load time).
Albums search is slower, but we can display songs in search results, which is IMHO really nicer.
2012-02-26 16:51:11 +01:00
David Sansome ab5ccf69da Refactoring: remove BackgroundThread 2012-02-26 15:05:46 +00:00
David Sansome bacef04405 Refactoring: remove a couple of the AlbumCoverLoader instances and instead use a shared CurrentArtLoader. 2012-02-26 14:40:51 +00:00
David Sansome 48f15c9fc7 Refactoring: instead of passing individual pointers to useful core classes (like TaskManager or LibraryBackend) to each class that uses them, pass one singleton-like Application instance everywhere. 2012-02-26 14:40:51 +00:00
Arnaud Bienner 1f93c26d97 Correct another QStringBuilder/QString conversion 2012-02-20 20:38:50 +01:00
Arnaud Bienner 089586ad07 Activate fast QString concatenation.
As this is not source compatible because we sometimes assumed (now wrongly) that '+' operation returns QString object (it now returns QStringBuilder object actually), some minor other corrections were needed.
2012-02-19 14:44:33 +01:00
Alan Briolat 532185c15e Subsonic: Add folder icons for non-track tree items 2012-02-01 21:32:57 +00:00
Alan Briolat 81b7b9e898 Invalidate Subsonic browser tree when login state changes
Also, opening preferences no longer causes an implicit login state change.
2012-02-01 21:32:57 +00:00
Alan Briolat 33a9adffa6 Handle "outdated client API" and "unlicensed" errors, improved error messages 2012-02-01 21:32:57 +00:00
Danilo Bargen 551551b451 When API version doesn't match, show error message (fixes #2) 2012-02-01 21:32:56 +00:00
Alan Briolat 6eb1e853a3 Subsonic: using a "more correct" way of handling self-signed SSL certificates 2012-02-01 21:32:56 +00:00
Alan Briolat 705a547ff2 Subsonic: Even more error log output 2012-02-01 21:32:56 +00:00
Alan Briolat 024af25b00 Subsonic: Added log output to diagnose "could not connect to server" problems 2012-02-01 21:32:56 +00:00
Alan Briolat ea08c583c4 Subsonic: Added more song metadata, and feedback when lazy-loading 2012-02-01 21:32:00 +00:00
Alan Briolat 577d13038a Created SubsonicUrlHandler 2012-02-01 21:32:00 +00:00
Alan Briolat eafb351126 Subsonic: enabled playing tracks from subsonic 2012-02-01 21:32:00 +00:00
Alan Briolat 96fc17bd46 Subsonic: ability to explore full subsonic library via tree view
Removed multiple top-level directory support
Bumped client API version 1.6.0 -> 1.7.0 (depends on server version 4.6)
2012-02-01 21:32:00 +00:00
Alan Briolat 89ac5a41f4 Subsonic: lazy-load top-level "music folders" 2012-02-01 21:32:00 +00:00
Alan Briolat 76b0ffb1f2 Hooked up LoginStateWidget for Subsonic settings 2012-02-01 21:32:00 +00:00
Alan Briolat ebc97e03c5 SubsonicService now successfully pings a Subsonic server and interprets the response 2012-02-01 21:32:00 +00:00
Alan Briolat e24c87861f Corrected subsonic-related artwork 2012-02-01 21:32:00 +00:00
Alan Briolat 8110cdf241 Minimal SubsonicService and SubsonicSettingsPage to show up in UI 2012-02-01 21:32:00 +00:00
David Sansome b4e1cef2c2 Restore last.fm artist and tag radio names properly. Fixes issue 2607 2012-01-29 16:32:58 +00:00
Arnaud Bienner 396f375e8d Correct a bug in Grooveshark that make the subscribed playlists to be added in playlists_.
As a result, subscribed playlists are shown in 'Add to Grooveshark' action (when right clicking a GS song), whereas user cannot actually change this kind of playlist
2012-01-22 17:28:58 +01:00
David Sansome 626ce20ec0 Merge branch 'external-tagreader' 2012-01-08 18:38:48 +00:00
David Sansome ff92815ef0 Display any SSL or HTTP errors that occur when creating a grooveshark session 2012-01-08 17:46:50 +00:00
David Sansome bbf99fdd0b Change Spotify to use the new MessageHandler, remove SpotifyMessageHandler 2012-01-08 15:10:11 +00:00
David Sansome 67c6dead5a Rename SpotifyMessage to Message 2012-01-07 23:31:43 +00:00
David Sansome 68a379ef26 Use pb::spotify instead of spotify_pb for the protobuf namespace 2012-01-07 23:26:27 +00:00
David Sansome 4618651cf4 Merge branch 'master' into external-tagreader 2012-01-07 22:52:18 +00:00
David Sansome e9c0b4bd69 Musicbrainz tagging improvements:
* Fix a bug where the song title would be used for the album field
  * Get the album's year as well
  * Include all releases for a song in the results list
  * Remove duplicate albums
  * Sort results
2012-01-07 21:51:02 +00:00
David Sansome 9be641ee87 The external tagreader mostly works now:
* Make TagReaderClient a singleton until it's easier to pass dependencies around
 * Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted
 * Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore
 * Add blocking versions of all TagReaderClient methods
 * Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before
2012-01-07 00:26:07 +00:00
John Maguire 6ac685c4b8 Use correct icon for DI/SkyFM. 2012-01-04 12:39:22 +00:00
John Maguire bcf9475f2b Add a source column to the playlist view with appropriate icons. 2012-01-04 11:56:09 +00:00
Arnaud Bienner 61aaefd65c Magnatune's URL are already encoded: we shouldn't use QUrl constructor directly because some characters (like ') will be encoded twice (%27 then %2527). Fixes issue 2510 2011-12-26 18:15:35 +01:00
Arnaud Bienner bc1e5ec11c Add a refresh action to Grooveshark 2011-12-22 20:49:44 +01:00
Arnaud Bienner d2f531a65b Prefill input dialog with old name when renaming GS playlist 2011-12-22 20:25:45 +01:00
John Maguire ad9525d7da Fix grooveshark string and update translations file. 2011-12-13 17:27:47 +01:00
Arnaud Bienner e2dac6785f Remove useless network_ attribute in some settings pages. Thanks Alan 2011-12-06 23:39:26 +01:00
Arnaud Bienner b364d3fa84 Create GS playlists items when retrieving playlists instead of creating them when retrieving playlists' songs 2011-12-01 23:46:27 +01:00
Arnaud Bienner 74ea844811 Make 'ExtractSongs' not return valid song if 'result' is invalid/empty 2011-12-01 21:46:16 +01:00
Arnaud Bienner 5e80221e18 Ignore invalid urls generated when calling Autoplay 2011-11-30 00:07:10 +01:00
Arnaud Bienner 3f2faf818a Add Grooveshark autoplay radio 2011-11-29 23:52:19 +01:00
David Sansome c1aaed91be Fix the logic for populating somafm and di.fm lists the first time they are expanded 2011-11-29 14:22:02 +00:00
Arnaud Bienner 6f4fab54a2 Remove useless constructor 2011-11-29 14:15:55 +01:00
Arnaud Bienner 1c99c8cc3b Commit missing GS radio files 2011-11-29 14:13:41 +01:00
Arnaud Bienner 1f5ac97934 Add Grooveshark radios 2011-11-29 13:57:35 +01:00
David Sansome 8d5ef62256 Do spotify image requests with string IDs instead of spotify://image/ urls. For some reason this seems to fix occasional crashes when image results arrive. Fixes issue 2411. 2011-11-29 10:21:40 +00:00
Arnaud Bienner ff7cd0334e Ability to rename GS playlists 2011-11-28 21:59:25 +01:00
Arnaud Bienner ac285eeeae Add missing copyright headers 2011-11-28 20:07:18 +01:00
David Sansome 05460f9975 Mark spotify streams as not seekable 2011-11-28 18:45:12 +00:00
David Sansome 22e6a649b7 Remove the custom gstspotifytcpsrc and use tcpserversrc ! gdpdepay to receive data. Use a gstreamer pipeline on the other end as well to send data. 2011-11-28 18:45:12 +00:00
David Sansome 4dc4aa33ac Make the enabled/disabled state of a global search provider separate from its logged in state - means that now Grooveshark and Spotify providers will be enabled as soon as you login 2011-11-28 14:18:20 +00:00
David Sansome b873209d39 Remove the <xiphcomment.h> include from song.h so that windows headers don't infect everything else. Also move other bits of song.h into song.cpp, and reduce the number of includes in song.h. 2011-11-28 13:56:55 +00:00
David Sansome 89e8634928 Treat relogin failed messages from spotify differently, and only show the error dialog once. 2011-11-28 12:32:45 +00:00
Arnaud Bienner a77f4b14d5 When creating a new GS playlist, insert the newly created playlist just above the subscribed playlists, instead of inserting it at the end (after the subscribed playlists) 2011-11-28 00:22:19 +01:00
David Sansome 42bf358b81 Use MP3 URLs for Jamendo instead of Ogg since they seem to keep breaking the Ogg URLs. Fixes issue 2417 2011-11-27 21:28:31 +00:00
David Sansome 456011d100 Don't show the "Retrieving Grooveshark playlists" task forever if the user has no playlists. 2011-11-27 19:02:14 +00:00
David Sansome d0f09d83a1 When a login fails, focus and select all the text in the password field so the user can start typing a new password straight away. 2011-11-27 17:54:36 +00:00
David Sansome add91d32de Fix the tab order in the magnatune settings page so password comes after username 2011-11-27 17:53:54 +00:00
David Sansome 1e0a9e6d94 Fix a bug in the last.fm settings page where logging in with invalid credentials wouldn't hide the busy spinner and re-enable the credential fields. 2011-11-27 17:53:04 +00:00
David Sansome 62c3cb77cd Add settings for spotify bitrate and volume normalisation 2011-11-27 17:29:33 +00:00
Arnaud Bienner 1e02bbe485 Add GS subscribed playlits 2011-11-25 01:00:58 +01:00
Arnaud Bienner 7a188787de Add dividers to Grooveshark tree, to visualise better each type of item 2011-11-24 23:42:22 +01:00
Arnaud Bienner 73a823d190 Explicity mark GS user's playlists as 'UserPlaylist', and display delete action only for this kind of playlist 2011-11-24 20:18:42 +01:00
John Maguire 34111ce373 Consistently use lower case k for kbps. 2011-11-24 16:52:03 +01:00
John Maguire e32bb5cc89 Don't store the spotify password and instead use sp_session_relogin(). 2011-11-24 12:17:19 +01:00
Arnaud Bienner a7cbd28fb9 Don't do a search query if text query is empty: clear special playlist directly 2011-11-24 01:26:29 +01:00
Arnaud Bienner 47be001b8a Add GS homepage action before configure action, like in other internet services menus 2011-11-24 01:13:38 +01:00
Arnaud Bienner ceab3bd6f0 Add Grooveshark songs as internet items, when adding them from global search, so user can use all GS custom actions 2011-11-24 00:30:11 +01:00