Commit Graph

61 Commits

Author SHA1 Message Date
Arnaud Bienner 9cb2a17f37 Sort children is recursive and will mess up services' children (e.g. search
result item not the first item anymore) so we should call it only once at
the beginning.
And instead of sorting all items everytime, we just insert them at the correct
position.
2014-12-27 00:33:23 +01:00
Mark Furneaux a4be57414a Don't load the moodbar if the song was stopped
When an async moodbar load completes, it checks to see if the song is still playing and should update the UI.
It however failed to check if the song was stopped, so it would load a moodbar when no song is playing.
It now checks the player state before emitting a change.
2014-12-22 16:53:58 -05:00
Mark Furneaux 3886f3d1e4 Fix socket leak in moodbarpipeline
Fixes #4663
When tearing down the pipeline, there was a leak of a GstBus which holds a socketpair open.
Eventually the OS runs out of file descriptors and terminates Clementine.
2014-12-22 16:13:44 -05:00
Chocobozzz 50b7b7d889 Make format after update to avoid conflicts 2014-10-15 21:57:57 +02:00
Chocobozzz 8279f21251 Revert "Make format"
This reverts commit 17b1e9fbe6.
2014-10-15 21:55:03 +02:00
Chocobozzz 17b1e9fbe6 Make format 2014-10-15 20:55:24 +02:00
Pasi Saarinen 1ecee037c7 Fix moodbar segfault when playing broken mp3
When playing a broken mp3 (eg empty file) clementine crashed if moodbar
was enabled.
2014-10-06 15:40:10 +02: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 d24eaef2e5 Don't crash if we can't write to the moodbar cache 2014-09-21 19:38:14 +10:00
David Sansome 50551d987a Rewrite moodbar stuff for gstreamer-1.0:
- Rewrite gstspectrum (1.0) to use FFTW (2x faster) and emit raw magnitude
  values (not log scaled).
- Rewrite the moodbar generation code to be somewhat understandable, and
  do it in Clementine instead of gstreamer.
2014-09-21 19:38:13 +10:00
John Maguire d9572bdcdd Be more forgiving of broken permissions on the cache directory. 2014-08-19 11:13:06 +02:00
Arnaud Bienner 47108a9a68 Add a message in CMake to notify that ccache has been found and will be used (+ some minor, unrelated things). 2014-08-06 20:05:41 +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
Mark Furneaux af42ccea38 Fix dbz possibility in moodbar
Took me forever to find this. Randomly happens when changing tracks.
2014-05-25 00:16:12 -04:00
David Sansome c217450d0c Fix some bad sizeof -> arraysize changes from revision 41e9c15248. 2014-05-23 21:31:50 +10:00
John Maguire 24a4cff807 Merge pull request #4288 from sundrythoughts/rating-optimization
Increase performance of mass rating changes.
2014-05-20 12:42:39 +01:00
John Maguire 41e9c15248 Add arraysize macro from Chromium 2014-04-29 14:11:52 +02:00
Joseph Freeman fe4a80b2d5 Removed commented-out code and ran make format. 2014-04-25 19:41:04 -04:00
Arnaud Bienner d49d818b37 Very minor style change 2014-04-23 00:40:06 +02:00
Arnaud Bienner 3f79fa5c65 Try to make the slider more accurate when moodbar is activated.
Previously, the slide wasn't displayed at the exact position where the user clicked, and the moodbar's width was equal to the slider's width, while it should have been as long as long the groove.
2014-04-23 00:03:30 +02:00
Sebastian J. Mielke e73450cf43 Moodbar-Trackslider uses the full available height
When determining the next state (for rendering the change), the slider widgets vertical SizePolicy is changed from Fixed to MinimumExpanding (same thing works the other way around).
2014-03-11 16:08:24 +01: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 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
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
Arnaud Bienner d3295f083b Revert "Update issue 3682: deactivate moodbar generation for wma files on Windows until we find a proper way to fix this issue."
This is not needed anymore now issue 3682 is fixed.

This reverts commit c9be07f508.
2013-09-07 00:23:56 +02:00
Arnaud Bienner c9be07f508 Update issue 3682: deactivate moodbar generation for wma files on Windows until we find a proper way to fix this issue. 2013-08-28 22:55:59 +02:00
Andreas bd528a47cd Fix divide by zero error in MoodbarRenderer. Fixes issue 3823. 2013-08-24 21:07:44 +02:00
David Sansome 4b0a7ae70b Oops, make that actually compile 2013-08-18 13:07:32 +10:00
David Sansome 534f216de2 Ensure we don't read past the end of the color vector when rendering a moodbar.
Fixes issue 3811.
2013-08-18 13:05:12 +10:00
David Sansome a3f927cde2 Run moodbar pipeline threads at idle CPU and IO priority. Fixes issue 3644. 2013-05-04 22:48:11 +10:00
John Maguire 90803fa0e0 Remove use of deprecated gstreamer functions. 2013-01-29 13:19:26 +01:00
John Maguire 8171192df5 Port Closure to variadic templates. 2012-11-22 17:19:04 +01:00
John Maguire c4c7265e7a Add a setting for disabling moodbar generation.
Fixes issue #3161
2012-11-19 14:32:39 +01:00
David Sansome f1117231e2 Increase the size of the moodbar cache to 60MB. Fixes issue 3052. 2012-07-15 17:17:17 +01:00
John Maguire 80ab12aeff More concise checking of callback param counts. 2012-06-08 15:13:23 +02:00
John Maguire 2da6c40fb5 Add runtime checker for gsignal callback arguments. 2012-06-08 14:27:38 +02:00
David Sansome 72ba6b34a6 Prevent a possible divide-by-zero error when generating the moodbar 2012-06-05 18:42:00 +01:00
David Sansome 00e69c341e Fix a crash when switching between playlists while moodbars are loading 2012-06-04 19:13:41 +01:00
David Sansome eeb617e892 Oops, fix another crash in the smart playlist preview view when moodbars are displayed 2012-05-31 14:17:36 +01:00
David Sansome 836a2b0c89 Update the moodbar column on the correct model 2012-05-30 11:06:41 +01:00
David Sansome 7501d664bf Make a little border around the moodbars in the playlist 2012-05-30 10:33:15 +01:00
John Maguire 38f1b71761 Use url instead of filename. 2012-05-28 15:33:37 -07:00
John Maguire 823b59e3a7 Use uridecodebin for Moodbar. 2012-05-28 15:18:36 -07:00
David Sansome 24ea8d3e05 Add moodbar settings to the track slider's context menu 2012-05-28 12:50:34 +01:00
David Sansome abdc6d8844 Add moodbar settings to the settings dialog 2012-05-27 23:56:40 +01:00
David Sansome 37df0ec0b6 Draw a background in the playlist when there isn't a moodbar 2012-05-27 21:53:38 +01:00
David Sansome 74a83a2f7c Draw the arrow on the moodbar before fading out 2012-05-27 21:51:26 +01:00