Audacity 3.2.0
LimiterEditor.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 LimiterEditor.h
7
8 Matthieu Hodgkinson
9
10**********************************************************************/
11#pragma once
12
14#include "SettingsVisitor.h"
15
17class ShuttleGui;
18
20
22{
23public:
25 wxWindow* parent, CompressorInstance& instance, bool isRealtime,
26 const EffectUIServices& services, EffectSettingsAccess& access,
28
29private:
30 const LimiterSettings* GetLimiterSettings() const override
31 {
32 return &mSettings;
33 }
34
36
37public:
38 // List of parameters, namely those of a compressor, less attack time
39 // (hard-coded to 0) and ratio (hard-coded to infinity), and with different
40 // default values.
41 static constexpr LimiterParameter thresholdDb {
43 L"thresholdDb",
45 -30 / dbStep,
46 0,
47 1 / dbStep
48 };
49
52 L"makeupTargetDb",
54 -30 / dbStep,
55 0,
56 1 / dbStep
57 };
58
59 static constexpr LimiterParameter kneeWidthDb {
61 L"kneeWidthDb",
63 0,
64 10 / dbStep,
65 1 / dbStep
66 };
67
68 static constexpr LimiterParameter lookaheadMs {
69 &LimiterSettings::lookaheadMs, L"lookaheadMs",
72 };
73
75 L"releaseMs",
77 0,
78 1000,
79 1 };
80
81 static constexpr LimiterParameter showInput {
82 &LimiterSettings::showInput, L"showInput", showInputDefault, 0, 1, 1
83 };
84 static constexpr LimiterParameter showOutput {
85 &LimiterSettings::showOutput, L"showOutput", showOutputDefault, 0, 1, 1
86 };
87 static constexpr LimiterParameter showActual {
88 &LimiterSettings::showActual, L"showActual", showActualDefault, 0, 1, 1
89 };
90 static constexpr LimiterParameter showTarget {
91 &LimiterSettings::showTarget, L"showTarget", showTargetDefault, 0, 1, 1
92 };
93};
constexpr double showOutputDefault
constexpr double limiterReleaseMsDefault
constexpr double showInputDefault
constexpr double showActualDefault
constexpr double limiterThresholdDbDefault
constexpr double limiterKneeWidthDbDefault
constexpr double showTargetDefault
constexpr double limiterMaxLookaheadMs
constexpr double limiterMakeupTargetDbDefault
constexpr double limiterLookaheadMsDefault
static Settings & settings()
Definition: TrackInfo.cpp:51
static constexpr LimiterParameter showTarget
Definition: LimiterEditor.h:90
static constexpr LimiterParameter releaseMs
Definition: LimiterEditor.h:74
LimiterEditor(wxWindow *parent, CompressorInstance &instance, bool isRealtime, const EffectUIServices &services, EffectSettingsAccess &access, LimiterSettings settings)
LimiterSettings mSettings
Definition: LimiterEditor.h:35
static constexpr LimiterParameter makeupTargetDb
Definition: LimiterEditor.h:50
static constexpr LimiterParameter lookaheadMs
Definition: LimiterEditor.h:68
static constexpr LimiterParameter thresholdDb
Definition: LimiterEditor.h:41
static constexpr LimiterParameter showOutput
Definition: LimiterEditor.h:84
static constexpr LimiterParameter showActual
Definition: LimiterEditor.h:87
const LimiterSettings * GetLimiterSettings() const override
Definition: LimiterEditor.h:30
static constexpr LimiterParameter showInput
Definition: LimiterEditor.h:81
static constexpr LimiterParameter kneeWidthDb
Definition: LimiterEditor.h:59
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:640