John Maguire
b17b075361
Compile fixes for 10.9
2013-11-21 17:59:31 +00:00
Andreas
7470f67acf
- Fix remove songs from playlist in network remote.
...
- Update protocol buffer version.
2013-10-31 19:52:02 +01:00
John Maguire
56c949815b
First pass at Gstreamer 1.0 porting.
...
This at least compiles against gstreamer 1.2.
Things that work:
* Playing audio
* Automatically completing tags
Things that don't work
* Spotify
* Moodbar
Things I haven't tested
* Transcoding
2013-09-26 17:49:24 +02:00
Andreas
9237356e33
- Send songrating to client.
...
- Receive songrating as float (like saved in Song).
- On RemoteClient destructor check if socket is still connected before calling waitForDisconnect()
2013-09-22 12:06:19 +02:00
David Sansome
f0b9120c43
Create a Fatal logging level, and use it when sqlite symbols can't be resolved.
2013-09-18 00:15:46 +10:00
Andreas
1254d025ab
Include rate song feature in network remote.
2013-08-15 20:52:12 +02:00
Arnaud Bienner
8ddba1dfb5
Make ConvertPOPMRating works with slightly different POPM rating scheme for 5 stars. Fix issue 3794.
2013-08-02 22:13:29 +02:00
Arnaud Bienner
c32408eded
Fix ConvertToPOPMRating
2013-08-02 22:09:46 +02:00
Andreas
3a309e9b25
Added message to retrive the library (table songs).
2013-08-01 18:13:14 +02:00
Andreas
0785214949
- Do not offer streams to download clients.
...
- Move Google Play logo and qr code to the middle of the settings screen.
2013-07-27 14:13:02 +02:00
Andreas
cf1dfe0d58
Clementine will offer a song before download first. The client can deceide if it want to download it or not. Only when the client accepted the file, Clementine sends it.
2013-07-23 16:59:50 +02:00
Andreas
1e4819f2df
Add stop after current track feature to network remote.
2013-07-20 19:38:37 +02:00
Andreas
f67083c92e
Network remote: Each song will be send after client confirms that the previous track was received. Saves a lot of memory especially when sendings lossless files.
2013-07-18 11:28:53 +02:00
Andreas
c09d77f413
Network remote can now send songs to clients.
2013-07-12 12:31:27 +02:00
Andreas
9e0b877e5a
The network remote can now send lyrics to clients.
2013-07-10 13:24:23 +02:00
Andreas
7406057e5f
Bump proto version, so users have to update Clementine in order to use the new features.
2013-05-07 18:33:45 +02:00
Andreas
4bb433e912
- Correct filename in coverexport when textfield is empty.
...
- Network clients can now love and ban tracks.
2013-05-07 17:57:53 +02:00
Andreas
5fe0f3402a
New requests for opening and closing playlists in the network remote.
2013-04-20 16:11:57 +02:00
Andreas
8888cc410a
Send closed playlists too if requested.
2013-04-16 13:57:04 +02:00
pie.or.paj
18e8d6ca20
- Added basic playlist management (add and remove tracks) in network remote.
2013-04-13 11:57:05 +02:00
Arnaud Bienner
88918d45c5
Update issue 1175:
...
Save rating and statistics in two distinct ways, and let users activate them separately in preferences.
2013-03-30 23:42:29 +01:00
Andreas
a79834755b
Change connect message handling.
2013-03-27 16:54:02 +01:00
Andreas
8251b53411
Merge branch 'master' of https://code.google.com/p/clementine-player
2013-03-21 16:15:38 +01:00
Andreas
7939890545
- Send the playlisttracks from the currenly active one in SendFirstData().
...
- New proto type FIRST_DATA_SENT_COMPLETE: Is send, when the method SendFirstData() finishes.
2013-03-21 16:14:13 +01:00
John Maguire
a459eff0d3
Support audio/x-flac as a mime type for FLAC files.
2013-03-21 14:03:41 +01:00
Andreas
be68c9f702
If use auth code is enabled, check if the client has sent the correct auth code before processing any messages.
2013-03-21 10:57:52 +01:00
Andreas
ed86c7b09b
- New protocol buffer type: ACTIVE_PLAYLIST_CHANGED. This type is sent when the currenly active playlist changes instead of sending all playlists to the clients.
2013-03-20 15:57:22 +01:00
Arnaud Bienner
8450a9ded0
Try to fix Windows build
2013-03-18 23:41:01 +01:00
Arnaud Bienner
77c6a22962
Write/Read score to/from files' tags, as "Amarok score" as we use the same algorithm
2013-03-15 22:54:59 +01:00
Uwe Klotz
a6d3b48231
Extend tag support: performer, grouping
...
The transaction handling while upgrading the database schema had to be revised.
Furthermore some QSqlQuery statements needed to be finished properly.
Fixes issue 2556
2013-03-10 18:16:03 +11:00
Arnaud Bienner
1abadaf8fd
Use constants
2013-03-03 00:49:51 +01:00
Arnaud Bienner
0b6e91daea
FMPS support for MP4 files
2013-03-03 00:18:59 +01:00
Arnaud Bienner
f04923210d
FMPS support for ASF files
2013-03-02 23:54:54 +01:00
Arnaud Bienner
b0d643cbd9
Save/read FMPS tags to/from FLAC using Vorbis comments + some refactoring to parse VorbisComments in a unique place, when possible.
2013-03-02 00:03:51 +01:00
Arnaud Bienner
1386a54d78
Read/Write FMPS tags for Ogg files
2013-02-28 20:55:21 +01:00
Arnaud Bienner
16793744c0
Read and write POPM tags
2013-02-28 02:17:15 +01:00
John Maguire
dd59aaada0
Delete closures if the receiver is deleted.
2013-02-26 16:27:44 +01:00
Arnaud Bienner
08d40f5fca
Handle statistics tags apart, and write them to file when they change.
...
Next step: add a preference to activate this (should be deactivated by default IMO).
2013-02-24 17:45:25 +01:00
Arnaud Bienner
39e1275980
Write FMPS metadata (rating, playcount) to MP3 files in tagreader + corresponding test cases
2013-02-23 20:12:17 +01:00
Arnaud Bienner
ba1a3f45ec
Fix the build
2013-02-23 01:02:36 +01:00
Arnaud Bienner
3fb041ff03
Ooops... I forgot tagreader files :/
2013-02-23 00:02:02 +01:00
Arnaud Bienner
47c9153fe2
Move everything about reading/writing tags from tagreaderworker to a new tagreader class.
...
Re-activate Song tests.
2013-02-22 23:57:31 +01:00
John Maguire
b3d5c3e6e2
Remove unused variables.
2013-02-12 12:23:29 +01:00
Andreas
589816e82c
- Added various playlist signals.
...
- Bump Proto version to 3, so that people update Clementine when using new Android App Version is released.
2013-02-07 21:34:04 +01:00
John Maguire
53608665e4
Merge branch 'master' of https://code.google.com/r/asfa194-clementineremote
2013-01-28 15:41:51 +01:00
Martin Brodbeck
d05041dfa1
Add support for Opus tags.
2013-01-26 11:18:24 +00:00
Andreas
9472c5ace2
- Fixed a bug where clementine crashed when restarting the server (e.g. changed setting). Cause by wrong connect statement.
...
- Added set track position feature in proto
- Added authentication method
- Clementine sends now a disconnect message when closed
2013-01-23 20:02:12 +01:00
Andreas
0828115c74
- Display a qr code in the remote control settings to download the android app
...
- Transfer the current track position to clients
2013-01-22 22:02:16 +01:00
Chris Throup
6cb083be30
Read comments from MP4 tags.
2013-01-22 08:58:28 +00:00
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