Commit Graph

192 Commits

Author SHA1 Message Date
Chris Throup f41d333788 Read and write extra metadata for MP4 tags. Fixes issue 222.
Now writes album artist, disc number, composer, compilation and bpm.
Now reads disc number and composer.
Previously read album artist.
Unconfirmed read for compilation and bpm.
2013-01-21 09:16:18 +00:00
Andreas 51ba9f47dc added repeat and shuffe functionality 2013-01-15 14:43:02 +01:00
Andreas 0a97623df3 Changed sending playlist songs 2013-01-15 14:03:00 +01:00
John Maguire 06568248fc Tidy up some remote control protobuf usage and style quirks. 2013-01-15 13:05:43 +01:00
Andreas 8cb0b3d349 fixed commit 2013-01-14 22:00:56 +01:00
Andreas 570b4f9e88 Corrected proto 2013-01-14 21:42:08 +01:00
Andreas aa8d512444 Merge remote-tracking branch 'remote/remotecontrol'
Conflicts:
	ext/libclementine-remote/remotecontrolmessages.proto
	src/networkremote/networkremote.cpp
2013-01-14 21:39:01 +01:00
Andreas 516e58fbc9 Changed proto 2013-01-14 19:07:34 +01:00
John Maguire d1a1f70bf9 Make version and msgType optional for better backwards-compatibility. 2013-01-14 16:53:57 +01:00
John Maguire 088d179e9b Add UNKNOWN to remote control proto to make backwards compatible changes
easier later.
2013-01-14 16:50:00 +01:00
John Maguire 555467e764 Tidy up remote control protobuf. 2013-01-14 16:17:36 +01:00
Andreas e915d2e993 Transfer coverart without base64 2013-01-14 16:09:22 +01:00
Andreas 6bb02d2731 Transfer coverart without base64 2013-01-12 17:22:40 +01:00
Andreas 04ccdbbf08 added version to protocol buffer message
changed client handling
only non public ips can connect (can change that in options)
2013-01-10 21:21:55 +01:00
Andreas c732e70511 multiclient support and shuffle feature 2013-01-09 20:07:28 +01:00
Andreas fe0c1b5206 Changed xml to protocol buffers 2013-01-03 21:40:47 +01:00
John Maguire 195e1cb2ad Support arbitrary return type in closure for member function pointer. 2012-12-13 16:55:23 +01:00
John Maguire 020f08438f Support member function pointers in Closure.
Bonus: type-safe slots
2012-12-13 16:27:55 +01:00
John Maguire 94f76a9d08 Support function pointers and std functions with arguments in Closure. 2012-12-13 16:13:38 +01:00
John Maguire 919e9215c4 Support indexing files from Skydrive. 2012-12-13 14:27:21 +01:00
John Maguire 62e3e4cb91 Support WMA in cloud services. 2012-12-07 12:07:43 +01:00
John Maguire 941aaca87c Refactor cloud tagging into base class. 2012-12-06 14:23:27 +01:00
John Maguire 951cac2ad6 Use changes API instead of search API in Google Drive. 2012-12-05 14:17:03 +00:00
John Maguire 18c7f3d5ed Support m4a and flac in dropbox. 2012-11-30 16:56:23 +01:00
John Maguire 90bb00939b Don't ignore HTTP errors when reading tags from cloud providers. 2012-11-30 16:12:12 +01:00
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