comparison align/ExternalProgramAligner.h @ 753:31289e8592c7 pitch-align

Switch to using the pulled-out TransformAligner and ExternalProgramAligner
author Chris Cannam
date Fri, 24 Apr 2020 14:38:22 +0100
parents 32654e402f8b
children 6429a164b7e1
comparison
equal deleted inserted replaced
752:32654e402f8b 753:31289e8592c7
13 */ 13 */
14 14
15 #ifndef SV_EXTERNAL_PROGRAM_ALIGNER_H 15 #ifndef SV_EXTERNAL_PROGRAM_ALIGNER_H
16 #define SV_EXTERNAL_PROGRAM_ALIGNER_H 16 #define SV_EXTERNAL_PROGRAM_ALIGNER_H
17 17
18 #include "Aligner.h"
19
18 #include <QProcess> 20 #include <QProcess>
19 #include <QString> 21 #include <QString>
20
21 #include "data/model/Model.h"
22 22
23 class AlignmentModel; 23 class AlignmentModel;
24 class Document; 24 class Document;
25 25
26 class ExternalProgramAligner : public QObject 26 class ExternalProgramAligner : public Aligner
27 { 27 {
28 Q_OBJECT 28 Q_OBJECT
29 29
30 public: 30 public:
31 ExternalProgramAligner(Document *doc, 31 ExternalProgramAligner(Document *doc,
34 QString program); 34 QString program);
35 35
36 // Destroy the aligner, cleanly cancelling any ongoing alignment 36 // Destroy the aligner, cleanly cancelling any ongoing alignment
37 ~ExternalProgramAligner(); 37 ~ExternalProgramAligner();
38 38
39 bool begin(QString &error); 39 bool begin(QString &error) override;
40 40
41 static bool isAvailable(QString program); 41 static bool isAvailable(QString program);
42
43 signals:
44 /**
45 * Emitted when alignment is successfully completed. The reference
46 * and toAlign models can be queried from the alignment model.
47 */
48 void complete(ModelId alignmentModel); // an AlignmentModel
49 42
50 private slots: 43 private slots:
51 void programFinished(int, QProcess::ExitStatus); 44 void programFinished(int, QProcess::ExitStatus);
52 45
53 private: 46 private: