Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
fftanalyzererrorcodes.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 #ifndef FFTANALYZERERRORCODES_H
21 #define FFTANALYZERERRORCODES_H
22 
23 #include <memory>
24 #include <vector>
25 
29 
31 {
32  ERR_NONE,
36 };
37 
38 
42 
43 using TuningDeviationCurveType = std::vector<double>;
44 
46 {
50  double overpullInCents = 0;
51  double positionOfMaximum = 0;
52  double detectedFrequency = -1;
53 
54  bool hasError() const {return error != FFTAnalyzerErrorTypes::ERR_NONE;}
55 };
56 
57 using FrequencyDetectionResult = std::shared_ptr<FrequencyDetectionResultStruct>;
58 
59 #endif // FFTANALYZERERRORCODES_H
60 
std::vector< double > TuningDeviationCurveType
The FrequencyDetectionResultStruct struct.
FFTAnalyzerErrorTypes
Enumeration of possible errors during the fft analysis.
TuningDeviationCurveType tuningDeviationCurve
No intensity in the signal near expected peak.
The recorded frequency is out of the piano range.
The analyzer needs a computed frequency.
std::shared_ptr< FrequencyDetectionResultStruct > FrequencyDetectionResult