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
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
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