Commit Graph

17 Commits

Author SHA1 Message Date
Mark Furneaux efa58bb852 Actually initialize the array 2014-12-22 00:05:46 -05:00
Mark Furneaux 6157865d7b Initialize array in a nicer way 2014-12-21 23:53:42 -05:00
Mark Furneaux 1d31378174 Fix moodbars not generating correctly
The magnitude output from gstfastspectrum was not initialized for the first fft.
In some cases, the memory would contain data that upon math operations becomes nan.
This causes one or more colours of the moodbar to be generated blank, resulting in missing colours or just plain black moodbars.
2014-12-21 23:11:02 -05:00
John Maguire fb5181a6e9 Tidy up locking usage around FFTW.
* Move QMutex into the class instead of static.
* Use QMutexLocker
* Only lock around FFTW plan & destroy functions.
2014-12-10 18:57:35 +01:00
Andreas b5567a7b27 Try fixing race condition in fftw by adding mutex for fftw_* function calls suggested here: http://www.fftw.org/fftw3_doc/Thread-safety.html. Updates #4643. 2014-12-07 14:07:53 +01:00
David Sansome 8b19b300b5 Stop using some C++11 features not supported by g++ 4.6.4 on Ubuntu 12.04 2014-09-26 11:43:54 +02:00
David Sansome a2af170ce5 Use guint instead of uint to stop mingw complaining 2014-09-25 14:48:59 +00: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
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
John Maguire ea03a621a8 Add class mutex instead of deprecated static mutex. 2014-06-05 14:08:22 +02:00
John Maguire 36f0cde07d Revert "Remove deprecated use of static mutex in moodbar."
Fixes #4394

This reverts commit 7652e2f780.
2014-06-05 11:58:30 +02:00
John Maguire 7652e2f780 Remove deprecated use of static mutex in moodbar. 2014-06-02 13:14:52 +02:00
David Sansome 5ac83bd463 Merge branch 'master' into gstreamer-1.2 2014-01-25 00:24:31 +11:00
John Maguire e7c63fdfb9 Update deprecated function call. 2013-11-22 12:08:24 +00: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
David Sansome 0533f015cf Use the double precision versions of fftw functions so we don't depend on fftwf 2012-05-27 21:51:18 +01:00
David Sansome 638a4b9739 Bundle the gstreamer moodbar plugin, with a patch that protects calls to fftwf_plan from multiple threads. 2012-05-27 17:30:58 +01:00