doxygen. Class list completed for letter 'A'.

This commit is contained in:
James Crook 2017-11-09 18:32:29 +00:00
parent a612af5c05
commit a49f14ad02
19 changed files with 186 additions and 56 deletions

3
.gitignore vendored
View File

@ -90,6 +90,9 @@ mac/po/
mac/src/
mac/tests/
# Doxygen output
dox/
# Compiled Object files
*.slo
*.lo

View File

@ -56,9 +56,11 @@
// ============================================================================
// ============================================================================
//
// ModuleInterface class
//
///
/// ModuleInterface is a generic dll or so interface for Audacity, that is
/// used for plug ins. Classes derived from it can handle more specific plug
/// in types.
///
// ============================================================================
class ModuleInterface /* not final */ : public IdentInterface

View File

@ -21,6 +21,7 @@
class wxDC;
class wxRect;
/// Used to restore pen, brush and logical-op in a DC back to what they were.
struct DCUnchanger {
public:
DCUnchanger() {}
@ -36,9 +37,8 @@ public:
long logicalOperation {};
};
// Like wxDCPenChanger, etc., but simple and general
// Make temporary drawing context changes that you back out of, RAII style
/// Makes temporary drawing context changes that you back out of, RAII style
// It's like wxDCPenChanger, etc., but simple and general
class ADCChanger : public std::unique_ptr<wxDC, ::DCUnchanger>
{
using Base = std::unique_ptr<wxDC, ::DCUnchanger>;

View File

@ -1,3 +1,24 @@
/**********************************************************************
Audacity: A Digital Audio Editor
AudacityException
Paul Licameli
********************************************************************//**
\class AudacityException
\brief root of a hierarchy of classes that are thrown and caught
by Audacity.
\class MessageBoxException
\brief an AudacityException that pops up a single message box even if
there were multiple exceptions of the same kind before it actually
got to show.
*//********************************************************************/
#include "Audacity.h"
#include "AudacityException.h"

View File

@ -390,6 +390,18 @@ Time (in seconds, = total_sample_count / sample_rate)
use wxWidgets wxThread), this class sits in a thread loop reading and
writing audio.
*//****************************************************************//**
\class AudioIOListener
\brief Monitors record play start/stop and new blockfiles. Has
callbacks for these events.
*//****************************************************************//**
\class AudioIOStartStreamOptions
\brief struct holding stream options, including a pointer to the
TimeTrack and AudioIOListener and whether the playback is looped.
*//*******************************************************************/
#include "Audacity.h"

View File

@ -12,6 +12,10 @@
\brief The AutoRecoveryDialog prompts the user whether to
recover previous Audacity projects that were closed incorrectly.
\class AutoSaveFile
\brief a class wrapping reading and writing of arbitrary data in
text or binary format to a file.
*//********************************************************************/
#include "AutoRecovery.h"

View File

@ -19,7 +19,20 @@
presents a dialog to the user and lets them copy those block
files into the project, making it self-contained.
**********************************************************************/
********************************************************************//**
\class AliasedFile
\brief An audio file that is referenced (pointed into) directly from
an Audacity .aup file rather thna Audacity having its own copies of the
data.
*//*****************************************************************//**
\class DependencyDialog
\brief DependencyDialog shows dependencies of an AudacityProject on
AliasedFile s.
*//********************************************************************/
#include "Audacity.h"
#include "Dependencies.h"

View File

@ -7,7 +7,15 @@
Dominic Mazzoni
Markus Meyer
**********************************************************************/
********************************************************************//**
\class ArrayOf
\brief Memory.h template class for making an array of float, bool, etc.
\class ArraysOf
\brief memory.h template class for making an array of arrays.
*//********************************************************************/
#ifndef __AUDACITY_MIX__
#define __AUDACITY_MIX__

View File

@ -11,6 +11,7 @@ Paul Licameli
#ifndef __AUDACITY_REFRESH_CODE__
#define __AUDACITY_REFRESH_CODE__
/// Namespace containing an enum 'what to do on a refresh?'
namespace RefreshCode
{

View File

@ -51,6 +51,12 @@ This class is currently used by Theme to pack its images into the image
cache. Perhaps someday we will improve FlowPacker and make it more flexible,
and use it for toolbar and window layouts too.
*//*****************************************************************//**
\class auStaticText
\brief is like wxStaticText, except it can be themed. wxStaticText
can't be.
*//*****************************************************************/
#include "Audacity.h"

View File

@ -13,6 +13,12 @@
Classes derived form it include the WaveTrack, NoteTrack, LabelTrack
and TimeTrack.
\class AudioTrack
\brief A Track that can load/save audio data to/from XML.
\class PlayableTrack
\brief An AudioTrack that can be played and stopped.
*//*******************************************************************/
#include <algorithm>

View File

@ -15,13 +15,23 @@
\brief Represents a context to which a command may be applied.
\class Command
\brief Base class which encapsulates a process.
\brief Abstract base class for command interface. It implements
Command::SetParameter() and defers all other operations to derived classes.
That process may depend on certain parameters (determined by the command's
signature) and may produce output on various channels. Any process which is to
be controlled by a script should be separated out into its own Command class.
(And that class should be registered with the CommandDirectory).
\class ApplyAndSendResponse
\brief Decorator command that performs the given command and then
outputs a status message according to the result.
\class CommandImplementation,
\brief is derived from Command. It validates and
applies the command. CommandImplementation::Apply() is overloaded in
classes derived from it.
*//*******************************************************************/
#ifndef __COMMAND__
@ -56,7 +66,7 @@ public:
};
};
// Interface
// Abstract base class for command interface.
class Command /* not final */
{
public:
@ -72,7 +82,7 @@ public:
using CommandHolder = std::shared_ptr<Command>;
// Command which wraps another command
/// Command which wraps another command
class DecoratedCommand /* not final */ : public Command
{
protected:

View File

@ -11,6 +11,9 @@
\class EffectAutoDuck
\brief Implements the Auto Ducking effect
\class AutoDuckRegion
\brief a struct that holds a start and end time.
*******************************************************************/
#include "../Audacity.h"

View File

@ -10,7 +10,12 @@
loaded in a platform-specific way and passed into the constructor,
but from here this class handles the interfacing.
**********************************************************************/
********************************************************************//**
\class AEffect
\brief VST Effects class, conforming to VST layout.
*//********************************************************************/
//#define VST_DEBUG
//#define DEBUG_VST
@ -126,6 +131,12 @@ DECLARE_MODULE_ENTRY(AudacityModule)
// ============================================================================
DECLARE_BUILTIN_MODULE(VSTBuiltin);
///////////////////////////////////////////////////////////////////////////////
///
/// Auto created at program start up, this initialises VST.
///
///////////////////////////////////////////////////////////////////////////////
class VSTSubEntry final : public wxModule
{
public:
@ -176,6 +187,12 @@ enum InfoKeys
kKeyEnd
};
///////////////////////////////////////////////////////////////////////////////
///
/// Information about one VST effect.
///
///////////////////////////////////////////////////////////////////////////////
class VSTSubProcess final : public wxProcess,
public EffectIdentInterface
{
@ -692,10 +709,10 @@ void VSTEffectsModule::Check(const wxChar *path)
///////////////////////////////////////////////////////////////////////////////
//
// VSTEffectOptionsDialog
// Dialog for configuring latency, buffer size and graphics mode for a
// VST effect.
//
///////////////////////////////////////////////////////////////////////////////
class VSTEffectOptionsDialog final : public wxDialogWrapper
{
public:
@ -826,11 +843,12 @@ void VSTEffectOptionsDialog::OnOk(wxCommandEvent & WXUNUSED(evt))
}
///////////////////////////////////////////////////////////////////////////////
//
// VSTEffectTimer
//
///
/// Wrapper for wxTimer that calls a VST effect at regular intervals.
///
/// \todo should there be tests for no timer available?
///
///////////////////////////////////////////////////////////////////////////////
class VSTEffectTimer final : public wxTimer
{
public:
@ -858,7 +876,6 @@ private:
// VSTEffect
//
///////////////////////////////////////////////////////////////////////////////
enum
{
ID_Duration = 20000,
@ -1513,32 +1530,32 @@ bool VSTEffect::RealtimeProcessEnd()
return true;
}
//
// Some history...
//
// Before we ran into the Antress plugin problem with buffer size limitations,
// (see below) we just had a plain old effect loop...get the input samples, pass
// them to the effect, save the output samples.
//
// But, the hack I put in to limit the buffer size to only 8k (normally 512k or so)
// severely impacted performance. So, Michael C. added some intermediate buffering
// that sped things up quite a bit and this is how things have worked for quite a
// while. It still didn't get the performance back to the pre-hack stage, but it
// was a definite benefit.
//
// History over...
//
// I've recently (May 2014) tried newer versions of the Antress effects and they
// no longer seem to have a problem with buffer size. So, I've made a bit of a
// compromise...I've made the buffer size user configurable. Should have done this
// from the beginning. I've left the default 8k, just in case, but now the user
// can set the buffering based on their specific setup and needs.
//
// And at the same time I added buffer delay compensation, which allows Audacity
// to account for latency introduced by some effects. This is based on information
// provided by the effect, so it will not work with all effects since they don't
// all provide the information (kn0ck0ut is one).
//
///
/// Some history...
///
/// Before we ran into the Antress plugin problem with buffer size limitations,
/// (see below) we just had a plain old effect loop...get the input samples, pass
/// them to the effect, save the output samples.
///
/// But, the hack I put in to limit the buffer size to only 8k (normally 512k or so)
/// severely impacted performance. So, Michael C. added some intermediate buffering
/// that sped things up quite a bit and this is how things have worked for quite a
/// while. It still didn't get the performance back to the pre-hack stage, but it
/// was a definite benefit.
///
/// History over...
///
/// I've recently (May 2014) tried newer versions of the Antress effects and they
/// no longer seem to have a problem with buffer size. So, I've made a bit of a
/// compromise...I've made the buffer size user configurable. Should have done this
/// from the beginning. I've left the default 8k, just in case, but now the user
/// can set the buffering based on their specific setup and needs.
///
/// And at the same time I added buffer delay compensation, which allows Audacity
/// to account for latency introduced by some effects. This is based on information
/// provided by the effect, so it will not work with all effects since they don't
/// all provide the information (kn0ck0ut is one).
///
bool VSTEffect::ShowInterface(wxWindow *parent, bool forceModal)
{
if (mDialog)

View File

@ -67,6 +67,12 @@ using VSTEffectArray = std::vector < movable_ptr<VSTEffect> > ;
DECLARE_LOCAL_EVENT_TYPE(EVT_SIZEWINDOW, -1);
DECLARE_LOCAL_EVENT_TYPE(EVT_UPDATEDISPLAY, -1);
///////////////////////////////////////////////////////////////////////////////
///
/// VSTEffect is an Audacity EffectClientInterface that forwards actual
/// audio processing via a VSTEffectLink
///
///////////////////////////////////////////////////////////////////////////////
class VSTEffect final : public wxEvtHandler,
public EffectClientInterface,
public EffectUIClientInterface,
@ -360,11 +366,11 @@ private:
};
///////////////////////////////////////////////////////////////////////////////
//
// VSTEffectsModule
//
///
/// VSTEffectsModule is an Audacity ModuleInterface, in other words it
/// represents one plug in.
///
///////////////////////////////////////////////////////////////////////////////
class VSTEffectsModule final : public ModuleInterface
{
public:

View File

@ -6,8 +6,15 @@
Leland Lucius
**********************************************************************/
********************************************************************//**
\class AUControl
\brief a wxControl with Cocoa/Carbon support
\class AUControlImpl
\brief a wxWidgetCocoaImpl
*//********************************************************************/
#ifndef AUDACITY_AUCONTROL_H
#define AUDACITY_AUCONTROL_H

View File

@ -10,7 +10,12 @@
*******************************************************************//**
\class ErrorDialog
Gives an Error message with an option for help.
\brief Gives an Error message with an option for help.
*//*****************************************************************//**
\class AliasedFileMissingDialog
\brief Special case of ErrorDialog for reporting missing alias files.
*//********************************************************************/

View File

@ -44,6 +44,16 @@
*//***************************************************************//**
\class AdornedRulerPanel
\brief This is an Audacity Specific ruler panel which additionally
has border, selection markers, play marker.
Once TrackPanel uses wxSizers, we will derive it from some
wxWindow and the GetSize and SetSize functions
will then be wxWidgets functions instead.
*//***************************************************************//**
\class Ruler::Label
\brief An array of these created by the Ruler is used to determine
what and where text annotations to the numbers on the Ruler get drawn.

View File

@ -276,11 +276,7 @@ private:
class QuickPlayIndicatorOverlay;
class QuickPlayRulerOverlay;
// This is an Audacity Specific ruler panel which additionally
// has border, selection markers, play marker.
// Once TrackPanel uses wxSizers, we will derive it from some
// wxWindow and the GetSize and SetSize functions
// will then be wxWidgets functions instead.
// This is an Audacity Specific ruler panel.
class AUDACITY_DLL_API AdornedRulerPanel final : public OverlayPanel
{
public: