Commit Graph

600 Commits

Author SHA1 Message Date
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
John Maguire 20d740f385 Port global search & album cover search to QSearchField and remove MacLineEdit. 2012-06-28 11:40:13 +02:00
John Maguire 569c8295db Add qocoa and use it for the playlist search field. 2012-06-28 11:39:43 +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
John Maguire 74fe419659 Factor out metatype registration. 2012-06-20 15:07:28 +02:00
John Maguire 86cced782e Add geolocator. 2012-06-20 14:13:15 +02: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
David Sansome 5e685b2b14 Don't treat @ characters as separators in the LINGUAS cmake option. Fixes issue 2999 2012-06-13 09:58:37 +01:00
David Sansome 9d6b72b4ab Add global search suggestions 2012-06-10 23:05:30 +01:00
David Sansome 97b4298002 Split some bits of GlobalSearchView into a GlobalSearchModel 2012-06-10 21:11:55 +01:00
David Sansome 6e41a20e61 Add a helpful message to the Search view when no query has been entered 2012-06-10 19:00:51 +01:00
David Sansome 41fab25569 Auto-expand tree items and lazy load album cover art 2012-06-10 17:15:32 +01:00
David Sansome 9c36cfa199 Replace the global search widget with a "Search" view on the sidebar. Organise results in a tree automatically. 2012-06-10 16:36:15 +01:00
John Maguire 2da6c40fb5 Add runtime checker for gsignal callback arguments. 2012-06-08 14:27:38 +02:00
John Maguire 1f836d8e29 Merge branch 'songkick'
Conflicts:
	data/data.qrc
	src/songinfo/artistinfoview.cpp
2012-06-04 14:41:47 +02:00
John Maguire 2888701386 Add support for Twitter timeline in artist info. 2012-05-29 17:26:34 -07:00
John Maguire 21419765d3 Add beginnings of support for requesting events calendar for an artist
from songkick (waiting on API key).
2012-05-29 16:31:27 -07:00
David Sansome b03563f317 Make it possible to compile out moodbar support 2012-05-27 21:33:05 +01:00
David Sansome 638a4b9739 Bundle the gstreamer moodbar plugin, with a patch that protects calls to fftwf_plan from multiple threads. 2012-05-27 17:30:58 +01:00
David Sansome 19c3e1d5ec Add a Mood column to the playlist 2012-05-27 16:46:16 +01:00
David Sansome f1dee1171b Move the moodbar rendering bits into another class 2012-05-25 23:56:55 +01:00
David Sansome e3cfd64764 Render the moodbar data in the slider widget, and write .mood files alongside music files. 2012-05-25 22:02:10 +01:00
David Sansome 51229b88c5 Create or load moodbar data for songs 2012-05-25 17:18:07 +01:00
David Sansome 6677d0fe30 Remove Android remote control support for now 2012-04-13 15:01:22 +01:00
David Sansome 119c9c27ac Detect libimobiledevice 1.1.2 and use its new "udid" field instead of "uuid". 2012-03-27 21:24:38 +01:00
David Sansome 19a971c7cd Add support for adding podcast episodes to the playlist 2012-03-10 23:39:09 +00:00
David Sansome b0dd1bd284 Add a podcast downloader 2012-03-10 15:32:36 +00:00
David Sansome 1abf059d16 Add a Podcasts settings page and the start of some gpodder.net syncing 2012-03-09 15:26:38 +00:00
David Sansome b9e08bbfe6 Update podcasts on a schedule and on demand. Update them immediately after subscribing, and make episodes appear in the tree. 2012-03-09 15:26:15 +00:00
David Sansome 80b95a357d Add a BBC Podcasts page 2012-03-07 15:31:12 +00:00
David Sansome 17dfc99462 Add an iTunes podcast search page 2012-03-07 12:27:44 +00:00
David Sansome bbb661b82c Add a gpodder.net search 2012-03-06 21:25:16 +00:00
David Sansome 884080684a Add a helper class to load icons asynchronously and set them on QStandardItems 2012-03-06 21:24:41 +00:00
David Sansome e54a2ff5c5 Get the most popular top-level tags from gpodder.net 2012-03-06 18:39:34 +00:00
David Sansome c91acdb3f1 Add an Add Podcast dialog 2012-03-06 18:39:34 +00:00
David Sansome 90bbed1ec9 Add podcast parsing and database classes 2012-03-06 18:39:23 +00: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 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 577d13038a Created SubsonicUrlHandler 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
John Maguire 3e65d3d5f0 Add ScopedNSAutoreleasePool from Chromium. 2012-01-31 13:54:03 +01:00
Martin Björklund 8d63ddd3eb Add a Discogs cover provider
Fixes issue 1794
2012-01-29 14:27:07 +00:00
Руслан Ижбулатов 5c45e22e28 Make SAC and WMDM optional 2012-01-22 14:35:22 +00:00
Orcan Ogetbil 9dd4b1bb94 Use SHA2 system library when available
Fixes issue 2623
2012-01-17 23:12:44 +01:00
Arnaud Bienner c2d794c014 Merge branch 'master' into appearance 2012-01-09 20:15:10 +01:00
Arnaud Bienner ea063e1c39 Add missing modifications 2012-01-09 20:08:09 +01:00
John Maguire aa20c2b226 Deploy clementine-tagreader on mac. 2012-01-09 11:24:34 +00:00
David Sansome 4618651cf4 Merge branch 'master' into external-tagreader 2012-01-07 22:52:18 +00:00
David Sansome d17629586f Use the system version of libchromaprint if available 2012-01-07 15:27:50 +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 cdb381a85f Rename MusicDNS -> Acoustid. 2012-01-06 16:51:27 +00:00
John Maguire 598948d16e Remove echoprint. 2012-01-06 16:42:22 +00:00
John Maguire f241124b1d Remove old OFA fingerprinter. 2012-01-06 16:40:08 +00:00
John Maguire 423295b01e Add Chromaprinter class to generate fingerprint from gstreamer PCM output. 2012-01-06 15:58:46 +00:00
John Maguire b9eec4ce38 Build & link against Chromaprint. 2012-01-06 15:57:51 +00:00
David Sansome 9041117867 Move everything around in the source tree - static libraries and external binaries now go in "ext/". Add a generic worker pool. 2012-01-05 23:25:13 +00:00
David Sansome 85f2f087cb Start work on moving everything that uses taglib out into an external process. 2012-01-05 23:24:48 +00:00
John Maguire 9fdfb52225 Use FSEvent-based filesystem watcher on Mac. 2012-01-05 14:51:23 +00:00
John Maguire 96aa95bebd Add filesystem watcher using Mac FSEvents API. 2012-01-04 15:24:53 +00:00
David Sansome 7e60907578 Oops, remove the pot build target from the last commit - it breaks when doing a clean build 2012-01-03 19:30:35 +00:00
David Sansome d3c2788836 Remove the .pot file from source control and add a "make pot" target to just generate the .pot 2012-01-03 19:22:00 +00:00
David Sansome 52a1cc3a08 Remove the global search popup for now until it can be made a bit prettier
(cherry picked from commit 54df30c15d)
2011-12-12 20:50:02 +00:00
David Sansome f762b3787e Derp 2011-12-02 16:58:16 +00:00
David Sansome c0ac798a71 Create a 1.0 release branch, and rework the way version numbers are done everywhere. 2011-12-02 14:48:19 +00:00
David Sansome c7d184c6bd Groovesharkradio.h doesn't need to be moc'd 2011-12-01 14:32:21 +00:00
David Sansome 1ad55e6a1b Fix linking on Oneiric 2011-12-01 09:28:11 +00:00
John Maguire 542faab959 Hopefully fix linking on newer Ubuntus. 2011-11-30 16:50:23 +01:00
John Maguire 7951691a7e Link the right library for dlopen/dlclose on all platforms.
Fixes issue #2443
2011-11-30 15:41:00 +01:00
Arnaud Bienner b9bf35948a Merge branch 'master' of https://code.google.com/p/clementine-player 2011-11-29 13:57:42 +01:00
Arnaud Bienner 1f5ac97934 Add Grooveshark radios 2011-11-29 13:57:35 +01:00
Vadim Zhukov c084d13ff1 Apply downstream OpenBSD patches against projectm. Fixes issue 2277 2011-11-29 11:27:35 +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
John Maguire e9d770a864 Remove pjsip/stun code and make PortForwarder at least compile. 2011-11-28 16:22:13 +01:00
John Maguire 875645ee0c Use Tomahawk script to generate a prettier DMG. 2011-11-28 15:26:22 +01: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 7548919bc1 Remove the resolvers for now - they don't work properly and ought to use the global search. 2011-11-27 22:15:28 +00: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
David Sansome 691cb9a392 Treat URLs specially in the global search widget 2011-11-11 22:11:25 +00:00
John Maguire bd74a9a0e2 Link QCA directories 2011-11-08 00:11:12 +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 19a12adf3e Add the QCA include dirs if QCA was found, even if spotify core was turned off 2011-11-05 17:27:10 +00: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
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
David Sansome ce66bdf1e8 Always run uic on optional ui files so we can get translations out. It was supposed to do this already... 2011-11-03 17:19:37 +00: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
David Sansome 08e09ce5dd Add a settings page for global search - doesn't save yet 2011-10-30 18:52:38 +00:00
David Sansome 1f6bc7cd9a Don't update the .po files automatically from the .pot each build (Transifex will do that now). Also add source files that aren't compiled because of options being disabled to the OTHER_SOURCES list (for translation) automatically. 2011-10-29 18:37:30 +01:00
David Sansome 9a739a3346 Add a DBus interface onto the global search engine, and add a KDE krunner plugin that performs global searches in Clementine.
This is optional and is not compiled unless you have the plasma developer packages installed.
2011-10-19 23:17:24 +01:00
John Maguire 20a967a19f Basic working closure implementation. 2011-10-04 18:26:40 +02:00
David Sansome 58e3a3b676 Don't reload di.fm and sky.fm streams all the time 2011-10-01 17:41:28 +01:00
John Maguire dd017e99ee Basic global searching in Grooveshark. 2011-09-30 15:35:09 +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 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 cc20d90a7a Last.fm global search provider 2011-09-24 17:01:18 +01:00
John Maguire 0a3b5d3d75 Search for QJson using pkgconfig. 2011-09-20 10:07:55 +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
David Sansome 7ec059dc13 Add a tooltip action widget (actions don't work yet) 2011-09-18 17:43:53 +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
John Maguire 55fc18fcc7 Improve the behaviour of the search popup on Mac. 2011-09-16 15:48:21 +02:00
Arnaud Bienner bc3f56ae0e Add settings page + login method for GrooveShark 2011-09-13 22:32:10 +02:00
Arnaud Bienner 99fdba877e Merge branch 'master' into grooveshark 2011-09-02 00:35:40 +02:00
Arnaud Bienner 839bb411f2 Make qjson not optional, as we will need it for Grooveshark 2011-09-01 23:48:32 +02: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
David Sansome 8dea8a2664 Add a spotify global search provider 2011-08-29 03:31:12 +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 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 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 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 dad76b78dd Move all the settings pages to their own widgets and classes 2011-08-14 00:07:10 +01:00
David Sansome 191e23ed13 Remove old references to libarchive 2011-08-10 16:30:36 +01:00
David Sansome 082716e9c9 Don't try to compile audio CD support if libcdio isn't installed. 2011-08-10 16:30:36 +01:00
John Maguire 5fcb3d3d7a Merge branch 'master' into resolvers 2011-08-09 19:30:20 +02:00
Arnaud Bienner f7859f591c Adding CD devices in devices tab. Fixes issue 701. 2011-08-05 02:15:16 +02:00
John Maguire 2bda4966fc Basic working use of resolvers for XSPF playlists. 2011-07-28 17:33:58 +02:00
David Sansome 5c90404915 Sort album covers by image size. Fixes issue 2048 2011-07-26 12:17:28 +01:00
David Sansome a1062eb96f Add sha256 and hmac-sha256 functions 2011-07-23 19:33:00 +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
Tyler Rhodes ded8e5f6f0 Refactor "Radio" files into "Internet" files. 2011-07-15 13:27:50 +00:00
John Maguire e4c8eee7d9 Add lastfm suggester to OTHER_SOURCES for translations. 2011-07-07 14:22:32 +00:00
John Maguire ea3cf5f92d Only build lastfm suggester if we have lastfm.
Fixes issue #2057
2011-07-07 13:36:44 +00:00
David Sansome 7773e98ebf Keep track of some statistics while searching for album covers, and show a statistics dialog at the end. Fixes issue 1921 2011-06-26 15:07:48 +00:00
David Sansome dd98f8abc8 Make the album cover search results list scroll by pixel instead of item, and re-layout the items when any data changes 2011-06-26 15:06:59 +00:00
John Maguire 1df5db5ee3 Add Echoprint library and a new fingerprinting classs that uses it. 2011-06-25 17:30:12 +00:00
David Sansome 2ef9ab6f6e Replace the KCategorizedView with a custom widget that works better. 2011-06-25 16:47:00 +00:00
David Sansome dad22297d1 Add a nyan cat analyzer.
Nyan nyan nyan nyan.
2011-06-22 23:25:08 +00:00
David Sansome 4864d24e42 Only do the Ubuntu Unity hack on Linux 2011-06-22 20:52:49 +00:00
David Sansome 62bd3694ec Remove cover provider factories and refactor everything else to use cover providers directly instead. 2011-06-19 23:15:51 +00:00
David Sansome c6e2981860 Group album cover search results by category 2011-06-19 23:15:29 +00:00
David Sansome fd7d24b11a Add Clementine to the Unity system tray whitelist on startup. 2011-06-18 19:08:09 +00:00
John Maguire 54e9299c08 libgsttag is also required to build clementine now. 2011-06-16 13:49:10 +00:00
Arnaud Bienner 272841ab73 Starting audio CD support. Starts issue 701 2011-06-09 23:08:43 +00:00
John Maguire 69cfd03248 Only build spotify resolver when spotify enabled. 2011-05-31 16:01:33 +00:00
John Maguire e5d991ddaf Add Resolver interface and Spotify resolver. 2011-05-31 15:33:46 +00:00
John Maguire 41e79bea0e Add basics of last.fm suggester and library resolver. 2011-05-31 14:36:28 +00:00
John Maguire 97a8aa54be Use SPMediaKeyTap for global media keys on Mac.
Thanks to: tyler.s.rhodes@gmail.com
2011-05-30 10:09:34 +00:00
David Sansome 147bbb9928 Add some more python bindings 2011-05-19 23:02:15 +00:00
John Maguire 51e031df2b Add class for transcoding a Song into an OGG Vorbis stream. 2011-05-19 16:34:33 +00:00
Paweł Bara d1d177769a cover providers are now recreated every search (this will lead to simpler API of theirs in a moment)
initial migration from SIP -> PythonQt in cover providers
2011-05-17 17:53:36 +00:00
John Maguire 69b2942566 Add dependency so spotify blob is built before clementine. 2011-05-17 11:53:17 +00:00
John Maguire e7f635e507 Maybe fix mac spotify build. 2011-05-16 15:15:02 +00:00
David Sansome 7b84b23366 Add bindings for classes from network.h 2011-05-15 16:12:49 +00:00