Commit Graph

83 Commits

Author SHA1 Message Date
Lukas Prediger e187a68e9f MusicBrainzClient fix: Don't try to read reply on connection timeout
that previously resulted in an IO error
2021-09-04 15:24:44 +01:00
Ismael Luceno 8682d4de48 Fix sentinels in variadic function calls
Replace sentinel NULL with nullptr, guaranteed to be correctly expanded.

NULL may be defined as plain 0 in C++; which may lead to undefined upper
bits passed in variadic function arguments, causing crashes.

See: https://ewontfix.com/11/
2021-08-23 21:33:46 +01:00
Jonas Kvinge 320a1b81c9 Fix incorrect use of QFutureWatcher
To avoid a race condition, it is important to call setFuture() after doing the connections.

See: https://doc.qt.io/qt-6/qfuturewatcher.html
2021-07-14 10:18:15 +01:00
Lukas Prediger 89831f8dca MusicBrainzClient: Log message for malformed XML in reply 2021-05-18 12:13:10 +01:00
Lukas Prediger 86bbd2ace6 Formatting/linting fixes. 2021-05-18 12:12:01 +01:00
Lukas Prediger 81c0661e8c MusicBrainzClient stop result parsing after reading first medium with correct discid.
Tentative fix for #7020.
2021-05-18 12:12:01 +01:00
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jim Broadus 61de3c6e93 Convert remaining QJsonValue::isUndefined usage.
Noted previously, using the [] operator on a non-const QJsonObject causes the
creation of the key and does not work for checking existence. Convert the
remaining isUndefined call sites to use QJsonObect::contains.
2020-02-13 11:12:52 +00:00
Jonas Kvinge f674847431 Use HTTPS 2020-01-27 22:46:38 +01:00
Jonas Kvinge e63c1edbbf Fix formatting 2020-01-05 19:08:03 +01:00
Jonas Kvinge 341a4d1423 Replace QTime with QElapsedTimer 2020-01-05 19:01:54 +01:00
Jonas Kvinge 5eb32b33c1 Replace QSet::toList() with QSet::values() 2020-01-05 00:58:33 +01:00
Jonas Kvinge 9e85eb2c0f
Fix gst_buffer_unref assertion in chromaprinter 2019-06-09 10:29:41 +01:00
Jonas Kvinge 8c198a99a5 Qt 5 fixes 2018-11-21 10:31:17 +00:00
Jonas Kvinge d4fab4a2ea Merge remote-tracking branch 'upstream/master' into qt5-update 2018-11-11 22:46:07 +01:00
Amish Naidu 107e945872 Convert uses of QtAlgorithms to std:: algorithms 2018-10-09 19:17:54 +01:00
Chocobozzz 2096b1f268 Merge branch 'master' into qt5 2016-12-13 20:26:19 +01:00
Chocobozzz ded3126857 Add compatibility with chromaprint >= 1.4 2016-12-08 23:12:17 +01:00
Chocobozzz 631a6cdabd Merge branch 'master' into qt5 2015-09-16 17:40:54 +02:00
Mattias Andersson 32b2afbb97 Parse the year of a disc from musicbrainz.
Run make format
2015-06-14 08:56:50 +02:00
Chocobozzz 5aec1c0e24 Merge remote-tracking branch 'upstream/master' into qt5
Update qt version to 5.4.2
2015-06-03 22:57:58 +02:00
Alexander Bikadorov 96f4d64449 Minor coding improvements for c71aa6 . 2015-05-04 15:43:23 +02:00
Alexander Bikadorov c71aa61f8f Simplification and cleanup fixes for chromaprint fingerprint creation.
Fixes among other things the "GLib-CRITICAL **: Source ID XXX was not found" error.
2015-05-04 15:11:31 +02:00
Chocobozzz 8b226c2171 Update non optionnals sources to qt5 2015-04-11 23:24:07 +02:00
John Maguire af8f4100cd Fix crash when trying to fingerprint but missing a plugin. 2015-02-03 18:13:23 +01:00
Arnaud Bienner 16b2ac547c Sort music brainz releases according to status 2014-12-06 17:54:13 +01:00
Arnaud Bienner 1779050fff Add error message when MB disc id request fails 2014-10-26 17:07:29 +01:00
David Sansome a2408f7c0e Merge branch 'master' into gstreamer-1.2
Conflicts:
	src/moodbar/moodbarloader.cpp
2014-09-21 19:39:27 +10:00
Arnaud Bienner 57ad86064d Limit the MusicBrainz requests by track.
3 should be enough. It's unlikely that the other ids will be really revelant.
2014-08-11 00:37:02 +02:00
Arnaud Bienner 9b8d09061f We should not sort result from Musicbrainz: they seem to be already sorted by relevance. 2014-08-10 14:23:07 +02:00
Arnaud Bienner 80d272f3d0 None was OK to achieve what I want. Should be better now 2014-08-10 14:22:42 +02:00
Arnaud Bienner bc7bc9910d Actually, I was wrong modifying UniqueResults. We should just not sort the results at the end, to keep the initial order we wanted 2014-08-10 13:20:11 +02:00
Arnaud Bienner 93b4b2caac Get more results from MusicBrainz, and sort them by relevance.
We were stopping at the first one in AcoustidClient::RequestFinished.
To make things worse, it seems that results we received weren't sorted, so we sometimes ignored the most relevant one.
2014-08-09 01:48:35 +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
Mattias Andersson ac162c3477 Move qRegisterMetaType back to SetUpTestCase(). Add comment
regarding ownership of the optional argument to MusicBrainzClient().
2014-06-02 16:34:03 +02:00
Mattias Andersson 68d445fed2 Parse discid xml from MusicBrainz correctly. Fixes #4025. 2014-05-24 13:54:07 +02:00
Mattias Andersson e14c59948f Add test for MusicBrainzClient. 2014-05-24 13:54:07 +02:00
John Maguire 5146bcdebc Some more NULL -> nullptr conversions. 2014-02-21 17:30:46 +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 59cb17c08d Change some API URLs to use https. 2014-01-28 12:57:27 +01:00
David Sansome 5ac83bd463 Merge branch 'master' into gstreamer-1.2 2014-01-25 00:24:31 +11:00
David Sansome 7fdaff079d Don't try to stop the chromaprinter event loop a second time after it's
already been stopped.  This can happen if the song is exactly 30 seconds long.

Fixes issue 4001
2013-12-03 20:32:26 +11: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 e4f0f25feb Use utf-8 instead of the local system encoding when passing filenames to gstreamer in the chromaprinter. Might fix issue 3703. 2013-06-01 12:55:59 +10:00
John Maguire 90803fa0e0 Remove use of deprecated gstreamer functions. 2013-01-29 13:19:26 +01:00
David Sansome 145b811eef Fix a memory leak when fingerprinting songs. Fixes issue 3403. 2013-01-06 07:51:48 +11:00
David Sansome 97c1d3c345 Remove an old connect() that has since been replaced by a closure connection 2013-01-06 07:51:28 +11:00