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
Arnaud Bienner
c234afb776
Add open in browser action to Grooveshark
2011-11-23 23:56:02 +01:00
Arnaud Bienner
4b8e9b2d82
Oups: missed one
2011-11-23 23:53:55 +01:00
Arnaud Bienner
4b1de1a055
Always use 'Open %1 in browser' string; so just one string to translate: less work, and avoid discrepancies across translations
2011-11-23 23:42:46 +01:00