Mercurial > hg > svapp
comparison align/MATCHAligner.h @ 778:83a7b10b7415
Merge from branch pitch-align
author | Chris Cannam |
---|---|
date | Fri, 26 Jun 2020 13:48:52 +0100 |
parents | 87d33e79855b |
children | b651dc5ff555 |
comparison
equal
deleted
inserted
replaced
774:7bded7599874 | 778:83a7b10b7415 |
---|---|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ | |
2 | |
3 /* | |
4 Sonic Visualiser | |
5 An audio file viewer and annotation editor. | |
6 Centre for Digital Music, Queen Mary, University of London. | |
7 | |
8 This program is free software; you can redistribute it and/or | |
9 modify it under the terms of the GNU General Public License as | |
10 published by the Free Software Foundation; either version 2 of the | |
11 License, or (at your option) any later version. See the file | |
12 COPYING included with this distribution for more information. | |
13 */ | |
14 | |
15 #ifndef SV_MATCH_ALIGNER_H | |
16 #define SV_MATCH_ALIGNER_H | |
17 | |
18 #include "Aligner.h" | |
19 | |
20 class AlignmentModel; | |
21 class Document; | |
22 | |
23 class MATCHAligner : public Aligner | |
24 { | |
25 Q_OBJECT | |
26 | |
27 public: | |
28 MATCHAligner(Document *doc, | |
29 ModelId reference, | |
30 ModelId toAlign, | |
31 bool withTuningDifference); | |
32 | |
33 // Destroy the aligner, cleanly cancelling any ongoing alignment | |
34 ~MATCHAligner(); | |
35 | |
36 void begin() override; | |
37 | |
38 static bool isAvailable(); | |
39 | |
40 private slots: | |
41 void alignmentCompletionChanged(ModelId); | |
42 void tuningDifferenceCompletionChanged(ModelId); | |
43 | |
44 private: | |
45 static QString getAlignmentTransformName(); | |
46 static QString getTuningDifferenceTransformName(); | |
47 | |
48 bool beginAlignmentPhase(); | |
49 | |
50 Document *m_document; | |
51 ModelId m_reference; | |
52 ModelId m_toAlign; | |
53 ModelId m_aggregateModel; // an AggregateWaveModel | |
54 ModelId m_alignmentModel; // an AlignmentModel | |
55 ModelId m_tuningDiffOutputModel; // SparseTimeValueModel, unreg'd with doc | |
56 ModelId m_pathOutputModel; // SparseTimeValueModel, unreg'd with doc | |
57 bool m_withTuningDifference; | |
58 float m_tuningFrequency; | |
59 bool m_incomplete; | |
60 }; | |
61 | |
62 #endif |