diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2018-04-18 16:39:07 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2018-10-30 23:26:56 +0100 |
commit | c236956884e3c7b9a47536f98eb7eb5a126a26e4 (patch) | |
tree | 85ea9323501bb2f5176c35679e2307e50eeed49c /src/analyzer/analyzerprogress.h | |
parent | db7fe92a9a5c63e0d9b6f0fe6f1ad379f2b0b46a (diff) |
Fix and enable multi-threaded analysis
Diffstat (limited to 'src/analyzer/analyzerprogress.h')
-rw-r--r-- | src/analyzer/analyzerprogress.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/analyzer/analyzerprogress.h b/src/analyzer/analyzerprogress.h new file mode 100644 index 0000000000..b9b5673245 --- /dev/null +++ b/src/analyzer/analyzerprogress.h @@ -0,0 +1,22 @@ +#pragma once + +#include "util/math.h" + + +typedef double AnalyzerProgress; + +constexpr AnalyzerProgress kAnalyzerProgressUnknown = -1.0; +constexpr AnalyzerProgress kAnalyzerProgressNone = 0.0; // 0.0 % +constexpr AnalyzerProgress kAnalyzerProgressHalf = 0.5; // 50.0 % +constexpr AnalyzerProgress kAnalyzerProgressFinalizing = 0.95; // 95.0 % +constexpr AnalyzerProgress kAnalyzerProgressDone = 1.0; // 100.0% + +Q_DECLARE_METATYPE(AnalyzerProgress); + +// Integer [0, 100] +inline +int analyzerProgressPercent(AnalyzerProgress analyzerProgress) { + DEBUG_ASSERT(analyzerProgress >= kAnalyzerProgressNone); + return int((100 * (math_min(analyzerProgress, kAnalyzerProgressDone) - kAnalyzerProgressNone)) / + (kAnalyzerProgressDone - kAnalyzerProgressNone)); +} |