Audacity 3.2.0
Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
BatchProcessDialog.cpp File Reference
#include "BatchProcessDialog.h"
#include <wx/setup.h>
#include <wx/ownerdrw.h>
#include <wx/defs.h>
#include <wx/checkbox.h>
#include <wx/choice.h>
#include <wx/frame.h>
#include <wx/log.h>
#include <wx/statbox.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/listctrl.h>
#include <wx/button.h>
#include <wx/imaglist.h>
#include <wx/settings.h>
#include "Clipboard.h"
#include "ShuttleGui.h"
#include "MenuCreator.h"
#include "Prefs.h"
#include "Project.h"
#include "ProjectFileManager.h"
#include "ProjectHistory.h"
#include "ProjectManager.h"
#include "ProjectWindows.h"
#include "SelectUtilities.h"
#include "Track.h"
#include "CommandManager.h"
#include "Effect.h"
#include "effects/EffectUI.h"
#include "../images/Arrow.xpm"
#include "../images/Empty9x16.xpm"
#include "UndoManager.h"
#include "Viewport.h"
#include "AllThemeResources.h"
#include "FileDialog/FileDialog.h"
#include "FileNames.h"
#include "Import.h"
#include "AudacityMessageBox.h"
#include "AudacityTextEntryDialog.h"
#include "HelpSystem.h"
#include <wx/textdlg.h>
#include "BatchCommandDialog.h"
#include "CommonCommandFlags.h"
#include "CommandContext.h"
#include "effects/EffectManager.h"
Include dependency graph for BatchProcessDialog.cpp:

Go to the source code of this file.

Namespaces

namespace  anonymous_namespace{BatchProcessDialog.cpp}
 

Macros

#define MacrosPaletteTitle   XO("Macros Palette")
 
#define ManageMacrosTitle   XO("Manage Macros")
 
#define MacrosListID   7001
 
#define CommandsListID   7002
 
#define ApplyToProjectID   7003
 
#define ApplyToFilesID   7004
 
#define ExpandID   7005
 
#define ShrinkID   7006
 

Typedefs

using anonymous_namespace{BatchProcessDialog.cpp}::MacroID = wxString
 

Enumerations

enum  {
  AddButtonID = 10000 , RemoveButtonID , RenameButtonID , RestoreButtonID ,
  ImportButtonID , ExportButtonID , SaveButtonID , DefaultsButtonID ,
  InsertButtonID , EditButtonID , DeleteButtonID , UpButtonID ,
  DownButtonID , ApplyToProjectButtonID = ApplyToProjectID , ApplyToFilesButtonID = ApplyToFilesID
}
 
enum  { ItemNumberColumn , ActionColumn , ParamsColumn }
 

Functions

void anonymous_namespace{BatchProcessDialog.cpp}::OnApplyMacroDirectlyByName (const CommandContext &context, const MacroID &Name)
 
void anonymous_namespace{BatchProcessDialog.cpp}::OnRepeatLastTool (const CommandContext &context)
 
void anonymous_namespace{BatchProcessDialog.cpp}::OnManageMacros (const CommandContext &context)
 
void anonymous_namespace{BatchProcessDialog.cpp}::OnApplyMacrosPalette (const CommandContext &context)
 
void anonymous_namespace{BatchProcessDialog.cpp}::OnApplyMacroDirectly (const CommandContext &context)
 
void anonymous_namespace{BatchProcessDialog.cpp}::PopulateMacrosMenu (MenuRegistry::MenuItems &items, CommandFlag flags)
 
const ReservedCommandFlaganonymous_namespace{BatchProcessDialog.cpp}::HasLastToolFlag ()
 
auto PluginMenuItems ()
 
auto ExtraScriptablesIMenu ()
 
auto ExtraScriptablesIIMenu ()
 

Variables

AttachedWindows::RegisteredFactory anonymous_namespace{BatchProcessDialog.cpp}::sMacrosWindowKey
 
AttachedItem sAttachment1 { Indirect(PluginMenuItems()), wxT("Tools/Manage") }
 
AttachedItem sAttachment2
 
AttachedItem sAttachment3
 

Macro Definition Documentation

◆ ApplyToFilesID

#define ApplyToFilesID   7004

Definition at line 78 of file BatchProcessDialog.cpp.

◆ ApplyToProjectID

#define ApplyToProjectID   7003

Definition at line 77 of file BatchProcessDialog.cpp.

◆ CommandsListID

#define CommandsListID   7002

Definition at line 76 of file BatchProcessDialog.cpp.

◆ ExpandID

#define ExpandID   7005

Definition at line 79 of file BatchProcessDialog.cpp.

◆ MacrosListID

#define MacrosListID   7001

Definition at line 75 of file BatchProcessDialog.cpp.

◆ MacrosPaletteTitle

#define MacrosPaletteTitle   XO("Macros Palette")

Definition at line 69 of file BatchProcessDialog.cpp.

◆ ManageMacrosTitle

#define ManageMacrosTitle   XO("Manage Macros")

Definition at line 70 of file BatchProcessDialog.cpp.

◆ ShrinkID

#define ShrinkID   7006

Definition at line 80 of file BatchProcessDialog.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
AddButtonID 
RemoveButtonID 
RenameButtonID 
RestoreButtonID 
ImportButtonID 
ExportButtonID 
SaveButtonID 
DefaultsButtonID 
InsertButtonID 
EditButtonID 
DeleteButtonID 
UpButtonID 
DownButtonID 
ApplyToProjectButtonID 
ApplyToFilesButtonID 

Definition at line 502 of file BatchProcessDialog.cpp.

502 {
503 AddButtonID = 10000,
510
512
518
519// MacrosListID 7005
520// CommandsListID, 7002
521// Re-Use IDs from ApplyMacroDialog.
524};
#define ApplyToFilesID
#define ApplyToProjectID
@ SaveButtonID
@ UpButtonID
@ ImportButtonID
@ DownButtonID
@ RestoreButtonID
@ RenameButtonID
@ AddButtonID
@ EditButtonID
@ DefaultsButtonID
@ RemoveButtonID
@ ApplyToProjectButtonID
@ DeleteButtonID
@ InsertButtonID
@ ApplyToFilesButtonID
@ ExportButtonID

◆ anonymous enum

anonymous enum
Enumerator
ItemNumberColumn 
ActionColumn 
ParamsColumn 

Definition at line 557 of file BatchProcessDialog.cpp.

557 {
561};
@ ActionColumn
@ ParamsColumn
@ ItemNumberColumn

Function Documentation

◆ ExtraScriptablesIIMenu()

auto ExtraScriptablesIIMenu ( )

Definition at line 1595 of file BatchProcessDialog.cpp.

1596{
1597 // Less useful to VI users.
1598 static auto menu = std::shared_ptr{
1599 // i18n-hint: Scriptables are commands normally used from Python, Perl etc.
1600 Menu( wxT("Scriptables2"), XXO("Scripta&bles II") )
1601 };
1602 return menu;
1603}
wxT("CloseDown"))
XXO("&Cut/Copy/Paste Toolbar")
constexpr auto Menu
Items will appear in a main toolbar menu or in a sub-menu.
Definition: MenuRegistry.h:445

References MenuRegistry::Menu, wxT(), and XXO().

Here is the call graph for this function:

◆ ExtraScriptablesIMenu()

auto ExtraScriptablesIMenu ( )

Definition at line 1581 of file BatchProcessDialog.cpp.

1582{
1583 // These are the more useful to VI user Scriptables.
1584 static auto menu = std::shared_ptr{
1585 // i18n-hint: Scriptables are commands normally used from Python, Perl etc.
1586 Menu( wxT("Scriptables1"), XXO("Script&ables I") )
1587 };
1588 return menu;
1589}

References MenuRegistry::Menu, wxT(), and XXO().

Here is the call graph for this function:

◆ PluginMenuItems()

auto PluginMenuItems ( )

Definition at line 1531 of file BatchProcessDialog.cpp.

1532{
1533 static auto items = std::shared_ptr{
1534 Items( "Macros",
1535 Section( "RepeatLast",
1536 // Delayed evaluation:
1538 {
1539 const auto &lastTool = CommandManager::Get(project).mLastTool;
1540 TranslatableString buildMenuLabel;
1541 if (!lastTool.empty())
1542 buildMenuLabel = XO("Repeat %s")
1543 .Format( EffectManager::Get().GetCommandName(lastTool) );
1544 else
1545 buildMenuLabel = XO("Repeat Last Tool");
1546
1547 return Command( wxT("RepeatLastTool"), buildMenuLabel,
1551 Options{}.IsGlobal() );
1552 }
1553 ),
1554
1555 Command( wxT("ManageMacros"), XXO("&Macro Manager"),
1557
1558 Menu( wxT("Macros"), XXO("&Apply Macro"),
1559 // Palette has no access key to ensure first letter navigation of
1560 // sub menu
1561 Section( "",
1562 Command( wxT("ApplyMacrosPalette"), XXO("Palette..."),
1564 ),
1565
1566 Section( "",
1567 // Delayed evaluation:
1568 [](AudacityProject&) {
1569 auto result = Items("");
1571 return result;
1572 }
1573 )
1574 )
1575 ) };
1576 return items;
1577}
const ReservedCommandFlag & AudioIONotBusyFlag()
XO("Cut/Copy/Paste")
const auto project
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
PluginID mLastTool
static CommandManager & Get(AudacityProject &project)
static EffectManager & Get()
Holds a msgid for the translation catalog; may also bind format arguments.
constexpr auto Section
Definition: MenuRegistry.h:436
constexpr auto Items
Definition: MenuRegistry.h:427
constexpr auto Command
Definition: MenuRegistry.h:456
void OnRepeatLastTool(const CommandContext &context)
void OnApplyMacrosPalette(const CommandContext &context)
void OnManageMacros(const CommandContext &context)
void PopulateMacrosMenu(MenuRegistry::MenuItems &items, CommandFlag flags)
Options && IsGlobal() &&
Definition: MenuRegistry.h:56

References AudioIONotBusyFlag(), MenuRegistry::Command, EffectManager::Get(), CommandManager::Get(), anonymous_namespace{BatchProcessDialog.cpp}::HasLastToolFlag(), MenuRegistry::Options::IsGlobal(), MenuRegistry::Items, MenuRegistry::Menu, CommandManager::mLastTool, anonymous_namespace{BatchProcessDialog.cpp}::OnApplyMacrosPalette(), anonymous_namespace{BatchProcessDialog.cpp}::OnManageMacros(), anonymous_namespace{BatchProcessDialog.cpp}::OnRepeatLastTool(), anonymous_namespace{BatchProcessDialog.cpp}::PopulateMacrosMenu(), project, MenuRegistry::Section, wxT(), XO(), and XXO().

Here is the call graph for this function:

Variable Documentation

◆ sAttachment1

AttachedItem sAttachment1 { Indirect(PluginMenuItems()), wxT("Tools/Manage") }

Definition at line 1579 of file BatchProcessDialog.cpp.

◆ sAttachment2

AttachedItem sAttachment2
Initial value:
wxT("Optional/Extra/Part2")
}
auto ExtraScriptablesIMenu()
std::unique_ptr< detail::IndirectItem< Item > > Indirect(const std::shared_ptr< Item > &ptr)
A convenience function.
Definition: Registry.h:175

Definition at line 1591 of file BatchProcessDialog.cpp.

◆ sAttachment3

AttachedItem sAttachment3
Initial value:
wxT("Optional/Extra/Part2")
}
auto ExtraScriptablesIIMenu()

Definition at line 1605 of file BatchProcessDialog.cpp.