Commit Graph

2670 Commits

Author SHA1 Message Date
John Maguire 20a967a19f Basic working closure implementation. 2011-10-04 18:26:40 +02:00
John Maguire 9f1e82965d Add Jamendo as a global search provider but disabled by default. 2011-10-03 16:03:03 +02:00
John Maguire 55624c4dda Sort providers by name in global search widget. 2011-10-03 15:39:06 +02:00
John Maguire 58cde734d5 Add support for Magnatune to global search. 2011-10-03 14:44:30 +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 b4c4c7cfef Update po files 2011-10-02 13:04:28 +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
David Sansome 4e9f3a27db Fix the global search tooltip 2011-10-01 21:25:05 +01:00
David Sansome 292610c20b Allow toggling of individual global search providers. 2011-10-01 21:22:01 +01:00
David Sansome 3e189f53bc Change a dodgy variable name 2011-10-01 17:55:53 +01:00
David Sansome 58e3a3b676 Don't reload di.fm and sky.fm streams all the time 2011-10-01 17:41:28 +01:00
David Sansome d59e21d709 Set permissions on Clementine's config file to 0600 2011-10-01 17:15:39 +01:00
John Maguire 0df07719e2 const& 2011-10-01 11:03:36 +02:00
John Maguire bbd0cef2af Consistently name GrooveShark. 2011-09-30 16:02:57 +02:00
John Maguire 41ce54a088 Add copyright header to Grooveshark global search. 2011-09-30 16:01:07 +02:00
John Maguire 870ffdfb46 Remove extraneous debug. 2011-09-30 16:00:05 +02:00
John Maguire 30014f512e Support album covers and loading tracks from Grooveshark in global
search.
2011-09-30 15:58:24 +02:00
John Maguire dd017e99ee Basic global searching in Grooveshark. 2011-09-30 15:35:09 +02:00
David Sansome 30803b6743 Swap between two models (a "back" model and a "front" model) to smooth the delays when typing a search query 2011-09-29 23:26:02 +01:00
David Sansome 4282b6b68b Don't let search results that arrive later appear before other search results - should make navigating the global search results less annoying when there are remote providers like spotify. 2011-09-29 22:29:20 +01: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
Casey Jones a49e2828e6 Display album art from FLAC tags 2011-09-28 00:16:02 +01:00
David Sansome 53e175e503 When stopping due to "Stop after this track", set the current song to the one after, so when the user presses Play it plays the next song instead of the last one again. 2011-09-27 23:31:15 +01:00
David Sansome 4c819b1cb9 Add a "Replace and play now" shortcut to the global search menu. 2011-09-27 22:38:14 +01:00
David Sansome d62d11df8d When songs are added to the end of the playlist, scroll the playlist to ensure the top one is visible. 2011-09-27 22:28:12 +01: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 54016a8286 Add missing --help text for --search-popup 2011-09-25 11:53:42 +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 0b65aa3b02 Factor the generic parts of the last.fm search provider into a SimpleSearchProvider class 2011-09-24 20:42:33 +01:00
David Sansome 0a5ef8382d Don't show a last.fm result if any token didn't match 2011-09-24 18:36:59 +01:00
David Sansome a6f4a76618 Hide an occasional crash when playing a spotify track and loading spotify art at the same time - for some reason printing this URL triggers it... 2011-09-24 18:16:35 +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
David Sansome 5d59c19bbe Update translations 2011-09-24 13:26:41 +01:00
David Sansome 8551d4a46d Only re-show the global search popup on focus events that were caused by the mouse or keyboard. 2011-09-24 13:26:12 +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 2406fdabf6 Check pointer nullity 2011-09-22 19:50:43 +02:00
Arnaud Bienner 10c141e1c1 Fix leak 2011-09-20 19:48:07 +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
John Maguire 0a3b5d3d75 Search for QJson using pkgconfig. 2011-09-20 10:07:55 +02:00
John Maguire adf03678e3 Fix typo 2011-09-20 09:57:18 +02:00
Arnaud Bienner 7cee645539 Oops: forgot to commit few files :( 2011-09-20 00:54:22 +02:00
Arnaud Bienner 399829291d Merge branch 'master' of https://code.google.com/p/clementine-player into grooveshark
Conflicts:
	data/data.qrc
2011-09-20 00:37:20 +02:00
Arnaud Bienner 5dfa4f4838 Add the ability to play streaming songs from GrooveShark 2011-09-20 00:26:24 +02:00
Arnaud Bienner d380c2e49d Add 'Range' field to HTTP header when playing GrooveShark streaming URL 2011-09-19 23:52:21 +02:00
David Sansome 8f3ea57a64 Fix the background colour of items in the global search popup in Qt 4.7 with the GTK style. 2011-09-19 11:06:25 +01:00
John Maguire 66f9d3c8b0 Remove pointless setFocus(). 2011-09-19 12:05:02 +02:00
David Sansome f2062cb68a Use the selected provider when adding songs to the playlist 2011-09-19 00:35:30 +01:00
David Sansome 847d90d117 Add a "Switch provider" action when there is more than one provider for a search result 2011-09-19 00:29:09 +01:00
David Sansome 334ecd3c38 Add an inner border to the tooltip 2011-09-18 23:41:25 +01:00
David Sansome e10efbc484 Make "Add and play now" work 2011-09-18 23:26:21 +01:00
David Sansome b45c5a866e Make the tooltip actions work properly by click and shortcut key, add a pretty mouseover animation to the tooltip actions, pass mouse events through to the proper widget when the tooltip is open. 2011-09-18 23:07:57 +01:00
David Sansome 7ec059dc13 Add a tooltip action widget (actions don't work yet) 2011-09-18 17:43:53 +01:00
David Sansome 2a97a63719 Prettier global search tooltip 2011-09-18 16:00:04 +01:00
David Sansome 4ac16f0dd4 Add a "tooltip" that shows the songs within each album in the global search results 2011-09-18 00:06:07 +01:00
David Sansome 02f2d5dc88 Combine similar search results 2011-09-17 17:42:14 +01:00
David Sansome 4065037aba Show a big track count indicator and provider icons in global search results 2011-09-17 16:21:08 +01:00
David Sansome 9e8b29c86a Get track counts for Spotify albums 2011-09-17 15:57:34 +01:00
David Sansome d5f043f2c0 Scale the nocover image properly 2011-09-17 15:28:26 +01:00
David Sansome 401700822d Paint the second line of search results in the same colour, increase spacing slightly 2011-09-17 15:24:46 +01:00
David Sansome 9596377de1 Make the popup bigger by default, but shrink it if it would go off the screen 2011-09-17 15:12:00 +01:00
David Sansome 61b3493c01 Fix the selected text color in the global search popup 2011-09-17 15:03:56 +01:00
David Sansome d9533fca26 Don't hide the popup when pressing enter, and show it again when re-focusing the search box 2011-09-17 14:23:44 +01:00
David Sansome 02257d8b37 Adjust the global search widget's style a bit 2011-09-17 14:04:57 +01:00
H. İbrahim Güngör 99a25f9d1e Updated turkish translation 2011-09-17 14:04:56 +01:00
John Maguire 0da6a4f1ca Tidy up use of mac_psn. 2011-09-16 16:27:31 +02:00
John Maguire b0c880d444 Adds --search-popup command line option. 2011-09-16 16:19:52 +02:00
John Maguire 8e69104a6a Merge branch 'master' of https://code.google.com/p/clementine-player 2011-09-16 15:48:54 +02:00
John Maguire 55fc18fcc7 Improve the behaviour of the search popup on Mac. 2011-09-16 15:48:21 +02:00
John Maguire 309634bc18 Blacklist eLicenser copy protection dongle from Mac MTP probing.
Fixes issue #2232
2011-09-15 17:42:03 +02:00
Arnaud Bienner bc3f56ae0e Add settings page + login method for GrooveShark 2011-09-13 22:32:10 +02:00
Arnaud Bienner b8d5068624 Merge branch 'master' of https://code.google.com/p/clementine-player into grooveshark 2011-09-13 22:27:10 +02:00
John Maguire e1f66960f8 Swap vendor id and product id for ilok2.
Update issue #2226
D'oh, fixed.
2011-09-13 16:39:40 +02:00
John Maguire 17adb2bd6d Blacklist ilok2 device from Mac MTP detection.
Update issue #2226
Hopefully this will fix it.
2011-09-13 15:57:13 +02:00
John Maguire 09c288a506 Fix compile error in grooveshark service. 2011-09-02 12:52:05 +01:00
Arnaud Bienner 99fdba877e Merge branch 'master' into grooveshark 2011-09-02 00:35:40 +02: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
Arnaud Bienner 839bb411f2 Make qjson not optional, as we will need it for Grooveshark 2011-09-01 23:48:32 +02:00
Arnaud Bienner 096680c576 Add Hmac for MD5 2011-09-01 23:45:47 +02:00
John Maguire cc522cab7b Clear the global search box after tracks have been selected. 2011-09-01 16:30:56 +01:00
John Maguire 395c487250 Only create one global search popup. 2011-09-01 16:30:42 +01:00
John Maguire 551a85cb9b Add missing copyright headers. 2011-09-01 16:07:07 +01:00
John Maguire 2dc7c3ea8e Hook up the popup's buttons to the Player. 2011-09-01 15:56:56 +01:00
John Maguire ee9b9501ed Remove global search popup frame and show on top when triggered. 2011-09-01 15:41:47 +01:00
John Maguire 914eb59215 Make searching and adding work from global search popup. 2011-09-01 15:10:36 +01:00
John Maguire c2d68fd697 Basic search popup triggered by a global shortcut. 2011-09-01 14:23:16 +01:00
John Maguire 85e101c8a7 Fix the global shortcut grabber on Mac. 2011-09-01 14:10:30 +01:00
John Maguire 3aa1d75163 Add attribution for ALL THE THINGS. 2011-08-30 15:44:42 +01:00
David Sansome 5aca9b7984 Support for playing tracks from Spotify 2011-08-29 03:32:50 +01:00
David Sansome c1041ed6d4 Support for playing tracks from local library 2011-08-29 03:32:41 +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 5dc053827a Fix spotify image loading 2011-08-29 03:32:35 +01:00
David Sansome c96d402f26 Add a flag that search providers can set to indicate they want one art request at a time 2011-08-29 03:32:17 +01:00
David Sansome 1d2c142fdc Key delayed searches on timer id - more efficient for the common case 2011-08-29 03:31:49 +01:00
David Sansome dbffe16d04 Add a flag that search providers can set to indicate they want some delay between user input and being asked to search 2011-08-29 03:31:19 +01:00
David Sansome 8dea8a2664 Add a spotify global search provider 2011-08-29 03:31:12 +01:00
David Sansome dbe8ffd5de Try to sort by "quality", ie. matches at the start of the song metadata rate higher. 2011-08-29 03:30:32 +01:00
David Sansome 415c86ab90 Increase the border size 2011-08-29 03:30:22 +01:00
David Sansome 2c954a5d4a Cache pixmaps for album art 2011-08-29 03:30:14 +01:00
David Sansome cd44c47f7b Sort the results in the popup list, prevent the user from searching for short strings 2011-08-29 03:29:51 +01:00
David Sansome 0f9d2d29bb Minor UI tweaks 2011-08-29 03:29:04 +01:00
David Sansome 9370657b50 Started work on a global search for library, with album art.
The idea is that there's a single place to search for music, and it doesn't matter where it is, Clementine will find something playable.
2011-08-29 03:27:47 +01:00
David Sansome 2cbe90c2e5 When playing a last.fm stream, don't scrobble the next item in the playlist in between each track of the last.fm stream. Fixes issue 1943 2011-08-28 02:59:19 +01:00
David Sansome 7e1b6ef6c4 Use locale aware sorting for the lists of artists and albums in the album cover manager. Fixes issue 1952 2011-08-28 00:25:41 +01:00
David Sansome 195f618bf2 When organising files, make %albumartist behave as %artist if the song has no albumartist tag set. 2011-08-28 00:02:41 +01:00
David Sansome 1d098a40b8 Revert commit ddfb90a0a1, and always delete files from disk rather than sending them to trash. 2011-08-27 23:54:55 +01:00
David Sansome a8d9f9104a Map playlist indices to the source model when passing them to the future watcher for background saves, fixing a bug where the wrong notification would be sent when editing track information for the currently playing song and the playlist was filtered. Fixes issue 2063 2011-08-27 23:16:57 +01:00
David Sansome 804cbbc14e Save the playlist after editing fields of files in it - affects files that are not in the library. 2011-08-27 23:09:42 +01:00
David Sansome 9312f153b7 Don't show a notification and update the now playing widget when editing a song that isn't currently playing. Fixes issue 1689 2011-08-27 23:08:53 +01:00
David Sansome 5884502389 Fix a bug loading where song metadata wouldn't be loaded from the library when loading a local file containing spaces. Fixes issue 2192 2011-08-27 22:51:30 +01:00
David Sansome 2f63130606 When renumbering tracks, only start from the track number of the first track if it's greater than 0. Fixes issue 2072 2011-08-27 22:43:02 +01:00
David Sansome 7f7451b72a Stop the M3UParser from going into an infinite loop when parsing a file with an invalid #EXTINF line. Fixes issue 2080 2011-08-27 22:35:00 +01:00
David Sansome 7e0e4e48e4 When loading a CUE from disk that isn't in the library, don't overwrite the metadata of its first song with the metadata from the audio file. Fixes issue 2092 2011-08-27 22:29:35 +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
John Maguire 72198db1ba Make the album cover search dialog window modal so that it acts like a sheet on Mac. 2011-08-27 14:50:11 +01:00
David Sansome 263f57b47b Only set the pretty OSD's message in the notifications settings page's constructor - don't show it as well. It would just get hidden again straight away, and for some reason this triggers a (Qt?) bug where the window gets painted in the top-left corner, but reacts to mouse clicks in its actual position.
Fixes issue 2110
2011-08-26 23:34:13 +01:00
Arnaud Bienner 3dc4e3aa0b Merge branch 'master' of https://code.google.com/p/clementine-player 2011-08-26 00:23:30 +02:00
Arnaud Bienner 21f5345da4 Also work with cdda URLs which doesn't contain device inside URL 2011-08-26 00:11:18 +02:00
David Sansome 73a1052f70 Use a fakesink instead of an appsink in the probe pipeline to fix a memory leak and make it work on Windows where we don't bundle appsink.
Fixes issue 2177
2011-08-22 22:40:33 +01:00
Andrew Gaydenko 41a151840f Split the gstreamer pipeline - one path is converted to 16-bit int samples for the scope. The other is kept at float32 to preserve the bit depth of the audio.
Fixes issue 2114
2011-08-19 22:02:42 +01:00
Arnaud Bienner 5cbb86f247 Use toEncoded instead of toString in SQL query 2011-08-19 22:37:59 +02:00
Arnaud Bienner 5841bb58a7 Correct typo in comment 2011-08-19 22:31:48 +02:00
Arnaud Bienner f319a615d9 Use url when checking if a file is already in DB instead of filename when loading files (this usecase has been missed when we have decide to use urls everywhere) 2011-08-18 22:43:52 +02:00
Arnaud Bienner f33b62a877 Oops... Actually, it's better like this :) 2011-08-18 22:10:09 +02:00
Arnaud Bienner 299f15b7ee Allow GIO to handle CD devices if libcdio isn't installed 2011-08-18 21:41:14 +02:00
Arnaud Bienner 91537777c8 Ignore cdda devices detected via gio ealier, to avoid crash when getting device's filesystem info. This seems to happen because both giolister and cddadevice try to access to the device at the same time 2011-08-18 21:34:45 +02:00
Arnaud Bienner 419447e192 Reset song count during init 2011-08-18 20:23:11 +02:00
David Sansome e194d89857 Fix a crash when choosing "Edit track information" from the library view 2011-08-18 00:38:49 +01:00
John Maguire 8ad150bd6b Don't detect CD devices on Mac when we can't use them and fix an iokit
device leak.
2011-08-15 18:13:05 +02:00
John Maguire 56a4d6b743 Fix double unref on cdda element. 2011-08-15 18:08:09 +02:00
David Sansome 3be95c9462 Always compile the spotify settings page UI file to fix a build failure when spotify was disabled. Fixes issue 2159 2011-08-15 11:36:06 +01:00
David Sansome 4ce5cf03d2 Enforce the correct minimum width on settings dialog pages so they don't appear clipped horizontally 2011-08-14 20:19:54 +01:00
David Sansome 4b1e2f08e9 Put each settings page in a scroll area, and resize the settings dialog to fit on the user's screen if it's too big. Fixes issue 953. 2011-08-14 15:41:47 +01:00
David Sansome dad76b78dd Move all the settings pages to their own widgets and classes 2011-08-14 00:07:10 +01:00
John Maguire 50824cafe9 Make AskForScan() per-device rather than per device lister and fix cddadevice to use the url rather than the unique id. 2011-08-11 22:10:14 +02:00
John Maguire b458c9d24c Merge branch 'master' of https://code.google.com/p/clementine-player
Conflicts:
	src/devices/devicemanager.cpp
2011-08-11 21:46:48 +02:00
John Maguire 75a53d0b36 Detect CD removal on mac. 2011-08-11 21:43:00 +02:00
John Maguire 47a171fca7 Detect cd insertion on mac. 2011-08-11 21:37:09 +02:00
Arnaud Bienner 4509757233 We cannot change CD device's content: return false for those methods. This will display an error message, more explicit than doing nothing without any warning 2011-08-11 01:16:08 +02:00
Arnaud Bienner 3b6af2298d Remove useless return statement which prevents using the 'friendly name' (even if we're supposed to rarely go here) 2011-08-11 01:10:45 +02:00
Arnaud Bienner 1a4aa8f641 Make the 'dont ask on first connect' more generic 2011-08-11 00:59:34 +02:00