Audacity  2.2.2
Macros | Typedefs | Functions | Variables
ModuleManager.cpp File Reference

Based on LoadLadspa, this code loads pluggable Audacity extension modules. It also has the code to (a) invoke a script server and (b) invoke a function returning a replacement window, i.e. an alternative to the usual interface, for Audacity. More...

#include <wx/dynlib.h>
#include <wx/list.h>
#include <wx/log.h>
#include <wx/string.h>
#include <wx/filename.h>
#include "Audacity.h"
#include "AudacityApp.h"
#include "FileNames.h"
#include "Internat.h"
#include "PluginManager.h"
#include "commands/ScriptCommandRelay.h"
#include <NonGuiThread.h>
#include "audacity/PluginInterface.h"
#include "Prefs.h"
#include "./prefs/ModulePrefs.h"
#include "ModuleManager.h"
#include "widgets/MultiDialog.h"
#include "Experimental.h"
#include "widgets/ErrorDialog.h"

Go to the source code of this file.

Macros

#define initFnName   "ExtensionModuleInit"
 
#define versionFnName   "GetVersionString"
 
#define scriptFnName   "RegScriptServerFunc"
 
#define mainPanelFnName   "MainPanelFunc"
 

Typedefs

typedef wxWindow * pwxWindow
 
typedef int(* tModuleInit )(int)
 
typedef wxChar *(* tVersionFn )()
 
typedef pwxWindow(* tPanelFn )(int)
 
using BuiltinModuleList = std::vector< ModuleMain >
 

Functions

wxWindow * MakeHijackPanel ()
 
void RegisterBuiltinModule (ModuleMain moduleMain)
 

Variables

static tPanelFn pPanelHijack =NULL
 
static tpRegScriptServerFunc scriptFn
 

Detailed Description

Based on LoadLadspa, this code loads pluggable Audacity extension modules. It also has the code to (a) invoke a script server and (b) invoke a function returning a replacement window, i.e. an alternative to the usual interface, for Audacity.

Definition in file ModuleManager.cpp.

Macro Definition Documentation

#define initFnName   "ExtensionModuleInit"

Definition at line 49 of file ModuleManager.cpp.

#define mainPanelFnName   "MainPanelFunc"

Definition at line 52 of file ModuleManager.cpp.

Referenced by ModuleManager::Initialize().

#define scriptFnName   "RegScriptServerFunc"

Definition at line 51 of file ModuleManager.cpp.

Referenced by ModuleManager::Initialize().

#define versionFnName   "GetVersionString"

Definition at line 50 of file ModuleManager.cpp.

Referenced by Module::Load().

Typedef Documentation

using BuiltinModuleList = std::vector<ModuleMain>

Definition at line 182 of file ModuleManager.cpp.

typedef wxWindow* pwxWindow

Definition at line 54 of file ModuleManager.cpp.

typedef int(* tModuleInit)(int)

Definition at line 55 of file ModuleManager.cpp.

typedef pwxWindow(* tPanelFn)(int)

Definition at line 58 of file ModuleManager.cpp.

typedef wxChar*(* tVersionFn)()

Definition at line 57 of file ModuleManager.cpp.

Function Documentation

wxWindow* MakeHijackPanel ( )

IF pPanelHijack has been found in a module DLL THEN when this function is called we'll go and create that window instead of the normal one.

Definition at line 77 of file ModuleManager.cpp.

References pPanelHijack.

Referenced by AudacityApp::OnInit().

78 {
79  if( pPanelHijack == NULL )
80  return NULL;
81  return pPanelHijack(0);
82 }
static tPanelFn pPanelHijack
void RegisterBuiltinModule ( ModuleMain  moduleMain)

Definition at line 191 of file ModuleManager.cpp.

192 {
193  builtinModuleList().push_back(moduleMain);
194 
195  return;
196 }

Variable Documentation

tPanelFn pPanelHijack =NULL
static

Definition at line 62 of file ModuleManager.cpp.

Referenced by ModuleManager::Initialize(), and MakeHijackPanel().

tpRegScriptServerFunc scriptFn
static