Andreas
55e5eab157
Fix Race-Condition in SpotifyClient that caused playback to break.
...
QList.removeAll calls the destructor for the elements in the list. This caused `req` to be initialized in `SpotifyClient::TryPlaybackAgain()`. Therefore, spotify method calls might crash because the pointers are invalid.
This commit moves the `pending_playback_requests_.removeAll` to the end of the method to ensure `req` is accessible all the time.
2015-03-13 14:12:19 +01:00
John Maguire
705cdf11fc
Move ScopedNSAutoreleasePool to ext
2015-03-02 17:51:17 +01:00
Chocobozzz
071be6bc83
Make format
2015-02-21 16:57:37 +01:00
Chocobozzz
fb5781eee2
Add performer tag support for mpeg
2015-02-21 16:49:00 +01:00
John Maguire
87fed5d0f4
Merge pull request #4715 from Chocobozzz/albumartist_flac
...
Fix album artist for FLAC/OGG files (with vorbis comments)
2015-01-19 10:57:31 +01:00
Chocobozzz
c61d866caf
Fix album artist for FLAC/OGG files (with vorbis comments)
2015-01-16 18:30:11 +01:00
Arnaud Bienner
e1139e731f
run make format
2015-01-14 22:55:20 +01:00
Arnaud Bienner
7039c2a2bf
Spotify: add the ability to add/remove tracks to/from Starred playlist
2015-01-14 22:49:36 +01:00
Arnaud Bienner
7278e7c4d0
Add ability to get a link to share Spotify playlists
2014-12-27 18:05:04 +01:00
Andreas
ff172f6ed4
Network remote can now transcode lossless files before sending them to the remote.
...
- It is configurable in the settings.
- Any format can be chosen that is supported by the transcoder.
- The status of the transcoder is send to the remote.
- Transcoder format settings have now a postfix so we can define mutliple transcoder formats and use them separatly. Here one for the normal transcoder and one for the network remote transcode. You can pass the postfix in the constructor.
- Fixed Transcoder crash (was introduced with the gstreamer1.0 merge, decodebin doesn't have a "new-decoded-pad").
- Transcoder emits the output filename as well on "JobComplete" signal
- Transcoder can now convert a file to a temporary file ("AddTemporaryJob")
2014-11-13 22:31:49 +01:00
John Maguire
4f4c8f6894
Merge pull request #4580 from Chocobozzz/hide_internet_services
...
Hide internet services
2014-10-31 12:02:29 +01:00
Arnaud Bienner
f2eecadbd3
Don't write rating if not set
...
Fixes issue #4128
2014-10-21 21:49:23 +02:00
Andreas
c43eb02efd
Android Remote: Add global search.
2014-10-21 18:07:02 +02:00
Chocobozzz
50b7b7d889
Make format after update to avoid conflicts
2014-10-15 21:57:57 +02:00
David Sansome
88a6300509
Completely revert the Spotify seeking stuff - it's hacky and I don't like
...
waiting 4 seconds to have my songs start. I'll reimplement it properly later.
Reverts commits 96387803cd
and 160b151652
.
2014-10-14 19:33:03 +11:00
Arnaud Bienner
f81fa2d119
Add the ability to remove tracks from Spotify playlists
2014-09-28 02:00:32 +02:00
Arnaud Bienner
39db4dbefe
Add the ability to add a Spotify track to a Spotify playlist through context menu.
...
TODO: drag and drop (i.e. implement DropMimeData), update special playlist (Favorites), remove from playlist.
2014-09-22 22:40:21 +02:00
David Sansome
eaad4c32ee
Merge branch 'gstreamer-1.2'
...
Fixes #3332
2014-09-22 22:45:28 +10:00
David Sansome
bb08a0f416
Fix misleading offset_bytes names
2014-09-22 00:13:00 +10:00
David Sansome
3f0dc01b06
Make Spotify work with gstreamer-1.0.
2014-09-21 22:39:30 +10:00
David Sansome
a2408f7c0e
Merge branch 'master' into gstreamer-1.2
...
Conflicts:
src/moodbar/moodbarloader.cpp
2014-09-21 19:39:27 +10:00
David Sansome
6b32ecec27
Various bits for gstreamer-1.0 compatability
2014-09-21 19:38:13 +10:00
Arnaud Bienner
160b151652
Add seek ability to Spotify tracks.
...
This is functional but pretty hacky.
And, as noted in the comments, there is a small delay (depends, but usually several seconds) to have the seek taken into account. But IMHO it's better than nothing.
Fixes #2503
2014-09-14 02:15:58 +02:00
pie.or.paj
cbc6e5cf4d
Pause spotify track (issue 2503)
...
(patch slightly modified, not sure why it wasn't applied before: it looks good to me)
2014-09-06 19:21:23 +02:00
David Sansome
6bb81328e8
Merge branch 'master' into gstreamer-1.2
...
Conflicts:
ext/clementine-spotifyblob/mediapipeline.cpp
gst/moodbar/gstfftwspectrum.c
src/core/songloader.cpp
src/core/songloader.h
src/engines/gstengine.cpp
src/engines/gstenginepipeline.cpp
src/moodbar/moodbarpipeline.cpp
src/musicbrainz/chromaprinter.cpp
src/transcoder/transcoder.cpp
src/ui/mainwindow.cpp
src/visualisations/projectmvisualisation.cpp
2014-06-09 16:20:24 +10:00
Chocobozzz
ef6dd38d0d
use unique_ptr instead
2014-06-05 17:42:55 +02:00
Chocobozzz
2595df9779
Change the comment for TagLib::MPEG:File
2014-06-05 15:48:20 +02:00
Chocobozzz
357a9ff194
Fix memory leak in tagreader
2014-06-05 15:47:14 +02:00
David Sansome
0bf911aec4
Clean up the stream if ownership isn't taken by a taglib file.
2014-06-05 20:20:57 +10:00
Andreas
f52e48c956
Send filesize and file count in advance when client wants to download songs.
2014-05-10 14:53:38 +02:00
Andreas
24481ae7bc
Clementine Remote can now download all urls that are in the library.
2014-05-08 19:17:58 +02:00
John Maguire
41e9c15248
Add arraysize macro from Chromium
2014-04-29 14:11:52 +02:00
John Maguire
30d1c2f8db
Remove Ubuntu One support.
...
http://blog.canonical.com/2014/04/02/shutting-down-ubuntu-one-file-services/
2014-04-02 16:02:00 +02:00
John Maguire
192b60d965
Use nullptr as parent parameter default everywhere
2014-02-10 16:03:54 +01:00
John Maguire
3323c2d094
Convert all instances of foreach() to a C++11 for
...
find ext src -name '*.cpp' -exec \
sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
John Maguire
bebd781fdf
Reformat all non-3rd-party C/C++/Objective-C++.
...
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
-style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire
1ac3f53a89
Build spotify blob as c++11
2014-02-06 18:06:25 +01:00
John Maguire
71893e4847
Use nullptr instead of NULL everywhere.
2014-02-06 17:29:59 +01:00
John Maguire
d309d4ab27
Use c++11 instead of boost where possible.
2014-02-06 16:51:39 +01:00
David Sansome
5ac83bd463
Merge branch 'master' into gstreamer-1.2
2014-01-25 00:24:31 +11:00
Andreas
8ff0692809
Network remote: send md5 hash along with library and files.
2013-12-31 15:26:42 +01:00
Martin Brodbeck
b5eb77528b
Don't use TPE1 for performer
2013-12-19 14:03:23 +01:00
Martin Brodbeck
a8ae737bce
Improved file type detection for Ogg/Opus
2013-12-16 13:45:25 +01:00
Martin Brodbeck
587fa39dad
Improved embedded cover handling for Ogg METADATA_BLOCK_PICTURE
2013-12-11 14:30:27 +01:00
Martin Brodbeck
818a028739
Added rudimentary support for METADATA_BLOCK_PICTURE tag
2013-12-10 15:39:43 +01:00
Andreas
03a4145082
Check if track position is valid before sending. Bump protocol version.
2013-12-08 20:19:25 +01:00
John Maguire
cc43e339c1
Use boost function for compatibility
2013-11-22 11:53:47 +00:00
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