Commit Graph

23 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
John Maguire 3d434f1c88 Remove iDevice support as it doesn't work well for modern devices and libgpod shows no signs of updating to support them.
Fixes issue #3683
2013-05-17 15:30:56 +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
David Sansome 22e6a649b7 Remove the custom gstspotifytcpsrc and use tcpserversrc ! gdpdepay to receive data. Use a gstreamer pipeline on the other end as well to send data. 2011-11-28 18:45:12 +00:00
David Sansome e16f1d8bdd Timeout if the spotify client hasn't connected to the tcpsrc within 5 seconds. 2011-11-28 12:18:03 +00:00
John Maguire d4f45d3658 Explicitly link spotifytcpsrc against clementine_lib. 2011-09-27 13:57:39 +02:00
John Maguire 1bbb525f11 Fix end of track for Spotify streams. 2011-09-27 13:31:23 +02:00
David Sansome c05a2ee182 Add a spotify gstreamer source element instead of hacking about with gsttcpserversrc. Implement seeking on spotify tracks. 2011-09-25 19:24:44 +01:00