diff align/Aligner.h @ 763:da57ab54f0e8

Merge from branch pitch-align. Doesn't actually do pitch alignment here, but this is the groundwork.
author Chris Cannam
date Wed, 13 May 2020 14:10:47 +0100
parents 6429a164b7e1
children a316cb6fed81
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/align/Aligner.h	Wed May 13 14:10:47 2020 +0100
@@ -0,0 +1,45 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
+
+/*
+    Sonic Visualiser
+    An audio file viewer and annotation editor.
+    Centre for Digital Music, Queen Mary, University of London.
+    
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License as
+    published by the Free Software Foundation; either version 2 of the
+    License, or (at your option) any later version.  See the file
+    COPYING included with this distribution for more information.
+*/
+
+#ifndef SV_ALIGNER_H
+#define SV_ALIGNER_H
+
+#include <QString>
+
+#include "data/model/Model.h"
+
+class Aligner : public QObject
+{
+    Q_OBJECT
+
+public:
+    virtual ~Aligner() { }
+
+public slots:
+    virtual void begin() = 0;
+
+signals:
+    /**
+     * Emitted when alignment is successfully completed. The reference
+     * and toAlign models can be queried from the alignment model.
+     */
+    void complete(ModelId alignmentModel); // an AlignmentModel
+
+    /**
+     * Emitted when alignment fails.
+     */
+    void failed(ModelId toAlign, QString errorText); // the toAlign model
+};
+
+#endif