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