36 lines
796 B
C
36 lines
796 B
C
|
// IATSAnalysis interface definition
|
||
|
//
|
||
|
// The interface of any ATS analysis : generate 1 ATSSound from 1 sampled sound
|
||
|
//
|
||
|
// QATSH Copyright 2009 Jean-Philippe MEURET <jpmeuret@free.fr>
|
||
|
|
||
|
#ifndef IATSANALYSIS_H
|
||
|
#define IATSANALYSIS_H
|
||
|
|
||
|
#include <QtCore/QString>
|
||
|
|
||
|
class SampledSound;
|
||
|
class ATSSound;
|
||
|
|
||
|
|
||
|
class IATSAnalysis
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
// Destructor.
|
||
|
virtual ~IATSAnalysis();
|
||
|
|
||
|
// Static type name : to be re-implemented in every derived class.
|
||
|
static const QString typeName();
|
||
|
|
||
|
// Type name (idem : must return typeName()).
|
||
|
virtual const QString type() const = 0;
|
||
|
|
||
|
// Type checking : use static <derived>::typeName() as an argument.
|
||
|
bool isOfType(const QString& qsType) const;
|
||
|
|
||
|
virtual ATSSound* operator()(SampledSound* pSampSound) = 0;
|
||
|
};
|
||
|
|
||
|
#endif // IATSANALYSIS_H
|