annotate align/Aligner.h @ 769:a316cb6fed81 pitch-align

Fixes to notification and completion in aligners
author Chris Cannam
date Thu, 28 May 2020 17:04:36 +0100
parents 6429a164b7e1
children
rev   line source
Chris@753 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@753 2
Chris@753 3 /*
Chris@753 4 Sonic Visualiser
Chris@753 5 An audio file viewer and annotation editor.
Chris@753 6 Centre for Digital Music, Queen Mary, University of London.
Chris@753 7
Chris@753 8 This program is free software; you can redistribute it and/or
Chris@753 9 modify it under the terms of the GNU General Public License as
Chris@753 10 published by the Free Software Foundation; either version 2 of the
Chris@753 11 License, or (at your option) any later version. See the file
Chris@753 12 COPYING included with this distribution for more information.
Chris@753 13 */
Chris@753 14
Chris@753 15 #ifndef SV_ALIGNER_H
Chris@753 16 #define SV_ALIGNER_H
Chris@753 17
Chris@753 18 #include <QString>
Chris@753 19
Chris@753 20 #include "data/model/Model.h"
Chris@753 21
Chris@753 22 class Aligner : public QObject
Chris@753 23 {
Chris@753 24 Q_OBJECT
Chris@753 25
Chris@753 26 public:
Chris@753 27 virtual ~Aligner() { }
Chris@753 28
Chris@761 29 public slots:
Chris@761 30 virtual void begin() = 0;
Chris@753 31
Chris@753 32 signals:
Chris@753 33 /**
Chris@753 34 * Emitted when alignment is successfully completed. The reference
Chris@769 35 * and toAlign models can be queried from the alignment
Chris@769 36 * model. This should be emitted as the last thing the aligner
Chris@769 37 * does, as the recipient may delete the aligner during the call.
Chris@753 38 */
Chris@753 39 void complete(ModelId alignmentModel); // an AlignmentModel
Chris@761 40
Chris@761 41 /**
Chris@769 42 * Emitted when alignment fails. This should be emitted as the
Chris@769 43 * last thing the aligner does, as the recipient may delete the
Chris@769 44 * aligner during the call.
Chris@761 45 */
Chris@761 46 void failed(ModelId toAlign, QString errorText); // the toAlign model
Chris@753 47 };
Chris@753 48
Chris@753 49 #endif