Audacity
3.2.0
src
commands
CommandDispatch.cpp
Go to the documentation of this file.
1
/**********************************************************************
2
3
Audacity: A Digital Audio Editor
4
5
@file CommandDispatch.cpp
6
@brief implements function HandleTextualCommand
7
8
Paul Licameli split from BatchCommands.cpp
9
10
**********************************************************************/
11
12
#include "
CommandDispatch.h
"
13
14
#include "
CommandManager.h
"
15
#include "
PluginManager.h
"
16
#include "../effects/EffectManager.h"
17
#include "../effects/EffectUI.h"
18
19
bool
HandleTextualCommand
(
CommandManager
&commandManager,
20
const
CommandID
& Str,
21
const
CommandContext
& context,
CommandFlag
flags,
bool
alwaysEnabled)
22
{
23
switch
( commandManager.
HandleTextualCommand
(
24
Str, context, flags, alwaysEnabled) ) {
25
case
CommandManager::CommandSuccess
:
26
return
true
;
27
case
CommandManager::CommandFailure
:
28
return
false
;
29
case
CommandManager::CommandNotFound
:
30
default
:
31
break
;
32
}
33
34
// Not one of the singleton commands.
35
// We could/should try all the list-style commands.
36
// instead we only try the effects.
37
EffectManager
& em =
EffectManager::Get
();
38
for
(
auto
&plug :
PluginManager::Get
().PluginsOfType(
PluginTypeEffect
))
39
if
(em.
GetCommandIdentifier
(plug.GetID()) == Str)
40
return
EffectUI::DoEffect
(
41
plug.GetID(), context,
42
EffectManager::kConfigured
);
43
44
return
false
;
45
}
HandleTextualCommand
bool HandleTextualCommand(CommandManager &commandManager, const CommandID &Str, const CommandContext &context, CommandFlag flags, bool alwaysEnabled)
Definition:
CommandDispatch.cpp:19
CommandDispatch.h
CommandFlag
std::bitset< NCommandFlags > CommandFlag
Definition:
CommandFlag.h:31
CommandManager.h
PluginTypeEffect
@ PluginTypeEffect
Definition:
PluginDescriptor.h:29
PluginManager.h
CommandContext
CommandContext provides additional information to an 'Apply()' command. It provides the project,...
Definition:
CommandContext.h:34
CommandManager
CommandManager implements a system for organizing all user-callable commands.
Definition:
CommandManager.h:61
CommandManager::CommandNotFound
@ CommandNotFound
Definition:
CommandManager.h:225
CommandManager::CommandFailure
@ CommandFailure
Definition:
CommandManager.h:223
CommandManager::CommandSuccess
@ CommandSuccess
Definition:
CommandManager.h:224
CommandManager::HandleTextualCommand
TextualCommandResult HandleTextualCommand(const CommandID &Str, const CommandContext &context, CommandFlag flags, bool alwaysEnabled)
Definition:
CommandManager.cpp:1328
EffectManager
EffectManager is the class that handles effects and effect categories.
Definition:
EffectManager.h:48
EffectManager::GetCommandIdentifier
CommandID GetCommandIdentifier(const PluginID &ID)
Definition:
EffectManager.cpp:130
EffectManager::Get
static EffectManager & Get()
Definition:
EffectManager.cpp:43
EffectManager::kConfigured
@ kConfigured
Definition:
EffectManager.h:55
PluginManager::Get
static PluginManager & Get()
Definition:
PluginManager.cpp:377
TaggedIdentifier< CommandIdTag, false >
EffectUI::DoEffect
AUDACITY_DLL_API bool DoEffect(const PluginID &ID, const CommandContext &context, unsigned flags)
'Repeat Last Effect'.
Definition:
EffectUI.cpp:1329
Generated by
1.9.3