Audacity  2.2.0
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/dynarray.h>
#include <wx/dynlib.h>
#include <wx/list.h>
#include <wx/log.h>
#include <wx/msgdlg.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 <wx/arrimpl.cpp>
#include "Experimental.h"

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.

Macro Definition Documentation

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

Referenced by Module::Load().

Typedef Documentation

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

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.

References pPanelHijack.

Referenced by AudacityApp::OnInit().

void RegisterBuiltinModule ( ModuleMain  moduleMain)

Variable Documentation

tPanelFn pPanelHijack =NULL
static