1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-22 14:32:58 +02:00
Files
audacity/src/commands/CompareAudioCommand.h
Paul Licameli 7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00

54 lines
1.3 KiB
C++

/**********************************************************************
Audacity - A Digital Audio Editor
Copyright 1999-2009 Audacity Team
License: wxwidgets
Dan Horgan
******************************************************************//**
\file CompareAudioCommand.h
\brief Contains declaration of CompareAudioCommand and CompareAudioCommandType
classes
*//*******************************************************************/
#ifndef __COMPAREAUDIOCOMMAND__
#define __COMPAREAUDIOCOMMAND__
#include "Command.h"
#include "CommandType.h"
class WaveTrack;
class CompareAudioCommandType final : public CommandType
{
public:
virtual wxString BuildName();
virtual void BuildSignature(CommandSignature &signature);
virtual Command *Create(CommandOutputTarget *target);
};
class CompareAudioCommand final : public CommandImplementation
{
private:
double mT0, mT1;
WaveTrack *mTrack0;
WaveTrack *mTrack1;
// Update member variables with project selection data (and validate)
bool GetSelection(AudacityProject &proj);
protected:
virtual double CompareSample(double value1, double value2);
public:
CompareAudioCommand(CommandType &type, CommandOutputTarget *target)
: CommandImplementation(type, target)
{ }
virtual bool Apply(CommandExecutionContext context);
};
#endif /* End of include guard: __COMPAREAUDIOCOMMAND__ */