Commit Graph

189 Commits

Author SHA1 Message Date
Andreas f34734443b Remove pending playlist requests in SpotifyClient if sp_session_player_load failed as well. 2015-03-14 15:26:44 +01:00
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