Audacity 3.2.0
Invert.cpp
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 Invert.cpp
6
7 Mark Phillips
8
9
10*******************************************************************//*******************************************************************/
16
17
18#include "Invert.h"
19
20#include "LoadEffects.h"
21
23{ XO("Invert") };
24
26
28{
29}
30
32{
33}
34
35// ComponentInterface implementation
36
38{
39 return Symbol;
40}
41
43{
44 return XO("Flips the audio samples upside-down, reversing their polarity");
45}
46
47// EffectDefinitionInterface implementation
48
50{
51 return EffectTypeProcess;
52}
53
55{
56 return false;
57}
58
60{
61 return 1;
62}
63
65{
66 return 1;
67}
68
70 const float *const *inBlock, float *const *outBlock, size_t blockLen)
71{
72 const float *ibuf = inBlock[0];
73 float *obuf = outBlock[0];
74
75 for (decltype(blockLen) i = 0; i < blockLen; i++)
76 {
77 obuf[i] = -ibuf[i];
78 }
79
80 return blockLen;
81}
82
84{
85 return false;
86}
EffectType
@ EffectTypeProcess
XO("Cut/Copy/Paste")
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
unsigned GetAudioInCount() const override
How many input buffers to allocate at once.
Definition: Invert.cpp:59
ComponentInterfaceSymbol GetSymbol() const override
Definition: Invert.cpp:37
static const ComponentInterfaceSymbol Symbol
Definition: Invert.h:21
EffectInvert()
Definition: Invert.cpp:27
EffectType GetType() const override
Type determines how it behaves.
Definition: Invert.cpp:49
unsigned GetAudioOutCount() const override
How many output buffers to allocate at once.
Definition: Invert.cpp:64
bool NeedsDither() const override
Definition: Invert.cpp:83
TranslatableString GetDescription() const override
Definition: Invert.cpp:42
size_t ProcessBlock(EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override
Called for destructive effect computation.
Definition: Invert.cpp:69
bool IsInteractive() const override
Whether the effect needs a dialog for entry of settings.
Definition: Invert.cpp:54
virtual ~EffectInvert()
Definition: Invert.cpp:31
Holds a msgid for the translation catalog; may also bind format arguments.
BuiltinEffectsModule::Registration< EffectInvert > reg
Definition: Invert.cpp:25
Externalized state of a plug-in.