Chris@753: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@753: Chris@753: /* Chris@753: Sonic Visualiser Chris@753: An audio file viewer and annotation editor. Chris@753: Centre for Digital Music, Queen Mary, University of London. Chris@753: Chris@753: This program is free software; you can redistribute it and/or Chris@753: modify it under the terms of the GNU General Public License as Chris@753: published by the Free Software Foundation; either version 2 of the Chris@753: License, or (at your option) any later version. See the file Chris@753: COPYING included with this distribution for more information. Chris@753: */ Chris@753: Chris@753: #ifndef SV_ALIGNER_H Chris@753: #define SV_ALIGNER_H Chris@753: Chris@753: #include Chris@753: Chris@753: #include "data/model/Model.h" Chris@753: Chris@753: class Aligner : public QObject Chris@753: { Chris@753: Q_OBJECT Chris@753: Chris@753: public: Chris@753: virtual ~Aligner() { } Chris@753: Chris@761: public slots: Chris@761: virtual void begin() = 0; Chris@753: Chris@753: signals: Chris@753: /** Chris@753: * Emitted when alignment is successfully completed. The reference Chris@769: * and toAlign models can be queried from the alignment Chris@769: * model. This should be emitted as the last thing the aligner Chris@769: * does, as the recipient may delete the aligner during the call. Chris@753: */ Chris@753: void complete(ModelId alignmentModel); // an AlignmentModel Chris@761: Chris@761: /** Chris@769: * Emitted when alignment fails. This should be emitted as the Chris@769: * last thing the aligner does, as the recipient may delete the Chris@769: * aligner during the call. Chris@761: */ Chris@761: void failed(ModelId toAlign, QString errorText); // the toAlign model Chris@753: }; Chris@753: Chris@753: #endif