Audacity 3.2.0
Compressor.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 Compressor.h
7
8 Matthieu Hodgkinson
9
10**********************************************************************/
11#pragma once
12
13#include "CompressorProcessor.h"
15
16class ShuttleGui;
17
18class EffectCompressor final :
19 public EffectWithSettings<CompressorSettings, StatelessPerTrackEffect>
20{
21public:
23
25
26 // ComponentInterface implementation
27
28 ComponentInterfaceSymbol GetSymbol() const override;
29 TranslatableString GetDescription() const override;
30 ManualPageID ManualPage() const override;
31
32 // EffectDefinitionInterface implementation
33
34 EffectType GetType() const override;
35 RealtimeSince RealtimeSupport() const override;
36 RegistryPaths GetFactoryPresets() const override;
38 LoadFactoryPreset(int id, EffectSettings& settings) const override;
39
40 // Effect implementation
41
42 std::unique_ptr<EffectEditor> MakeEditor(
44 const EffectOutputs* pOutputs) const override;
45
46 std::shared_ptr<EffectInstance> MakeInstance() const override;
47
48 std::unique_ptr<EffectOutputs> MakeOutputs() const override;
49
50 bool CheckWhetherSkipEffect(const EffectSettings& settings) const override;
51
52 const EffectParameterMethods& Parameters() const override;
53};
EffectType
std::optional< std::unique_ptr< EffectSettingsAccess::Message > > OptionalMessage
std::vector< RegistryPath > RegistryPaths
Definition: Identifier.h:219
#define S(N)
Definition: ToChars.cpp:64
static Settings & settings()
Definition: TrackInfo.cpp:51
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
const EffectParameterMethods & Parameters() const override
Definition: Compressor.cpp:28
std::unique_ptr< EffectEditor > MakeEditor(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override
Called only from PopulateUI, to add controls to effect panel.
Definition: Compressor.cpp:115
std::unique_ptr< EffectOutputs > MakeOutputs() const override
Produce an object to hold values to send to effect output meters.
Definition: Compressor.cpp:46
EffectType GetType() const override
Type determines how it behaves.
Definition: Compressor.cpp:84
OptionalMessage LoadFactoryPreset(int id, EffectSettings &settings) const override
Definition: Compressor.cpp:106
static const ComponentInterfaceSymbol Symbol
Definition: Compressor.h:22
RealtimeSince RealtimeSupport() const override
Since which version of Audacity has the effect supported realtime?
Definition: Compressor.cpp:89
RegistryPaths GetFactoryPresets() const override
Report names of factory presets.
Definition: Compressor.cpp:94
ComponentInterfaceSymbol GetSymbol() const override
Definition: Compressor.cpp:67
TranslatableString GetDescription() const override
Definition: Compressor.cpp:72
ManualPageID ManualPage() const override
Name of a page in the Audacity alpha manual, default is empty.
Definition: Compressor.cpp:78
bool CheckWhetherSkipEffect(const EffectSettings &settings) const override
After Init(), tell whether Process() should be skipped.
Definition: Compressor.cpp:51
std::shared_ptr< EffectInstance > MakeInstance() const override
Make an object maintaining short-term state of an Effect.
Definition: Compressor.cpp:41
RealtimeSince
In which versions of Audacity was an effect realtime capable?
Performs effect computation.
Hold values to send to effect output meters.
Interface for manipulations of an Effect's settings.
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.
Externalized state of a plug-in.