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/EffectManager.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 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 79 of file BatchProcessDialog.cpp.

◆ ApplyToProjectID

#define ApplyToProjectID   7003

Definition at line 78 of file BatchProcessDialog.cpp.

◆ CommandsListID

#define CommandsListID   7002

Definition at line 77 of file BatchProcessDialog.cpp.

◆ ExpandID

#define ExpandID   7005

Definition at line 80 of file BatchProcessDialog.cpp.

◆ MacrosListID

#define MacrosListID   7001

Definition at line 76 of file BatchProcessDialog.cpp.

◆ MacrosPaletteTitle

#define MacrosPaletteTitle   XO("Macros Palette")

Definition at line 70 of file BatchProcessDialog.cpp.

◆ ManageMacrosTitle

#define ManageMacrosTitle   XO("Manage Macros")

Definition at line 71 of file BatchProcessDialog.cpp.

◆ ShrinkID

#define ShrinkID   7006

Definition at line 81 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 503 of file BatchProcessDialog.cpp.

503 {
504 AddButtonID = 10000,
511
513
519
520// MacrosListID 7005
521// CommandsListID, 7002
522// Re-Use IDs from ApplyMacroDialog.
525};
#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 558 of file BatchProcessDialog.cpp.

558 {
562};
@ ActionColumn
@ ParamsColumn
@ ItemNumberColumn

Function Documentation

◆ ExtraScriptablesIIMenu()

auto ExtraScriptablesIIMenu ( )

Definition at line 1607 of file BatchProcessDialog.cpp.

1608{
1609 // Less useful to VI users.
1610 static auto menu = std::shared_ptr{
1611 // i18n-hint: Scriptables are commands normally used from Python, Perl etc.
1612 Menu( wxT("Scriptables2"), XXO("Scripta&bles II") )
1613 };
1614 return menu;
1615}
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 1593 of file BatchProcessDialog.cpp.

1594{
1595 // These are the more useful to VI user Scriptables.
1596 static auto menu = std::shared_ptr{
1597 // i18n-hint: Scriptables are commands normally used from Python, Perl etc.
1598 Menu( wxT("Scriptables1"), XXO("Script&ables I") )
1599 };
1600 return menu;
1601}

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

Here is the call graph for this function:

◆ PluginMenuItems()

auto PluginMenuItems ( )

Definition at line 1543 of file BatchProcessDialog.cpp.

1544{
1545 static auto items = std::shared_ptr{
1546 Items( "Macros",
1547 Section( "RepeatLast",
1548 // Delayed evaluation:
1550 {
1551 const auto &lastTool = CommandManager::Get(project).mLastTool;
1552 TranslatableString buildMenuLabel;
1553 if (!lastTool.empty())
1554 buildMenuLabel = XO("Repeat %s")
1555 .Format( EffectManager::Get().GetCommandName(lastTool) );
1556 else
1557 buildMenuLabel = XO("Repeat Last Tool");
1558
1559 return Command( wxT("RepeatLastTool"), buildMenuLabel,
1563 Options{}.IsGlobal() );
1564 }
1565 ),
1566
1567 Command( wxT("ManageMacros"), XXO("&Macro Manager"),
1569
1570 Menu( wxT("Macros"), XXO("&Apply Macro"),
1571 // Palette has no access key to ensure first letter navigation of
1572 // sub menu
1573 Section( "",
1574 Command( wxT("ApplyMacrosPalette"), XXO("Palette..."),
1576 ),
1577
1578 Section( "",
1579 // Delayed evaluation:
1580 [](AudacityProject&) {
1581 auto result = Items("");
1583 return result;
1584 }
1585 )
1586 )
1587 ) };
1588 return items;
1589}
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 1591 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 1603 of file BatchProcessDialog.cpp.

◆ sAttachment3

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

Definition at line 1617 of file BatchProcessDialog.cpp.