1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-15 15:49:36 +02:00

New library for components

Based off the work of Paul and adapted for Tenacity.

Original commit: 54b5f7d12c167f3905e1030648fc21a79f881e9c

Co-authored-by: Paul Licameli <paul.licameli@audacityteam.org>
Signed-off-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
This commit is contained in:
Panagiotis Vasilopoulos 2021-09-24 01:46:07 +02:00
parent eb774a449c
commit 9d189dc3d2
No known key found for this signature in database
GPG Key ID: 9E541BDE43B99F44
55 changed files with 236 additions and 139 deletions

View File

@ -219,41 +219,4 @@ typedef const char *constSamplePtr;
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
typedef wxString PluginID; typedef wxString PluginID;
// ----------------------------------------------------------------------------
// Supported channel assignments
// ----------------------------------------------------------------------------
typedef enum
{
// Use to mark end of list
ChannelNameEOL = -1,
// The default channel assignment
ChannelNameMono,
// From this point, the channels follow the 22.2 surround sound format
ChannelNameFrontLeft,
ChannelNameFrontRight,
ChannelNameFrontCenter,
ChannelNameLowFrequency1,
ChannelNameBackLeft,
ChannelNameBackRight,
ChannelNameFrontLeftCenter,
ChannelNameFrontRightCenter,
ChannelNameBackCenter,
ChannelNameLowFrequency2,
ChannelNameSideLeft,
ChannelNameSideRight,
ChannelNameTopFrontLeft,
ChannelNameTopFrontRight,
ChannelNameTopFrontCenter,
ChannelNameTopCenter,
ChannelNameTopBackLeft,
ChannelNameTopBackRight,
ChannelNameTopSideLeft,
ChannelNameTopSideRight,
ChannelNameTopBackCenter,
ChannelNameBottomFrontCenter,
ChannelNameBottomFrontLeft,
ChannelNameBottomFrontRight,
} ChannelName, *ChannelNames;
#endif // __AUDACITY_TYPES_H__ #endif // __AUDACITY_TYPES_H__

View File

@ -6,6 +6,7 @@ set( LIBRARIES
lib-string-utils lib-string-utils
lib-strings lib-strings
lib-utility lib-utility
lib-components
) )
foreach( LIBRARY ${LIBRARIES} ) foreach( LIBRARY ${LIBRARIES} )

View File

@ -0,0 +1,30 @@
#[[
Various abstract base classes related to modules and plugins.
ComponentInterfaceSymbol, which pairs an internal identifier string (suitable
for storing as a configuration file value) with a user-visible translatable
string. It serves to "name" various things.
CommandParameters, for write and reading key-value pairs to and from strings.
]]#
list( APPEND SOURCES
ComponentInterface.cpp
ComponentInterface.h
ComponentInterfaceSymbol.h
ConfigInterface.cpp
ConfigInterface.h
EffectAutomationParameters.cpp
EffectAutomationParameters.h
EffectInterface.cpp
EffectInterface.h
ModuleInterface.cpp
ModuleInterface.h
PluginInterface.cpp
PluginInterface.h
)
audacity_library( lib-components "${SOURCES}"
"lib-strings-interface;PRIVATE;wxWidgets::wxWidgets"
"" ""
)

View File

@ -0,0 +1,10 @@
/**********************************************************************
Tenacity
@file ComponentInterface.cpp
**********************************************************************/
#include "ComponentInterface.h"
ComponentInterface::~ComponentInterface() = default;

View File

@ -1,6 +1,6 @@
/********************************************************************** /**********************************************************************
Audacity: A Digital Audio Editor Tenacity
ComponentInterface.h ComponentInterface.h
@ -43,7 +43,7 @@
#define __AUDACITY_COMPONENT_INTERFACE_H__ #define __AUDACITY_COMPONENT_INTERFACE_H__
#include "Identifier.h" #include "Identifier.h"
#include "tenacity/Types.h" #include "Internat.h"
#include <wx/string.h> // member variables #include <wx/string.h> // member variables
class ComponentInterfaceSymbol; class ComponentInterfaceSymbol;
@ -58,10 +58,10 @@ plugins. It is what makes a class a plug-in. Additionally it provides an
optional parameter definitions function, for those components such as commands, optional parameter definitions function, for those components such as commands,
effects and (soon) preference pagess that define parameters. effects and (soon) preference pagess that define parameters.
********************************************************************************/ ********************************************************************************/
class TENACITY_DLL_API ComponentInterface /* not final */ class COMPONENTS_API ComponentInterface /* not final */
{ {
public: public:
virtual ~ComponentInterface() {}; virtual ~ComponentInterface();
// These should return an untranslated value // These should return an untranslated value
virtual PluginPath GetPath() = 0; virtual PluginPath GetPath() = 0;

View File

@ -0,0 +1,10 @@
/**********************************************************************
Tenacity
@file ConfigInterface.cpp
**********************************************************************/
#include "ConfigInterface.h"
ConfigClientInterface::~ConfigClientInterface() = default;

View File

@ -1,6 +1,6 @@
/********************************************************************** /**********************************************************************
Audacity: A Digital Audio Editor Tenacity
ConfigInterface.h ConfigInterface.h
@ -53,10 +53,10 @@ differentiates between private and shared config. It should probably be replace
with a Shuttle. with a Shuttle.
*******************************************************************************************/ *******************************************************************************************/
class TENACITY_DLL_API ConfigClientInterface /* not final */ class COMPONENTS_API ConfigClientInterface /* not final */
{ {
public: public:
virtual ~ConfigClientInterface() {}; virtual ~ConfigClientInterface();
virtual bool HasSharedConfigGroup(const RegistryPath & group) = 0; virtual bool HasSharedConfigGroup(const RegistryPath & group) = 0;
virtual bool GetSharedConfigSubgroups(const RegistryPath & group, RegistryPaths & subgroups) = 0; virtual bool GetSharedConfigSubgroups(const RegistryPath & group, RegistryPaths & subgroups) = 0;

View File

@ -0,0 +1,10 @@
/**********************************************************************
Tenacity
@file EffectAutomationParameters.cpp
**********************************************************************/
#include "EffectAutomationParameters.h"
CommandParameters::~CommandParameters() = default;

View File

@ -1,6 +1,6 @@
/********************************************************************** /**********************************************************************
Audacity: A Digital Audio Editor Tenacity
EffectAutomationParameters.h EffectAutomationParameters.h
(defining CommandParameters) (defining CommandParameters)
@ -64,7 +64,7 @@ wxWidget validators, and can create default dialogs. However until that convers
done, we need this class, and we use a pointer to one from within a Shuttle when interfacing done, we need this class, and we use a pointer to one from within a Shuttle when interfacing
with the code that still uses it. with the code that still uses it.
*/ */
class CommandParameters final : public wxFileConfig class COMPONENTS_API CommandParameters final : public wxFileConfig
{ {
public: public:
CommandParameters(const wxString & parms = {}) CommandParameters(const wxString & parms = {})
@ -78,9 +78,7 @@ public:
SetParameters(parms); SetParameters(parms);
} }
virtual ~CommandParameters() virtual ~CommandParameters();
{
}
virtual bool HasGroup(const wxString & strName) const override virtual bool HasGroup(const wxString & strName) const override
{ {

View File

@ -0,0 +1,18 @@
/**********************************************************************
Tenacity
@file EffectInterface.cpp
**********************************************************************/
#include "EffectInterface.h"
EffectDefinitionInterface::~EffectDefinitionInterface() = default;
EffectHostInterface::~EffectHostInterface() = default;
EffectClientInterface::~EffectClientInterface() = default;
EffectUIHostInterface::~EffectUIHostInterface() = default;
EffectUIClientInterface::~EffectUIClientInterface() = default;

View File

@ -1,6 +1,6 @@
/********************************************************************** /**********************************************************************
Audacity: A Digital Audio Editor Tenacity
EffectInterface.h EffectInterface.h
@ -44,11 +44,10 @@
#include <functional> #include <functional>
#include "Identifier.h" #include "ComponentInterface.h"
#include "tenacity/ComponentInterface.h"
#include "ComponentInterfaceSymbol.h" #include "ComponentInterfaceSymbol.h"
#include "tenacity/ConfigInterface.h" #include "ConfigInterface.h"
#include "tenacity/EffectAutomationParameters.h" // for command automation #include "EffectAutomationParameters.h" // for command automation
class ShuttleGui; class ShuttleGui;
@ -63,6 +62,8 @@ typedef enum EffectType : int
} EffectType; } EffectType;
using EffectFamilySymbol = ComponentInterfaceSymbol;
/*************************************************************************************//** /*************************************************************************************//**
\class EffectDefinitionInterface \class EffectDefinitionInterface
@ -71,15 +72,15 @@ typedef enum EffectType : int
flag-functions for interactivity, play-preview and whether the effect can run without a GUI. flag-functions for interactivity, play-preview and whether the effect can run without a GUI.
*******************************************************************************************/ *******************************************************************************************/
class TENACITY_DLL_API EffectDefinitionInterface /* not final */ : public ComponentInterface class COMPONENTS_API EffectDefinitionInterface /* not final */ : public ComponentInterface
{ {
public: public:
virtual ~EffectDefinitionInterface() {}; virtual ~EffectDefinitionInterface();
// Type determines how it behaves. // Type determines how it behaves.
virtual EffectType GetType() = 0; virtual EffectType GetType() = 0;
// Classification determines which menu it appears in. // Classification determines which menu it appears in.
virtual EffectType GetClassification() { return GetType();}; virtual EffectType GetClassification() { return GetType();}
virtual EffectFamilySymbol GetFamily() = 0; virtual EffectFamilySymbol GetFamily() = 0;
@ -116,10 +117,10 @@ virtual (abstract) functions to get presets and actually apply the effect. It u
ConfigClientInterface to add Getters/setters for private and shared configs. ConfigClientInterface to add Getters/setters for private and shared configs.
*******************************************************************************************/ *******************************************************************************************/
class TENACITY_DLL_API EffectHostInterface /* not final */ : public ConfigClientInterface class COMPONENTS_API EffectHostInterface /* not final */ : public ConfigClientInterface
{ {
public: public:
virtual ~EffectHostInterface() {}; virtual ~EffectHostInterface();
virtual double GetDefaultDuration() = 0; virtual double GetDefaultDuration() = 0;
virtual double GetDuration() = 0; virtual double GetDuration() = 0;
@ -132,6 +133,45 @@ public:
virtual RegistryPath GetFactoryDefaultsGroup() = 0; virtual RegistryPath GetFactoryDefaultsGroup() = 0;
}; };
class sampleCount;
// ----------------------------------------------------------------------------
// Supported channel assignments
// ----------------------------------------------------------------------------
typedef enum
{
// Use to mark end of list
ChannelNameEOL = -1,
// The default channel assignment
ChannelNameMono,
// From this point, the channels follow the 22.2 surround sound format
ChannelNameFrontLeft,
ChannelNameFrontRight,
ChannelNameFrontCenter,
ChannelNameLowFrequency1,
ChannelNameBackLeft,
ChannelNameBackRight,
ChannelNameFrontLeftCenter,
ChannelNameFrontRightCenter,
ChannelNameBackCenter,
ChannelNameLowFrequency2,
ChannelNameSideLeft,
ChannelNameSideRight,
ChannelNameTopFrontLeft,
ChannelNameTopFrontRight,
ChannelNameTopFrontCenter,
ChannelNameTopCenter,
ChannelNameTopBackLeft,
ChannelNameTopBackRight,
ChannelNameTopSideLeft,
ChannelNameTopSideRight,
ChannelNameTopBackCenter,
ChannelNameBottomFrontCenter,
ChannelNameBottomFrontLeft,
ChannelNameBottomFrontRight,
} ChannelName, *ChannelNames;
/*************************************************************************************//** /*************************************************************************************//**
\class EffectClientInterface \class EffectClientInterface
@ -141,7 +181,7 @@ Effect into a plug-in command. It has functions for realtime that are not part
AudacityCommand. AudacityCommand.
*******************************************************************************************/ *******************************************************************************************/
class TENACITY_DLL_API EffectClientInterface /* not final */ : public EffectDefinitionInterface class COMPONENTS_API EffectClientInterface /* not final */ : public EffectDefinitionInterface
{ {
public: public:
using EffectDialogFactory = std::function< using EffectDialogFactory = std::function<
@ -149,7 +189,7 @@ public:
EffectHostInterface*, EffectUIClientInterface* ) EffectHostInterface*, EffectUIClientInterface* )
>; >;
virtual ~EffectClientInterface() {}; virtual ~EffectClientInterface();
virtual bool SetHost(EffectHostInterface *host) = 0; virtual bool SetHost(EffectHostInterface *host) = 0;
@ -213,10 +253,10 @@ can call SetHostUI passing in a pointer to an EffectUIHostInterface. It contain
functionality and is provided, apparently, for type checking. Since only EffectUIHost functionality and is provided, apparently, for type checking. Since only EffectUIHost
uses it, EffectUIHost could be used instead. uses it, EffectUIHost could be used instead.
*******************************************************************************************/ *******************************************************************************************/
class TENACITY_DLL_API EffectUIHostInterface class COMPONENTS_API EffectUIHostInterface
{ {
public: public:
virtual ~EffectUIHostInterface() {}; virtual ~EffectUIHostInterface();
}; };
/*************************************************************************************//** /*************************************************************************************//**
@ -227,10 +267,10 @@ public:
values. It can import and export presets. values. It can import and export presets.
*******************************************************************************************/ *******************************************************************************************/
class TENACITY_DLL_API EffectUIClientInterface /* not final */ class COMPONENTS_API EffectUIClientInterface /* not final */
{ {
public: public:
virtual ~EffectUIClientInterface() {}; virtual ~EffectUIClientInterface();
virtual void SetHostUI(EffectUIHostInterface *host) = 0; virtual void SetHostUI(EffectUIHostInterface *host) = 0;
virtual bool IsGraphicalUI() = 0; virtual bool IsGraphicalUI() = 0;

View File

@ -0,0 +1,10 @@
/**********************************************************************
Tenacity
@file ModuleInterface.cpp
**********************************************************************/
#include "ModuleInterface.h"
ModuleInterface::~ModuleInterface() = default;

View File

@ -1,6 +1,6 @@
/********************************************************************** /**********************************************************************
Audacity: A Digital Audio Editor Tenacity
ModuleInterface.h ModuleInterface.h
@ -45,8 +45,8 @@
#include <functional> #include <functional>
#include <memory> #include <memory>
#include "Identifier.h" #include "Identifier.h"
#include "tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
// ============================================================================ // ============================================================================
// //
@ -68,7 +68,7 @@
class ModuleInterface /* not final */ : public ComponentInterface class ModuleInterface /* not final */ : public ComponentInterface
{ {
public: public:
virtual ~ModuleInterface() {}; virtual ~ModuleInterface();
// Called immediately after creation to give the instance a chance to // Called immediately after creation to give the instance a chance to
// initialize. Return "true" if initialziation was successful. // initialize. Return "true" if initialziation was successful.

View File

@ -0,0 +1,10 @@
/**********************************************************************
Tenacity
@file PluginInterface.cpp
**********************************************************************/
#include "PluginInterface.h"
PluginManagerInterface::~PluginManagerInterface() = default;

View File

@ -1,6 +1,6 @@
/********************************************************************** /**********************************************************************
Audacity: A Digital Audio Editor Tenacity
PluginInterface.h PluginInterface.h
@ -42,17 +42,19 @@
#ifndef __AUDACITY_PLUGININTERFACE_H__ #ifndef __AUDACITY_PLUGININTERFACE_H__
#define __AUDACITY_PLUGININTERFACE_H__ #define __AUDACITY_PLUGININTERFACE_H__
#include "tenacity/ConfigInterface.h" #include "ConfigInterface.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "Identifier.h"
class ModuleInterface; class ModuleInterface;
using PluginID = wxString;
using PluginIDs = wxArrayString;
class COMPONENTS_API PluginManagerInterface /* not final */
class TENACITY_DLL_API PluginManagerInterface /* not final */
{ {
public: public:
virtual ~PluginManagerInterface();
static const PluginID &DefaultRegistrationCallback( static const PluginID &DefaultRegistrationCallback(
ModuleInterface *provider, ComponentInterface *ident ); ModuleInterface *provider, ComponentInterface *ident );

View File

@ -14,9 +14,9 @@
#include <wx/defs.h> #include <wx/defs.h>
#include "ComponentInterface.h" // for ComponentInterfaceSymbol
#include "export/Export.h" #include "export/Export.h"
#include "commands/CommandFlag.h" #include "commands/CommandFlag.h"
#include "tenacity/ComponentInterface.h" // for ComponentInterfaceSymbol
class wxArrayString; class wxArrayString;
class Effect; class Effect;

View File

@ -991,13 +991,7 @@ list( APPEND SOURCES PRIVATE Experimental.cmake )
# General headers # General headers
# ~~~ # ~~~
list( APPEND HEADERS list( APPEND HEADERS
../include/tenacity/EffectInterface.h
../include/tenacity/Types.h ../include/tenacity/Types.h
../include/tenacity/ConfigInterface.h
../include/tenacity/ModuleInterface.h
../include/tenacity/PluginInterface.h
../include/tenacity/ComponentInterface.h
../include/tenacity/EffectAutomationParameters.h
) )
# ~~~ # ~~~

View File

@ -16,8 +16,7 @@ Describes shared object that is used to access FFmpeg libraries.
#if !defined(__AUDACITY_FFMPEG__) #if !defined(__AUDACITY_FFMPEG__)
#define __AUDACITY_FFMPEG__ #define __AUDACITY_FFMPEG__
#include "tenacity/Types.h"
#include "widgets/wxPanelWrapper.h" // to inherit #include "widgets/wxPanelWrapper.h" // to inherit
#if defined(__WXMSW__) #if defined(__WXMSW__)

View File

@ -15,7 +15,7 @@
#include <wx/defs.h> #include <wx/defs.h>
#include "widgets/wxPanelWrapper.h" // to inherit #include "widgets/wxPanelWrapper.h" // to inherit
#include "tenacity/ComponentInterface.h" // member variable #include "ComponentInterface.h" // member variable
class wxArrayString; class wxArrayString;
class wxGridEvent; class wxGridEvent;

View File

@ -20,7 +20,7 @@ i.e. an alternative to the usual interface, for Audacity.
#include "ModuleManager.h" #include "ModuleManager.h"
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
@ -32,7 +32,7 @@ i.e. an alternative to the usual interface, for Audacity.
#include "FileNames.h" #include "FileNames.h"
#include "MemoryX.h" #include "MemoryX.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
#ifdef EXPERIMENTAL_MODULE_PREFS #ifdef EXPERIMENTAL_MODULE_PREFS
#include "Prefs.h" #include "Prefs.h"

View File

@ -66,7 +66,6 @@ using ModuleInterfaceHandle = std::unique_ptr<
typedef std::map<wxString, ModuleInterfaceHandle> ModuleMap; typedef std::map<wxString, ModuleInterfaceHandle> ModuleMap;
typedef std::map<ModuleInterface *, std::unique_ptr<wxDynamicLibrary>> LibraryMap; typedef std::map<ModuleInterface *, std::unique_ptr<wxDynamicLibrary>> LibraryMap;
using PluginIDs = wxArrayString;
class TENACITY_DLL_API ModuleManager final class TENACITY_DLL_API ModuleManager final
{ {

View File

@ -28,7 +28,7 @@ for shared and private configs - which need to move out.
#include <wx/log.h> #include <wx/log.h>
#include <wx/tokenzr.h> #include <wx/tokenzr.h>
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "AudacityFileConfig.h" #include "AudacityFileConfig.h"
#include "Internat.h" // for macro XO #include "Internat.h" // for macro XO

View File

@ -17,8 +17,8 @@
#include <map> #include <map>
#include <memory> #include <memory>
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
class wxArrayString; class wxArrayString;
class FileConfig; class FileConfig;

View File

@ -9,7 +9,7 @@
**********************************************************************/ **********************************************************************/
#include "PluginRegistrationDialog.h" #include "PluginRegistrationDialog.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "ModuleManager.h" #include "ModuleManager.h"
#include "PluginManager.h" #include "PluginManager.h"
#include "ShuttleGui.h" #include "ShuttleGui.h"

View File

@ -38,7 +38,7 @@
#include <functional> #include <functional>
#include "../include/tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "ComponentInterfaceSymbol.h" #include "ComponentInterfaceSymbol.h"
#include "wxArrayStringEx.h" #include "wxArrayStringEx.h"
#include "widgets/FileConfig.h" #include "widgets/FileConfig.h"

View File

@ -25,7 +25,7 @@
#include "Resample.h" #include "Resample.h"
#include "Prefs.h" #include "Prefs.h"
#include "Internat.h" #include "Internat.h"
#include "../include/tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include <soxr.h> #include <soxr.h>

View File

@ -65,7 +65,7 @@ preferences.
#include <wx/radiobut.h> #include <wx/radiobut.h>
#include <wx/button.h> #include <wx/button.h>
#include "../include/tenacity/EffectAutomationParameters.h" // for command automation #include "EffectAutomationParameters.h" // for command automation
#include "WrappedType.h" #include "WrappedType.h"
//#include "effects/Effect.h" //#include "effects/Effect.h"

View File

@ -11,7 +11,7 @@
#ifndef __AUDACITY_SHUTTLE__ #ifndef __AUDACITY_SHUTTLE__
#define __AUDACITY_SHUTTLE__ #define __AUDACITY_SHUTTLE__
#include "../include/tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "ComponentInterfaceSymbol.h" #include "ComponentInterfaceSymbol.h"
class ComponentInterfaceSymbol; class ComponentInterfaceSymbol;

View File

@ -115,7 +115,7 @@ for registering for changes.
#include <wx/bmpbuttn.h> #include <wx/bmpbuttn.h>
#include <wx/wrapsizer.h> #include <wx/wrapsizer.h>
#include "../include/tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "widgets/ReadOnlyText.h" #include "widgets/ReadOnlyText.h"
#include "widgets/wxPanelWrapper.h" #include "widgets/wxPanelWrapper.h"
#include "widgets/wxTextCtrlWrapper.h" #include "widgets/wxTextCtrlWrapper.h"

View File

@ -24,6 +24,7 @@
#include "Prefs.h" #include "Prefs.h"
#include "WrappedType.h" #include "WrappedType.h"
#include "ComponentInterfaceSymbol.h"
class ChoiceSetting; class ChoiceSetting;
@ -759,8 +760,6 @@ public:
teShuttleMode GetMode() { return mShuttleMode; }; teShuttleMode GetMode() { return mShuttleMode; };
}; };
class ComponentInterfaceSymbol;
//! Convenience function often useful when adding choice controls //! Convenience function often useful when adding choice controls
TENACITY_DLL_API TranslatableStrings Msgids( TENACITY_DLL_API TranslatableStrings Msgids(
const EnumValueSymbol strings[], size_t nStrings); const EnumValueSymbol strings[], size_t nStrings);

View File

@ -13,7 +13,7 @@
#include <wx/defs.h> #include <wx/defs.h>
#include "tenacity/ComponentInterface.h" // member variable #include "ComponentInterface.h" // member variable
#include "widgets/wxPanelWrapper.h" // to inherit #include "widgets/wxPanelWrapper.h" // to inherit

View File

@ -35,7 +35,7 @@ ShuttleGui.
#include <wx/utils.h> #include <wx/utils.h>
#include <wx/log.h> #include <wx/log.h>
#include "tenacity/ConfigInterface.h" #include "ConfigInterface.h"
#include "../Shuttle.h" #include "../Shuttle.h"
#include "../ShuttleGui.h" #include "../ShuttleGui.h"

View File

@ -20,8 +20,8 @@
#include "../widgets/wxPanelWrapper.h" // to inherit #include "../widgets/wxPanelWrapper.h" // to inherit
#include "../include/tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "../include/tenacity/EffectAutomationParameters.h" // for command automation #include "EffectAutomationParameters.h" // for command automation
#include "../Registrar.h" #include "../Registrar.h"

View File

@ -12,7 +12,7 @@
#ifndef __AUDACITY_LOAD_COMMANDS__ #ifndef __AUDACITY_LOAD_COMMANDS__
#define __AUDACITY_LOAD_COMMANDS__ #define __AUDACITY_LOAD_COMMANDS__
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include <functional> #include <functional>
#include <memory> #include <memory>

View File

@ -25,8 +25,8 @@ class wxChoice;
class wxListBox; class wxListBox;
class wxWindow; class wxWindow;
#include "tenacity/ConfigInterface.h" #include "ConfigInterface.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "../SelectedRegion.h" #include "../SelectedRegion.h"

View File

@ -16,7 +16,7 @@
#include <vector> #include <vector>
#include <unordered_map> #include <unordered_map>
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "Identifier.h" #include "Identifier.h"
class AudacityCommand; class AudacityCommand;

View File

@ -16,6 +16,9 @@
#include <wx/bitmap.h> // member variables #include <wx/bitmap.h> // member variables
#include "Identifier.h"
#include "PluginInterface.h"
#if defined(EXPERIMENTAL_EFFECTS_RACK) #if defined(EXPERIMENTAL_EFFECTS_RACK)
#include <vector> #include <vector>
@ -102,8 +105,8 @@ private:
#endif #endif
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "../widgets/wxPanelWrapper.h" // to inherit #include "widgets/wxPanelWrapper.h" // to inherit
#include "../SelectedRegion.h" #include "../SelectedRegion.h"

View File

@ -11,7 +11,7 @@
#ifndef __AUDACITY_LOAD_EFFECTS__ #ifndef __AUDACITY_LOAD_EFFECTS__
#define __AUDACITY_LOAD_EFFECTS__ #define __AUDACITY_LOAD_EFFECTS__
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include <functional> #include <functional>
#include <memory> #include <memory>

View File

@ -11,7 +11,7 @@
#include "RealtimeEffectManager.h" #include "RealtimeEffectManager.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include <memory> #include <memory>
#include <atomic> #include <atomic>

View File

@ -84,7 +84,7 @@
#include "../../widgets/WindowAccessible.h" #include "../../widgets/WindowAccessible.h"
#endif #endif
#include "tenacity/ConfigInterface.h" #include "ConfigInterface.h"
#include <cstring> #include <cstring>

View File

@ -12,9 +12,9 @@
#if USE_VST #if USE_VST
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
#include "../../SampleFormat.h" #include "../../SampleFormat.h"
#include "../../xml/XMLTagHandler.h" #include "../../xml/XMLTagHandler.h"

View File

@ -21,9 +21,9 @@
#include <AudioUnit/AudioUnit.h> #include <AudioUnit/AudioUnit.h>
#include <AudioUnit/AudioUnitProperties.h> #include <AudioUnit/AudioUnitProperties.h>
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
#include "AUControl.h" #include "AUControl.h"

View File

@ -18,9 +18,9 @@ class NumericTextCtrl;
#include <wx/dynlib.h> // member variable #include <wx/dynlib.h> // member variable
#include <wx/event.h> // to inherit #include <wx/event.h> // to inherit
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
#include "ladspa.h" #include "ladspa.h"
#include "../../SampleFormat.h" #include "../../SampleFormat.h"

View File

@ -31,9 +31,9 @@
#include "lv2/uri-map/uri-map.h" #include "lv2/uri-map/uri-map.h"
#include "lv2/units/units.h" #include "lv2/units/units.h"
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
#include "lv2_external_ui.h" #include "lv2_external_ui.h"

View File

@ -8,9 +8,9 @@
**********************************************************************/ **********************************************************************/
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //

View File

@ -14,9 +14,9 @@
#include <memory> #include <memory>
#include "tenacity/ModuleInterface.h" #include "ModuleInterface.h"
#include "tenacity/EffectInterface.h" #include "EffectInterface.h"
#include "tenacity/PluginInterface.h" #include "PluginInterface.h"
#include <vamp-hostsdk/PluginLoader.h> #include <vamp-hostsdk/PluginLoader.h>

View File

@ -1,5 +1,3 @@
#include "../CommonCommandFlags.h" #include "../CommonCommandFlags.h"
#include "../Menus.h" #include "../Menus.h"
#include "../Prefs.h" #include "../Prefs.h"

View File

@ -29,7 +29,7 @@ MousePrefs, QualityPrefs, SpectrumPrefs and ThemePrefs.
#include <functional> #include <functional>
#include "../widgets/wxPanelWrapper.h" // to inherit #include "../widgets/wxPanelWrapper.h" // to inherit
#include "../include/tenacity/ComponentInterface.h" #include "ComponentInterface.h"
#include "../Registry.h" #include "../Registry.h"
/* A few constants for an attempt at semi-uniformity */ /* A few constants for an attempt at semi-uniformity */

View File

@ -11,6 +11,7 @@
#ifndef __AUDACITY_QUALITY_SETTINGS__ #ifndef __AUDACITY_QUALITY_SETTINGS__
#define __AUDACITY_QUALITY_SETTINGS__ #define __AUDACITY_QUALITY_SETTINGS__
#include <tenacity/Types.h>
#include "Prefs.h" // for EnumSetting #include "Prefs.h" // for EnumSetting
class IntSetting; class IntSetting;

View File

@ -17,7 +17,7 @@
#include <wx/brush.h> // member variable #include <wx/brush.h> // member variable
#include "Identifier.h" #include "tenacity/Types.h"
class wxChoice; class wxChoice;
class wxCommandEvent; class wxCommandEvent;

View File

@ -13,6 +13,7 @@ Paul Licameli
#include <functional> #include <functional>
#include <unordered_map> #include <unordered_map>
#include <vector>
#include "../../AttachedVirtualFunction.h" #include "../../AttachedVirtualFunction.h"
#include "../../UIHandle.h" #include "../../UIHandle.h"

View File

@ -168,7 +168,7 @@ different formats.
#include "NumericTextCtrl.h" #include "NumericTextCtrl.h"
#include "Identifier.h" #include "tenacity/Types.h"
#include "../AllThemeResources.h" #include "../AllThemeResources.h"
#include "../AColor.h" #include "../AColor.h"
#include "../KeyboardCapture.h" #include "../KeyboardCapture.h"

View File

@ -17,15 +17,14 @@
#include <memory>
#include "../../include/tenacity/ComponentInterface.h"
#include "ComponentInterfaceSymbol.h"
#include <vector> #include <vector>
#include <wx/setup.h> // for wxUSE_* macros #include <wx/setup.h> // for wxUSE_* macros
#include <wx/defs.h> #include <wx/defs.h>
#include <wx/control.h> // to inherit #include <wx/control.h> // to inherit
#include "ComponentInterfaceSymbol.h"
#include "Internat.h" #include "Internat.h"
#include "MemoryX.h"
// One event type for each type of control. Event is raised when a control // One event type for each type of control. Event is raised when a control
// changes its format. Owners of controls of the same type can listen and // changes its format. Owners of controls of the same type can listen and

View File

@ -24,6 +24,8 @@
#include "XMLTagHandler.h" #include "XMLTagHandler.h"
#include "tenacity/Types.h"
#ifdef _WIN32 #ifdef _WIN32
#include <windows.h> #include <windows.h>
#include <wx/msw/winundef.h> #include <wx/msw/winundef.h>