Commit Graph

217 Commits

Author SHA1 Message Date
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 6c5e831a7d Remove tag encoding detection as we don't really use it anymore. 2012-11-29 13:41:20 +01:00
John Maguire 1981fd0b7e Fix minimal build. 2012-11-29 12:17:47 +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 9c7a3ab105 Rename google drive tagging methods to more appropriate generic names. 2012-11-28 16:34:10 +01:00
John Maguire 210f978188 Rename GoogleDriveStream -> CloudStream. 2012-11-28 16:25: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 c294098aef Use tr1 for mac compatibility 2012-11-26 10:10:20 +01:00
John Maguire 11f664083a Add support for standard function callbacks in NewClosure (including C++11 lambdas). 2012-11-26 09:41:26 +01:00
John Maguire 4e9231976e Unpack variadic arguments into QGenericArguments without boost::tuple. 2012-11-22 17:57:26 +01:00
John Maguire 8171192df5 Port Closure to variadic templates. 2012-11-22 17:19:04 +01:00
Arnaud Bienner c848d311b8 Remove useless comment now we have variadic templates for ConcurrentRun 2012-11-22 02:08:59 +01:00
John Maguire fddce90624 Use boost::bind & boost::function instead of std equivalents for better compatibility. 2012-11-21 17:17:37 +01:00
John Maguire 1fd0515168 Make variadic version of ConcurrentRun::Run() 2012-11-21 16:39:10 +01:00
John Maguire a12ffa829e Try C++0x instead of C++11 for older compilers. 2012-11-19 19:38:29 +01:00
John Maguire e5d02fddb6 Enable C++11 for Clementine & libclementine 2012-11-13 17:03:53 +01:00
David Sansome 36ac3a2ec0 Use the full protobuf instead of protobuf-lite, to hopefully fix
a crash on Windows.
2012-11-12 18:16:35 +11:00
David Sansome 95df1a4c25 Remove a useless message copy 2012-11-07 09:18:49 +11:00
Veniamin Gvozdikov 3542357636 Fix linking clementine-tagreader on FreeBSD.
Fixes issue #3245
2012-10-31 13:30:23 +01:00
Arnaud Bienner 09596e3732 Don't get stuck when exiting Clementine while library is being created/updated 2012-08-30 00:01:28 +02:00
John Maguire a55cbc838f Merge branch 'master' into drive 2012-08-09 12:59:09 -07:00
David Sansome 5845b069a3 Use a sensible spotify settings directory on Windows instead of C:\HKEY_CURRENT_USER\... ಠ_ಠ 2012-08-04 17:16:06 +01:00
John Maguire 94878b4bd2 Slightly hacky support for AAC on Google Drive. 2012-07-31 17:57:17 +02:00
John Maguire e06ae8a282 Support reading OGG & FLAC files from Google Drive. 2012-07-31 15:18:14 +02:00
John Maguire 08286102da Precache the first and last parts of Google Drive MP3s to reduce the
number of requests when using accurate tagging.
2012-07-30 13:41:29 +02:00
David Sansome 9653a45f66 Read Google Drive metadata in the tagreader worker process 2012-07-28 19:35:12 +01:00
Arnaud Bienner eded1daca1 Correct typo in comments 2012-07-16 00:39:00 +02:00
Arnaud Bienner 20987e140d Oops: missing to update CMakeList.txt 2012-07-16 00:21:56 +02:00
Arnaud Bienner 0e3dc5a8be Add new ConcurrentRun templates for void functions, and functions with 3 arguments + corresponding test cases.
+ SongLoader now has its own QThreadPool to load folders/playlist in background.
Update issue 2598
This should fix slowliness problems reported.
2012-07-16 00:06:55 +02:00
John Maguire 58a3a6831a Move loading of devices from the database onto a different thread. 2012-06-29 16:56:17 +02:00
David Sansome 1c338455c3 Add missing copyright headers 2012-06-23 11:31:48 +01:00
John Maguire b9d2d3326d Only support override in Clang. 2012-06-21 16:13:41 +02:00
John Maguire 09d37aaa01 Add OVERRIDE macro like Java's @Override. 2012-06-20 16:49:41 +02:00
John Maguire 215595bfdb Support toplist browsing in spotify blob. 2012-06-12 15:34:23 +02:00
David Sansome 5984aecbb8 Make the spotify blob send 5 seconds of audio ahead of the clock time to fill up Clementine's buffer when starting playback. Fixes issue 2671 2012-06-09 17:52:39 +01:00
John Maguire 9dd4f31795 Use libspotify 12.1.45.
Fixes issue #2972
2012-06-07 12:35:24 +02:00
Arnaud Bienner dcc26b01ff Correct define guard's name 2012-04-25 01:22:30 +02:00
Arnaud Bienner 01daea7090 Commit missing modifications/change ConcurrentRun description a bit 2012-04-25 00:29:19 +02:00
Arnaud Bienner 76b98000fe Add ConcurrentRun functions, and us one of them in gstenginepipeline with gstenginepipeline's own threadpool.
So now we can (finally!) play/pause/stop music while fingerprinting lot of songs or whatever else
2012-04-25 00:21:01 +02:00
Arnaud Bienner fbda1f9489 Add a debug message when TagLib can't read a file 2012-04-25 00:10:40 +02:00
John Maguire 66c8d6d360 Tidy up a bit. 2012-04-13 15:53:17 +02:00
John Maguire 133c2e1640 Postpone the database check & backup to a little while after startup. 2012-04-13 15:49:56 +02:00
David Sansome 1c80cfbadb Use libspotify 11.1.56 2012-03-27 22:01:37 +01:00
John Maguire a09165c392 Make it more obviously wrong to use the Closure internals. 2012-03-20 15:14:44 +01:00
John Maguire e4ae4b6df5 Remove poor man's static asserts. 2012-03-19 21:19:24 +01:00
John Maguire c4d3062459 Make the SharedClosure implementation a bit less horrible. 2012-03-19 21:17:57 +01:00
David Sansome d7a5af07fb Copy+paste the shared pointer closure constructor a couple of times for different numbers of arguments. 2012-03-19 19:38:36 +00:00
John Maguire e1d77e0124 Add support for QSharedPointer in Closure. 2012-03-19 19:37:57 +01: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 b53578c490 Don't reset a song's rating back to 0 if it was edited in the EditTagDialog 2012-03-04 13:36:22 +00:00
John Maguire 5280ddf3d7 Add support for demangling symbols on Linux. 2012-02-02 15:50:42 +01:00
David Sansome f213813e71 Load cover art from MP4 files 2012-01-29 19:51:58 +00:00
David Sansome 34a24971c5 Don't try to restart a worker while killing it. 2012-01-22 18:53:17 +00:00
David Sansome 694ffe42df Don't send messages to a handler in the time between its socket closing and its process ending. Fixes a race condition that would result in a tag loading operation never completing. Fixes issue 2616 2012-01-22 18:53:17 +00:00
David Sansome 58c0f464cd Queue messages in WorkerPool instead of in each individual handler, so the entire queue isn't lost if a worker crashes. 2012-01-22 18:53:17 +00:00
David Sansome 84a1ae2f87 Add some debugging code to the tagreader worker that makes it crash randomly. 2012-01-22 18:53:17 +00:00
John Maguire 0212a1fa91 D'oh 2012-01-17 21:29:20 -08:00
John Maguire 4f6ee57297 Apparently <execinfo.h> doesn't exist for mingw. 2012-01-17 20:57:56 -08:00
John Maguire ab58c72c66 ifdef DumpStackTrace() for non-Unix. 2012-01-17 20:45:33 -08:00
John Maguire 5fe7d1ad20 Add stack trace dumper (might need some tweaks for win & Linux still). 2012-01-17 20:35:10 -08:00
David Sansome 3e0f252b34 Exit worker processes when their sockets are closed, and make sure the main app closes sockets when exiting - fixes a crash dialog on Windows. 2012-01-08 16:35:01 +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 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
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