Audacity 3.2.0
FindClipping.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 FindClipping.h
6
7 Dominic Mazzoni
8 Vaughan Johnson (dialog)
9
10**********************************************************************/
11
12#ifndef __AUDACITY_EFFECT_FINDCLIPPING__
13#define __AUDACITY_EFFECT_FINDCLIPPING__
14
15class wxString;
16
17class LabelTrack;
18class WaveChannel;
19
20#include "StatefulEffect.h"
21#include "ShuttleAutomation.h"
22#include <wx/weakref.h>
23
25{
26public:
27 static inline EffectFindClipping *
30
32 virtual ~EffectFindClipping();
33
34 // ComponentInterface implementation
35
36 ComponentInterfaceSymbol GetSymbol() const override;
37 TranslatableString GetDescription() const override;
38 ManualPageID ManualPage() const override;
39
40 // EffectDefinitionInterface implementation
41
42 EffectType GetType() const override;
43
44 // Effect implementation
45
46 bool Process(EffectInstance &instance, EffectSettings &settings) override;
47 std::unique_ptr<EffectEditor> PopulateOrExchange(
48 ShuttleGui & S, EffectInstance &instance,
49 EffectSettingsAccess &access, const EffectOutputs *pOutputs) override;
52 bool TransferDataToWindow(const EffectSettings &settings) override;
54
55private:
56 // EffectFindCliping implementation
57
58 bool ProcessOne(LabelTrack &lt, int count, const WaveChannel &wt,
59 sampleCount start, sampleCount len);
60
61 wxWeakRef<wxWindow> mUIParent{};
62
63 int mStart;
64 int mStop;
65 // To do: eliminate this
67
68 const EffectParameterMethods& Parameters() const override;
69
71 L"Duty Cycle Start", 3, 1, INT_MAX, 1 };
73 L"Duty Cycle End", 3, 1, INT_MAX, 1 };
74};
75
76#endif // __AUDACITY_EFFECT_FINDCLIPPING__
EffectType
#define S(N)
Definition: ToChars.cpp:64
static Settings & settings()
Definition: TrackInfo.cpp:69
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Locates clipping and inserts labels when found.
Definition: FindClipping.h:25
static constexpr EffectParameter Start
Definition: FindClipping.h:70
static const ComponentInterfaceSymbol Symbol
Definition: FindClipping.h:29
int mStop
Using int rather than sampleCount because values are only ever small numbers.
Definition: FindClipping.h:64
bool TransferDataToWindow(const EffectSettings &settings) override
void DoPopulateOrExchange(ShuttleGui &S, EffectSettingsAccess &access)
EffectSettingsAccessPtr mpAccess
Definition: FindClipping.h:66
ManualPageID ManualPage() const override
Name of a page in the Audacity alpha manual, default is empty.
wxWeakRef< wxWindow > mUIParent
Definition: FindClipping.h:61
bool Process(EffectInstance &instance, EffectSettings &settings) override
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
static constexpr EffectParameter Stop
Definition: FindClipping.h:72
bool TransferDataFromWindow(EffectSettings &settings) override
const EffectParameterMethods & Parameters() const override
EffectType GetType() const override
Type determines how it behaves.
int mStart
Using int rather than sampleCount because values are only ever small numbers.
Definition: FindClipping.h:63
TranslatableString GetDescription() const override
bool ProcessOne(LabelTrack &lt, int count, const WaveChannel &wt, sampleCount start, sampleCount len)
virtual ~EffectFindClipping()
ComponentInterfaceSymbol GetSymbol() const override
static EffectFindClipping * FetchParameters(EffectFindClipping &e, EffectSettings &)
Definition: FindClipping.h:28
Performs effect computation.
Hold values to send to effect output meters.
Interface for manipulations of an Effect's settings.
std::shared_ptr< EffectSettingsAccess > EffectSettingsAccessPtr
Definition: EffectPlugin.h:38
A LabelTrack is a Track that holds labels (LabelStruct).
Definition: LabelTrack.h:87
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:640
Holds a msgid for the translation catalog; may also bind format arguments.
Positions or offsets within audio files need a wide type.
Definition: SampleCount.h:19
Externalized state of a plug-in.