mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-02 17:09:26 +02:00
Effects are registered, not exhaustively listed
This commit is contained in:
commit
8832621b0a
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Amplify.h"
|
#include "Amplify.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
@ -58,6 +59,11 @@ Param( Clipping, bool, wxT("AllowClipping"), false, false, true, 1
|
|||||||
// EffectAmplify
|
// EffectAmplify
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectAmplify::Symbol
|
||||||
|
{ XO("Amplify") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectAmplify > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectAmplify, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectAmplify, wxEvtHandler)
|
||||||
EVT_SLIDER(ID_Amp, EffectAmplify::OnAmpSlider)
|
EVT_SLIDER(ID_Amp, EffectAmplify::OnAmpSlider)
|
||||||
EVT_TEXT(ID_Amp, EffectAmplify::OnAmpText)
|
EVT_TEXT(ID_Amp, EffectAmplify::OnAmpText)
|
||||||
@ -84,7 +90,7 @@ EffectAmplify::~EffectAmplify()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectAmplify::GetSymbol()
|
ComponentInterfaceSymbol EffectAmplify::GetSymbol()
|
||||||
{
|
{
|
||||||
return AMPLIFY_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectAmplify::GetDescription()
|
TranslatableString EffectAmplify::GetDescription()
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define AMPLIFY_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Amplify") }
|
|
||||||
|
|
||||||
class wxSlider;
|
class wxSlider;
|
||||||
class wxCheckBox;
|
class wxCheckBox;
|
||||||
@ -27,6 +26,8 @@ class ShuttleGui;
|
|||||||
class EffectAmplify final : public Effect
|
class EffectAmplify final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectAmplify();
|
EffectAmplify();
|
||||||
virtual ~EffectAmplify();
|
virtual ~EffectAmplify();
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "AutoDuck.h"
|
#include "AutoDuck.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
@ -74,6 +75,11 @@ struct AutoDuckRegion
|
|||||||
* Effect implementation
|
* Effect implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectAutoDuck::Symbol
|
||||||
|
{ XO("Auto Duck") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectAutoDuck > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectAutoDuck, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectAutoDuck, wxEvtHandler)
|
||||||
EVT_TEXT(wxID_ANY, EffectAutoDuck::OnValueChanged)
|
EVT_TEXT(wxID_ANY, EffectAutoDuck::OnValueChanged)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
@ -103,7 +109,7 @@ EffectAutoDuck::~EffectAutoDuck()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectAutoDuck::GetSymbol()
|
ComponentInterfaceSymbol EffectAutoDuck::GetSymbol()
|
||||||
{
|
{
|
||||||
return AUTODUCK_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectAutoDuck::GetDescription()
|
TranslatableString EffectAutoDuck::GetDescription()
|
||||||
|
@ -20,11 +20,11 @@ class ShuttleGui;
|
|||||||
|
|
||||||
#define AUTO_DUCK_PANEL_NUM_CONTROL_POINTS 5
|
#define AUTO_DUCK_PANEL_NUM_CONTROL_POINTS 5
|
||||||
|
|
||||||
#define AUTODUCK_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Auto Duck") }
|
|
||||||
|
|
||||||
class EffectAutoDuck final : public Effect
|
class EffectAutoDuck final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectAutoDuck();
|
EffectAutoDuck();
|
||||||
virtual ~EffectAutoDuck();
|
virtual ~EffectAutoDuck();
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "BassTreble.h"
|
#include "BassTreble.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -58,6 +59,11 @@ enum kShelfType
|
|||||||
kTreble
|
kTreble
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectBassTreble::Symbol
|
||||||
|
{ XO("Bass and Treble") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectBassTreble > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectBassTreble, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectBassTreble, wxEvtHandler)
|
||||||
EVT_SLIDER(ID_Bass, EffectBassTreble::OnBassSlider)
|
EVT_SLIDER(ID_Bass, EffectBassTreble::OnBassSlider)
|
||||||
EVT_SLIDER(ID_Treble, EffectBassTreble::OnTrebleSlider)
|
EVT_SLIDER(ID_Treble, EffectBassTreble::OnTrebleSlider)
|
||||||
@ -86,7 +92,7 @@ EffectBassTreble::~EffectBassTreble()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectBassTreble::GetSymbol()
|
ComponentInterfaceSymbol EffectBassTreble::GetSymbol()
|
||||||
{
|
{
|
||||||
return BASSTREBLE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectBassTreble::GetDescription()
|
TranslatableString EffectBassTreble::GetDescription()
|
||||||
|
@ -19,8 +19,6 @@ class wxCheckBox;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define BASSTREBLE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Bass and Treble") }
|
|
||||||
|
|
||||||
class EffectBassTrebleState
|
class EffectBassTrebleState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -38,6 +36,8 @@ public:
|
|||||||
class EffectBassTreble final : public Effect
|
class EffectBassTreble final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectBassTreble();
|
EffectBassTreble();
|
||||||
virtual ~EffectBassTreble();
|
virtual ~EffectBassTreble();
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ the pitch without changing the tempo.
|
|||||||
|
|
||||||
#if USE_SOUNDTOUCH
|
#if USE_SOUNDTOUCH
|
||||||
#include "ChangePitch.h"
|
#include "ChangePitch.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#if USE_SBSMS
|
#if USE_SBSMS
|
||||||
#include <wx/valgen.h>
|
#include <wx/valgen.h>
|
||||||
@ -81,6 +82,11 @@ static const double kSliderWarp = 1.30105; // warp power takes max from 10
|
|||||||
|
|
||||||
// EffectChangePitch
|
// EffectChangePitch
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectChangePitch::Symbol
|
||||||
|
{ XO("Change Pitch") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectChangePitch > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectChangePitch, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectChangePitch, wxEvtHandler)
|
||||||
EVT_CHOICE(ID_FromPitch, EffectChangePitch::OnChoice_FromPitch)
|
EVT_CHOICE(ID_FromPitch, EffectChangePitch::OnChoice_FromPitch)
|
||||||
EVT_TEXT(ID_FromOctave, EffectChangePitch::OnSpin_FromOctave)
|
EVT_TEXT(ID_FromOctave, EffectChangePitch::OnSpin_FromOctave)
|
||||||
@ -136,7 +142,7 @@ EffectChangePitch::~EffectChangePitch()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectChangePitch::GetSymbol()
|
ComponentInterfaceSymbol EffectChangePitch::GetSymbol()
|
||||||
{
|
{
|
||||||
return CHANGEPITCH_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectChangePitch::GetDescription()
|
TranslatableString EffectChangePitch::GetDescription()
|
||||||
|
@ -34,11 +34,11 @@ class wxTextCtrl;
|
|||||||
class wxSpinCtrl;
|
class wxSpinCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define CHANGEPITCH_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Change Pitch") }
|
|
||||||
|
|
||||||
class EffectChangePitch final : public EffectSoundTouch
|
class EffectChangePitch final : public EffectSoundTouch
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectChangePitch();
|
EffectChangePitch();
|
||||||
virtual ~EffectChangePitch();
|
virtual ~EffectChangePitch();
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "ChangeSpeed.h"
|
#include "ChangeSpeed.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -75,6 +76,11 @@ static const double kSliderWarp = 1.30105; // warp power takes max from 100
|
|||||||
// EffectChangeSpeed
|
// EffectChangeSpeed
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectChangeSpeed::Symbol
|
||||||
|
{ XO("Change Speed") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectChangeSpeed > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectChangeSpeed, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectChangeSpeed, wxEvtHandler)
|
||||||
EVT_TEXT(ID_PercentChange, EffectChangeSpeed::OnText_PercentChange)
|
EVT_TEXT(ID_PercentChange, EffectChangeSpeed::OnText_PercentChange)
|
||||||
EVT_TEXT(ID_Multiplier, EffectChangeSpeed::OnText_Multiplier)
|
EVT_TEXT(ID_Multiplier, EffectChangeSpeed::OnText_Multiplier)
|
||||||
@ -108,7 +114,7 @@ EffectChangeSpeed::~EffectChangeSpeed()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectChangeSpeed::GetSymbol()
|
ComponentInterfaceSymbol EffectChangeSpeed::GetSymbol()
|
||||||
{
|
{
|
||||||
return CHANGESPEED_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectChangeSpeed::GetDescription()
|
TranslatableString EffectChangeSpeed::GetDescription()
|
||||||
|
@ -21,11 +21,11 @@ class wxTextCtrl;
|
|||||||
class NumericTextCtrl;
|
class NumericTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define CHANGESPEED_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Change Speed") }
|
|
||||||
|
|
||||||
class EffectChangeSpeed final : public Effect
|
class EffectChangeSpeed final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectChangeSpeed();
|
EffectChangeSpeed();
|
||||||
virtual ~EffectChangeSpeed();
|
virtual ~EffectChangeSpeed();
|
||||||
|
|
||||||
|
@ -36,6 +36,8 @@
|
|||||||
#include "../widgets/valnum.h"
|
#include "../widgets/valnum.h"
|
||||||
#include "TimeWarper.h"
|
#include "TimeWarper.h"
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
// Soundtouch defines these as well, which are also in generated configmac.h
|
// Soundtouch defines these as well, which are also in generated configmac.h
|
||||||
// and configunix.h, so get rid of them before including,
|
// and configunix.h, so get rid of them before including,
|
||||||
// to avoid compiler warnings, and be sure to do this
|
// to avoid compiler warnings, and be sure to do this
|
||||||
@ -75,6 +77,11 @@ static const double kSliderWarp = 1.30105; // warp power takes max from 100
|
|||||||
// EffectChangeTempo
|
// EffectChangeTempo
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectChangeTempo::Symbol
|
||||||
|
{ XO("Change Tempo") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectChangeTempo > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectChangeTempo, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectChangeTempo, wxEvtHandler)
|
||||||
EVT_TEXT(ID_PercentChange, EffectChangeTempo::OnText_PercentChange)
|
EVT_TEXT(ID_PercentChange, EffectChangeTempo::OnText_PercentChange)
|
||||||
EVT_SLIDER(ID_PercentChange, EffectChangeTempo::OnSlider_PercentChange)
|
EVT_SLIDER(ID_PercentChange, EffectChangeTempo::OnSlider_PercentChange)
|
||||||
@ -110,7 +117,7 @@ EffectChangeTempo::~EffectChangeTempo()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectChangeTempo::GetSymbol()
|
ComponentInterfaceSymbol EffectChangeTempo::GetSymbol()
|
||||||
{
|
{
|
||||||
return CHANGETEMPO_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectChangeTempo::GetDescription()
|
TranslatableString EffectChangeTempo::GetDescription()
|
||||||
|
@ -28,11 +28,11 @@ class wxCheckBox;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define CHANGETEMPO_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Change Tempo") }
|
|
||||||
|
|
||||||
class EffectChangeTempo final : public EffectSoundTouch
|
class EffectChangeTempo final : public EffectSoundTouch
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectChangeTempo();
|
EffectChangeTempo();
|
||||||
virtual ~EffectChangeTempo();
|
virtual ~EffectChangeTempo();
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "ClickRemoval.h"
|
#include "ClickRemoval.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -53,6 +54,11 @@ enum
|
|||||||
Param( Threshold, int, wxT("Threshold"), 200, 0, 900, 1 );
|
Param( Threshold, int, wxT("Threshold"), 200, 0, 900, 1 );
|
||||||
Param( Width, int, wxT("Width"), 20, 0, 40, 1 );
|
Param( Width, int, wxT("Width"), 20, 0, 40, 1 );
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectClickRemoval::Symbol
|
||||||
|
{ XO("Click Removal") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectClickRemoval > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectClickRemoval, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectClickRemoval, wxEvtHandler)
|
||||||
EVT_SLIDER(ID_Thresh, EffectClickRemoval::OnThreshSlider)
|
EVT_SLIDER(ID_Thresh, EffectClickRemoval::OnThreshSlider)
|
||||||
EVT_SLIDER(ID_Width, EffectClickRemoval::OnWidthSlider)
|
EVT_SLIDER(ID_Width, EffectClickRemoval::OnWidthSlider)
|
||||||
@ -79,7 +85,7 @@ EffectClickRemoval::~EffectClickRemoval()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectClickRemoval::GetSymbol()
|
ComponentInterfaceSymbol EffectClickRemoval::GetSymbol()
|
||||||
{
|
{
|
||||||
return CLICKREMOVAL_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectClickRemoval::GetDescription()
|
TranslatableString EffectClickRemoval::GetDescription()
|
||||||
|
@ -23,11 +23,11 @@ class wxTextCtrl;
|
|||||||
class Envelope;
|
class Envelope;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define CLICKREMOVAL_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Click Removal") }
|
|
||||||
|
|
||||||
class EffectClickRemoval final : public Effect
|
class EffectClickRemoval final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectClickRemoval();
|
EffectClickRemoval();
|
||||||
virtual ~EffectClickRemoval();
|
virtual ~EffectClickRemoval();
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Compressor.h"
|
#include "Compressor.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -71,6 +72,11 @@ Param( UsePeak, bool, wxT("UsePeak"), false, false, true, 1
|
|||||||
// EffectCompressor
|
// EffectCompressor
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectCompressor::Symbol
|
||||||
|
{ XO("Compressor") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectCompressor > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectCompressor, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectCompressor, wxEvtHandler)
|
||||||
EVT_SLIDER(wxID_ANY, EffectCompressor::OnSlider)
|
EVT_SLIDER(wxID_ANY, EffectCompressor::OnSlider)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
@ -101,7 +107,7 @@ EffectCompressor::~EffectCompressor()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectCompressor::GetSymbol()
|
ComponentInterfaceSymbol EffectCompressor::GetSymbol()
|
||||||
{
|
{
|
||||||
return COMPRESSOR_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectCompressor::GetDescription()
|
TranslatableString EffectCompressor::GetDescription()
|
||||||
|
@ -19,11 +19,10 @@ class wxStaticText;
|
|||||||
class EffectCompressorPanel;
|
class EffectCompressorPanel;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define COMPRESSOR_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Compressor") }
|
|
||||||
|
|
||||||
class EffectCompressor final : public EffectTwoPassSimpleMono
|
class EffectCompressor final : public EffectTwoPassSimpleMono
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectCompressor();
|
EffectCompressor();
|
||||||
virtual ~EffectCompressor();
|
virtual ~EffectCompressor();
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Distortion.h"
|
#include "Distortion.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -146,6 +147,11 @@ TranslatableString defaultLabel(int index)
|
|||||||
// EffectDistortion
|
// EffectDistortion
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectDistortion::Symbol
|
||||||
|
{ XO("Distortion") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectDistortion > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectDistortion, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectDistortion, wxEvtHandler)
|
||||||
EVT_CHOICE(ID_Type, EffectDistortion::OnTypeChoice)
|
EVT_CHOICE(ID_Type, EffectDistortion::OnTypeChoice)
|
||||||
EVT_CHECKBOX(ID_DCBlock, EffectDistortion::OnDCBlockCheckbox)
|
EVT_CHECKBOX(ID_DCBlock, EffectDistortion::OnDCBlockCheckbox)
|
||||||
@ -187,7 +193,7 @@ EffectDistortion::~EffectDistortion()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectDistortion::GetSymbol()
|
ComponentInterfaceSymbol EffectDistortion::GetSymbol()
|
||||||
{
|
{
|
||||||
return DISTORTION_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectDistortion::GetDescription()
|
TranslatableString EffectDistortion::GetDescription()
|
||||||
|
@ -21,7 +21,6 @@ class wxCheckBox;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define DISTORTION_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Distortion") }
|
|
||||||
#define STEPS 1024 // number of +ve or -ve steps in lookup tabe
|
#define STEPS 1024 // number of +ve or -ve steps in lookup tabe
|
||||||
#define TABLESIZE 2049 // size of lookup table (steps * 2 + 1)
|
#define TABLESIZE 2049 // size of lookup table (steps * 2 + 1)
|
||||||
|
|
||||||
@ -46,6 +45,8 @@ public:
|
|||||||
class EffectDistortion final : public Effect
|
class EffectDistortion final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectDistortion();
|
EffectDistortion();
|
||||||
virtual ~EffectDistortion();
|
virtual ~EffectDistortion();
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "DtmfGen.h"
|
#include "DtmfGen.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -74,6 +75,11 @@ const static wxChar *kSymbols[] =
|
|||||||
// EffectDtmf
|
// EffectDtmf
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectDtmf::Symbol
|
||||||
|
{ XO("DTMF Tones") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectDtmf > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectDtmf, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectDtmf, wxEvtHandler)
|
||||||
EVT_TEXT(ID_Sequence, EffectDtmf::OnSequence)
|
EVT_TEXT(ID_Sequence, EffectDtmf::OnSequence)
|
||||||
EVT_TEXT(ID_DutyCycle, EffectDtmf::OnAmplitude)
|
EVT_TEXT(ID_DutyCycle, EffectDtmf::OnAmplitude)
|
||||||
@ -98,7 +104,7 @@ EffectDtmf::~EffectDtmf()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectDtmf::GetSymbol()
|
ComponentInterfaceSymbol EffectDtmf::GetSymbol()
|
||||||
{
|
{
|
||||||
return DTMFTONES_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectDtmf::GetDescription()
|
TranslatableString EffectDtmf::GetDescription()
|
||||||
|
@ -22,11 +22,11 @@ class wxTextCtrl;
|
|||||||
class NumericTextCtrl;
|
class NumericTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define DTMFTONES_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("DTMF Tones") }
|
|
||||||
|
|
||||||
class EffectDtmf final : public Effect
|
class EffectDtmf final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectDtmf();
|
EffectDtmf();
|
||||||
virtual ~EffectDtmf();
|
virtual ~EffectDtmf();
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Echo.h"
|
#include "Echo.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
@ -37,6 +38,11 @@
|
|||||||
Param( Delay, float, wxT("Delay"), 1.0f, 0.001f, FLT_MAX, 1.0f );
|
Param( Delay, float, wxT("Delay"), 1.0f, 0.001f, FLT_MAX, 1.0f );
|
||||||
Param( Decay, float, wxT("Decay"), 0.5f, 0.0f, FLT_MAX, 1.0f );
|
Param( Decay, float, wxT("Decay"), 0.5f, 0.0f, FLT_MAX, 1.0f );
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectEcho::Symbol
|
||||||
|
{ XO("Echo") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectEcho > reg; }
|
||||||
|
|
||||||
EffectEcho::EffectEcho()
|
EffectEcho::EffectEcho()
|
||||||
{
|
{
|
||||||
delay = DEF_Delay;
|
delay = DEF_Delay;
|
||||||
@ -53,7 +59,7 @@ EffectEcho::~EffectEcho()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectEcho::GetSymbol()
|
ComponentInterfaceSymbol EffectEcho::GetSymbol()
|
||||||
{
|
{
|
||||||
return ECHO_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectEcho::GetDescription()
|
TranslatableString EffectEcho::GetDescription()
|
||||||
|
@ -16,11 +16,11 @@
|
|||||||
|
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define ECHO_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Echo") }
|
|
||||||
|
|
||||||
class EffectEcho final : public Effect
|
class EffectEcho final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectEcho();
|
EffectEcho();
|
||||||
virtual ~EffectEcho();
|
virtual ~EffectEcho();
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Equalization.h"
|
#include "Equalization.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -191,6 +192,23 @@ Param( dBMax, float, wxT(""), 30.0, 0.0, 60.0,
|
|||||||
// EffectEqualization
|
// EffectEqualization
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectEqualization::Symbol
|
||||||
|
{ XO("Equalization") };
|
||||||
|
|
||||||
|
// namespace{ BuiltinEffectsModule::Registration< EffectEqualization > reg; }
|
||||||
|
|
||||||
|
// "Filter Curve EQ" in the user-facing string, but preserve the old
|
||||||
|
// internal string
|
||||||
|
const ComponentInterfaceSymbol EffectEqualizationCurve::Symbol
|
||||||
|
{ wxT("Filter Curve"), XO("Filter Curve EQ") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectEqualizationCurve > reg2; }
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectEqualizationGraphic::Symbol
|
||||||
|
{ wxT("Graphic EQ"), XO("Graphic EQ") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectEqualizationGraphic > reg3; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectEqualization, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectEqualization, wxEvtHandler)
|
||||||
EVT_SIZE( EffectEqualization::OnSize )
|
EVT_SIZE( EffectEqualization::OnSize )
|
||||||
|
|
||||||
@ -303,10 +321,10 @@ EffectEqualization::~EffectEqualization()
|
|||||||
ComponentInterfaceSymbol EffectEqualization::GetSymbol()
|
ComponentInterfaceSymbol EffectEqualization::GetSymbol()
|
||||||
{
|
{
|
||||||
if( mOptions == kEqOptionGraphic )
|
if( mOptions == kEqOptionGraphic )
|
||||||
return GRAPHIC_EQ_PLUGIN_SYMBOL;
|
return EffectEqualizationGraphic::Symbol;
|
||||||
if( mOptions == kEqOptionCurve )
|
if( mOptions == kEqOptionCurve )
|
||||||
return FILTER_CURVE_PLUGIN_SYMBOL;
|
return EffectEqualizationCurve::Symbol;
|
||||||
return EQUALIZATION_PLUGIN_SYMBOL;
|
return EffectEqualization::Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectEqualization::GetDescription()
|
TranslatableString EffectEqualization::GetDescription()
|
||||||
|
@ -22,15 +22,6 @@
|
|||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
#include "../RealFFTf.h"
|
#include "../RealFFTf.h"
|
||||||
|
|
||||||
#define EQUALIZATION_PLUGIN_SYMBOL \
|
|
||||||
ComponentInterfaceSymbol{ XO("Equalization") }
|
|
||||||
#define GRAPHIC_EQ_PLUGIN_SYMBOL \
|
|
||||||
ComponentInterfaceSymbol{ wxT("Graphic EQ"), XO("Graphic EQ") }
|
|
||||||
// "Filter Curve EQ" in the user-facing string, but preserve the old
|
|
||||||
// internal string
|
|
||||||
#define FILTER_CURVE_PLUGIN_SYMBOL \
|
|
||||||
ComponentInterfaceSymbol{ wxT("Filter Curve"), XO("Filter Curve EQ") }
|
|
||||||
|
|
||||||
// Flags to specialise the UI
|
// Flags to specialise the UI
|
||||||
const int kEqOptionGraphic =1;
|
const int kEqOptionGraphic =1;
|
||||||
const int kEqOptionCurve =1<<1;
|
const int kEqOptionCurve =1<<1;
|
||||||
@ -100,11 +91,14 @@ using EQCurveArray = std::vector<EQCurve>;
|
|||||||
class EffectEqualization48x;
|
class EffectEqualization48x;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class EffectEqualization final : public Effect,
|
class EffectEqualization : public Effect,
|
||||||
public XMLTagHandler
|
public XMLTagHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EffectEqualization(int Options);
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectEqualization(int Options = kEqLegacy);
|
||||||
|
|
||||||
virtual ~EffectEqualization();
|
virtual ~EffectEqualization();
|
||||||
|
|
||||||
// ComponentInterface implementation
|
// ComponentInterface implementation
|
||||||
@ -290,6 +284,22 @@ private:
|
|||||||
friend class EditCurvesDialog;
|
friend class EditCurvesDialog;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class EffectEqualizationCurve final : public EffectEqualization
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectEqualizationCurve() : EffectEqualization( kEqOptionCurve ) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class EffectEqualizationGraphic final : public EffectEqualization
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectEqualizationGraphic() : EffectEqualization( kEqOptionGraphic ) {}
|
||||||
|
};
|
||||||
|
|
||||||
class EqualizationPanel final : public wxPanelWrapper
|
class EqualizationPanel final : public wxPanelWrapper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
|
|
||||||
#include <wx/intl.h>
|
#include <wx/intl.h>
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectFadeIn::Symbol
|
||||||
|
{ XO("Fade In") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectFadeIn > reg; }
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectFadeOut::Symbol
|
||||||
|
{ XO("Fade Out") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectFadeOut > reg2; }
|
||||||
|
|
||||||
EffectFade::EffectFade(bool fadeIn)
|
EffectFade::EffectFade(bool fadeIn)
|
||||||
{
|
{
|
||||||
mFadeIn = fadeIn;
|
mFadeIn = fadeIn;
|
||||||
@ -32,8 +44,8 @@ EffectFade::~EffectFade()
|
|||||||
ComponentInterfaceSymbol EffectFade::GetSymbol()
|
ComponentInterfaceSymbol EffectFade::GetSymbol()
|
||||||
{
|
{
|
||||||
return mFadeIn
|
return mFadeIn
|
||||||
? FADEIN_PLUGIN_SYMBOL
|
? EffectFadeIn::Symbol
|
||||||
: FADEOUT_PLUGIN_SYMBOL;
|
: EffectFadeOut::Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectFade::GetDescription()
|
TranslatableString EffectFade::GetDescription()
|
||||||
|
@ -13,10 +13,7 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define FADEIN_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Fade In") }
|
class EffectFade : public Effect
|
||||||
#define FADEOUT_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Fade Out") }
|
|
||||||
|
|
||||||
class EffectFade final : public Effect
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EffectFade(bool fadeIn = false);
|
EffectFade(bool fadeIn = false);
|
||||||
@ -40,10 +37,27 @@ public:
|
|||||||
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
|
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// EffectFadeIn implementation
|
// EffectFade implementation
|
||||||
|
|
||||||
bool mFadeIn;
|
bool mFadeIn;
|
||||||
sampleCount mSample;
|
sampleCount mSample;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class EffectFadeIn final : public EffectFade
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectFadeIn() : EffectFade{ true } {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class EffectFadeOut final : public EffectFade
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectFadeOut() : EffectFade{ false } {}
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "FindClipping.h"
|
#include "FindClipping.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -40,6 +41,11 @@
|
|||||||
Param( Start, int, wxT("Duty Cycle Start"), 3, 1, INT_MAX, 1 );
|
Param( Start, int, wxT("Duty Cycle Start"), 3, 1, INT_MAX, 1 );
|
||||||
Param( Stop, int, wxT("Duty Cycle End"), 3, 1, INT_MAX, 1 );
|
Param( Stop, int, wxT("Duty Cycle End"), 3, 1, INT_MAX, 1 );
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectFindClipping::Symbol
|
||||||
|
{ XO("Find Clipping") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectFindClipping > reg; }
|
||||||
|
|
||||||
EffectFindClipping::EffectFindClipping()
|
EffectFindClipping::EffectFindClipping()
|
||||||
{
|
{
|
||||||
mStart = DEF_Start;
|
mStart = DEF_Start;
|
||||||
@ -54,7 +60,7 @@ EffectFindClipping::~EffectFindClipping()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectFindClipping::GetSymbol()
|
ComponentInterfaceSymbol EffectFindClipping::GetSymbol()
|
||||||
{
|
{
|
||||||
return FINDCLIPPING_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectFindClipping::GetDescription()
|
TranslatableString EffectFindClipping::GetDescription()
|
||||||
|
@ -18,11 +18,11 @@ class LabelTrack;
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define FINDCLIPPING_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Find Clipping") }
|
|
||||||
|
|
||||||
class EffectFindClipping final : public Effect
|
class EffectFindClipping final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectFindClipping();
|
EffectFindClipping();
|
||||||
virtual ~EffectFindClipping();
|
virtual ~EffectFindClipping();
|
||||||
|
|
||||||
|
@ -19,6 +19,13 @@
|
|||||||
|
|
||||||
#include <wx/intl.h>
|
#include <wx/intl.h>
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectInvert::Symbol
|
||||||
|
{ XO("Invert") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectInvert > reg; }
|
||||||
|
|
||||||
EffectInvert::EffectInvert()
|
EffectInvert::EffectInvert()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -31,7 +38,7 @@ EffectInvert::~EffectInvert()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectInvert::GetSymbol()
|
ComponentInterfaceSymbol EffectInvert::GetSymbol()
|
||||||
{
|
{
|
||||||
return INVERT_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectInvert::GetDescription()
|
TranslatableString EffectInvert::GetDescription()
|
||||||
|
@ -15,11 +15,11 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define INVERT_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Invert") }
|
|
||||||
|
|
||||||
class EffectInvert final : public Effect
|
class EffectInvert final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectInvert();
|
EffectInvert();
|
||||||
virtual ~EffectInvert();
|
virtual ~EffectInvert();
|
||||||
|
|
||||||
|
@ -14,185 +14,32 @@
|
|||||||
#include "../Audacity.h" // for USE_* macros
|
#include "../Audacity.h" // for USE_* macros
|
||||||
#include "LoadEffects.h"
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
|
||||||
|
|
||||||
#include "../Prefs.h"
|
#include "../Prefs.h"
|
||||||
|
|
||||||
#include "Amplify.h"
|
#include "Effect.h"
|
||||||
#include "AutoDuck.h"
|
|
||||||
#include "BassTreble.h"
|
|
||||||
#include "ChangeSpeed.h"
|
|
||||||
#include "ClickRemoval.h"
|
|
||||||
#include "Compressor.h"
|
|
||||||
#include "Distortion.h"
|
|
||||||
#include "DtmfGen.h"
|
|
||||||
#include "Echo.h"
|
|
||||||
#include "Paulstretch.h"
|
|
||||||
#include "Equalization.h"
|
|
||||||
#include "Fade.h"
|
|
||||||
#include "Invert.h"
|
|
||||||
#include "Loudness.h"
|
|
||||||
#include "Noise.h"
|
|
||||||
#ifdef EXPERIMENTAL_NOISE_REDUCTION
|
|
||||||
#include "NoiseReduction.h"
|
|
||||||
#endif
|
|
||||||
#include "NoiseRemoval.h"
|
|
||||||
#include "Normalize.h"
|
|
||||||
#include "Phaser.h"
|
|
||||||
#include "Repair.h"
|
|
||||||
#include "Repeat.h"
|
|
||||||
#include "Reverb.h"
|
|
||||||
#include "Reverse.h"
|
|
||||||
#include "Silence.h"
|
|
||||||
#include "ScienFilter.h"
|
|
||||||
#include "StereoToMono.h"
|
|
||||||
#ifdef USE_SBSMS
|
|
||||||
#include "TimeScale.h"
|
|
||||||
#endif
|
|
||||||
#include "ToneGen.h"
|
|
||||||
#include "TruncSilence.h"
|
|
||||||
#include "Wahwah.h"
|
|
||||||
|
|
||||||
#include "FindClipping.h"
|
static bool sInitialized = false;
|
||||||
|
|
||||||
#ifdef USE_SOUNDTOUCH
|
struct BuiltinEffectsModule::Entry {
|
||||||
#include "ChangePitch.h"
|
wxString name;
|
||||||
#include "ChangeTempo.h"
|
BuiltinEffectsModule::Factory factory;
|
||||||
#endif
|
bool excluded;
|
||||||
|
|
||||||
//
|
using Entries = std::vector< Entry >;
|
||||||
// Include the SoundTouch effects, if requested
|
static Entries &Registry()
|
||||||
//
|
{
|
||||||
#if defined(USE_SOUNDTOUCH)
|
static Entries result;
|
||||||
#define SOUNDTOUCH_EFFECTS \
|
return result;
|
||||||
EFFECT( CHANGEPITCH, EffectChangePitch, () ) \
|
}
|
||||||
EFFECT( CHANGETEMPO, EffectChangeTempo, () )
|
|
||||||
#else
|
|
||||||
#define SOUNDTOUCH_EFFECTS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
|
||||||
// Select the desired Noise Reduction/Removal effect
|
|
||||||
//
|
|
||||||
#if defined(EXPERIMENTAL_NOISE_REDUCTION)
|
|
||||||
#define NOISEREDUCTION_EFFECT \
|
|
||||||
EFFECT( NOISEREDUCTION, EffectNoiseReduction, () )
|
|
||||||
#else
|
|
||||||
#define NOISEREDUCTION_EFFECT \
|
|
||||||
EFFECT( NOISEREMOVAL, EffectNoiseRemoval, () )
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
|
||||||
// Include the Classic Filters effect, if requested
|
|
||||||
//
|
|
||||||
#if defined(EXPERIMENTAL_SCIENCE_FILTERS)
|
|
||||||
#define CLASSICFILTER_EFFECT \
|
|
||||||
EFFECT( CLASSICFILTERS, EffectScienFilter, () )
|
|
||||||
#else
|
|
||||||
#define CLASSICFILTER_EFFECT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
|
||||||
// Include the SBSMS effect, if requested
|
|
||||||
//
|
|
||||||
#if defined(USE_SBSMS)
|
|
||||||
#define SBSMS_EFFECTS \
|
|
||||||
EFFECT( TIMESCALE, EffectTimeScale, () )
|
|
||||||
#else
|
|
||||||
#define SBSMS_EFFECTS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
|
||||||
// Define the list of effects that will be autoregistered and how to instantiate each
|
|
||||||
//
|
|
||||||
#define EFFECT_LIST \
|
|
||||||
EFFECT( CHIRP, EffectToneGen, (true) ) \
|
|
||||||
EFFECT( DTMFTONES, EffectDtmf, () ) \
|
|
||||||
EFFECT( NOISE, EffectNoise, () ) \
|
|
||||||
EFFECT( SILENCE, EffectSilence, () ) \
|
|
||||||
EFFECT( TONE, EffectToneGen, (false) ) \
|
|
||||||
EFFECT( AMPLIFY, EffectAmplify, () ) \
|
|
||||||
EFFECT( BASSTREBLE, EffectBassTreble, () ) \
|
|
||||||
EFFECT( CHANGESPEED, EffectChangeSpeed, () ) \
|
|
||||||
EFFECT( CLICKREMOVAL, EffectClickRemoval, () ) \
|
|
||||||
EFFECT( COMPRESSOR, EffectCompressor, () ) \
|
|
||||||
EFFECT( DISTORTION, EffectDistortion, () ) \
|
|
||||||
EFFECT( ECHO, EffectEcho, () ) \
|
|
||||||
EFFECT( FADEIN, EffectFade, (true) ) \
|
|
||||||
EFFECT( FADEOUT, EffectFade, (false) ) \
|
|
||||||
EFFECT( FILTER_CURVE, EffectEqualization, (kEqOptionCurve) ) \
|
|
||||||
EFFECT( GRAPHIC_EQ, EffectEqualization, (kEqOptionGraphic) ) \
|
|
||||||
EFFECT( INVERT, EffectInvert, () ) \
|
|
||||||
EFFECT( LOUDNESS , EffectLoudness, () ) \
|
|
||||||
EFFECT( NORMALIZE, EffectNormalize, () ) \
|
|
||||||
EFFECT( PHASER, EffectPhaser, () ) \
|
|
||||||
EFFECT( REPAIR, EffectRepair, () ) \
|
|
||||||
EFFECT( REPEAT, EffectRepeat, () ) \
|
|
||||||
EFFECT( REVERB, EffectReverb, () ) \
|
|
||||||
EFFECT( REVERSE, EffectReverse, () ) \
|
|
||||||
EFFECT( STEREOTOMONO, EffectStereoToMono, () ) \
|
|
||||||
EFFECT( TRUNCATESILENCE, EffectTruncSilence, () ) \
|
|
||||||
EFFECT( WAHWAH, EffectWahwah, () ) \
|
|
||||||
EFFECT( FINDCLIPPING, EffectFindClipping, () ) \
|
|
||||||
NOISEREDUCTION_EFFECT \
|
|
||||||
SOUNDTOUCH_EFFECTS \
|
|
||||||
EFFECT( AUTODUCK, EffectAutoDuck, () ) \
|
|
||||||
EFFECT( PAULSTRETCH, EffectPaulstretch, () ) \
|
|
||||||
SBSMS_EFFECTS
|
|
||||||
|
|
||||||
//EFFECT( EQUALIZATION, EffectEqualization, (kEqLegacy) ) \
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Define the list of effects that do not get autoregistered
|
|
||||||
//
|
|
||||||
#define EXCLUDE_LIST \
|
|
||||||
CLASSICFILTER_EFFECT
|
|
||||||
|
|
||||||
//
|
|
||||||
// Define the EFFECT() macro to generate enum names
|
|
||||||
//
|
|
||||||
#define EFFECT(n, i, args) ENUM_ ## n,
|
|
||||||
|
|
||||||
//
|
|
||||||
// Create the enum for the list of effects (will be used in a switch statement)
|
|
||||||
//
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
EFFECT_LIST
|
|
||||||
EXCLUDE_LIST
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
void BuiltinEffectsModule::DoRegistration(
|
||||||
// Redefine EFFECT() to add the effect's name to an array
|
const ComponentInterfaceSymbol &name, const Factory &factory, bool excluded )
|
||||||
//
|
{
|
||||||
#undef EFFECT
|
wxASSERT( !sInitialized );
|
||||||
#define EFFECT(n, i, args) results.push_back((n ## _PLUGIN_SYMBOL).Internal());
|
Entry::Registry().emplace_back( Entry{ name.Internal(), factory, excluded } );
|
||||||
|
|
||||||
//
|
|
||||||
// Create the effect name array
|
|
||||||
//
|
|
||||||
static const std::vector<wxString> kEffectNames() {
|
|
||||||
std::vector<wxString> results;
|
|
||||||
EFFECT_LIST;
|
|
||||||
return results;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Create the effect name array of excluded effects
|
|
||||||
//
|
|
||||||
static const std::vector<wxString> kExcludedNames() {
|
|
||||||
std::vector<wxString> results;
|
|
||||||
EXCLUDE_LIST;
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Redefine EFFECT() to generate a case statement for the lookup switch
|
|
||||||
//
|
|
||||||
#undef EFFECT
|
|
||||||
#define EFFECT(n, i, args) case ENUM_ ## n: return std::make_unique<i> args;
|
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// Module registration entry point
|
// Module registration entry point
|
||||||
//
|
//
|
||||||
@ -271,18 +118,11 @@ TranslatableString BuiltinEffectsModule::GetDescription()
|
|||||||
|
|
||||||
bool BuiltinEffectsModule::Initialize()
|
bool BuiltinEffectsModule::Initialize()
|
||||||
{
|
{
|
||||||
const auto &names = kEffectNames();
|
for ( const auto &entry : Entry::Registry() ) {
|
||||||
for (const auto &name : names)
|
auto path = wxString(BUILTIN_EFFECT_PREFIX) + entry.name;
|
||||||
{
|
mEffects[ path ] = &entry;
|
||||||
mNames.push_back(wxString(BUILTIN_EFFECT_PREFIX) + name);
|
|
||||||
}
|
}
|
||||||
|
sInitialized = true;
|
||||||
const auto &excluded = kExcludedNames();
|
|
||||||
for (const auto &name : excluded)
|
|
||||||
{
|
|
||||||
mNames.push_back(wxString(BUILTIN_EFFECT_PREFIX) + name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -308,11 +148,11 @@ const FileExtensions &BuiltinEffectsModule::GetFileExtensions()
|
|||||||
bool BuiltinEffectsModule::AutoRegisterPlugins(PluginManagerInterface & pm)
|
bool BuiltinEffectsModule::AutoRegisterPlugins(PluginManagerInterface & pm)
|
||||||
{
|
{
|
||||||
TranslatableString ignoredErrMsg;
|
TranslatableString ignoredErrMsg;
|
||||||
const auto &names = kEffectNames();
|
for (const auto &pair : mEffects)
|
||||||
for (const auto &name : names)
|
|
||||||
{
|
{
|
||||||
PluginPath path(wxString(BUILTIN_EFFECT_PREFIX) + name);
|
if ( pair.second->excluded )
|
||||||
|
continue;
|
||||||
|
const auto &path = pair.first;
|
||||||
if (!pm.IsPluginRegistered(path))
|
if (!pm.IsPluginRegistered(path))
|
||||||
{
|
{
|
||||||
// No checking of error ?
|
// No checking of error ?
|
||||||
@ -327,7 +167,10 @@ bool BuiltinEffectsModule::AutoRegisterPlugins(PluginManagerInterface & pm)
|
|||||||
|
|
||||||
PluginPaths BuiltinEffectsModule::FindPluginPaths(PluginManagerInterface & WXUNUSED(pm))
|
PluginPaths BuiltinEffectsModule::FindPluginPaths(PluginManagerInterface & WXUNUSED(pm))
|
||||||
{
|
{
|
||||||
return mNames;
|
PluginPaths names;
|
||||||
|
for ( const auto &pair : mEffects )
|
||||||
|
names.push_back( pair.first );
|
||||||
|
return names;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned BuiltinEffectsModule::DiscoverPluginsAtPath(
|
unsigned BuiltinEffectsModule::DiscoverPluginsAtPath(
|
||||||
@ -351,7 +194,7 @@ bool BuiltinEffectsModule::IsPluginValid(const PluginPath & path, bool bFast)
|
|||||||
{
|
{
|
||||||
// bFast is unused as checking in the list is fast.
|
// bFast is unused as checking in the list is fast.
|
||||||
static_cast<void>(bFast);
|
static_cast<void>(bFast);
|
||||||
return make_iterator_range( mNames ).contains( path );
|
return mEffects.find( path ) != mEffects.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
ComponentInterface *BuiltinEffectsModule::CreateInstance(const PluginPath & path)
|
ComponentInterface *BuiltinEffectsModule::CreateInstance(const PluginPath & path)
|
||||||
@ -376,14 +219,10 @@ void BuiltinEffectsModule::DeleteInstance(ComponentInterface *instance)
|
|||||||
std::unique_ptr<Effect> BuiltinEffectsModule::Instantiate(const PluginPath & path)
|
std::unique_ptr<Effect> BuiltinEffectsModule::Instantiate(const PluginPath & path)
|
||||||
{
|
{
|
||||||
wxASSERT(path.StartsWith(BUILTIN_EFFECT_PREFIX));
|
wxASSERT(path.StartsWith(BUILTIN_EFFECT_PREFIX));
|
||||||
auto index = make_iterator_range( mNames ).index( path );
|
auto iter = mEffects.find( path );
|
||||||
wxASSERT( index != wxNOT_FOUND );
|
if ( iter != mEffects.end() )
|
||||||
|
return iter->second->factory();
|
||||||
switch ( index )
|
|
||||||
{
|
wxASSERT( false );
|
||||||
EFFECT_LIST;
|
|
||||||
EXCLUDE_LIST;
|
|
||||||
}
|
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
|
|
||||||
#include "audacity/ModuleInterface.h"
|
#include "audacity/ModuleInterface.h"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
#include <memory>
|
||||||
|
#include <unordered_map>
|
||||||
#include "../MemoryX.h"
|
#include "../MemoryX.h"
|
||||||
|
|
||||||
class Effect;
|
class Effect;
|
||||||
@ -26,6 +29,17 @@ public:
|
|||||||
BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path);
|
BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path);
|
||||||
virtual ~BuiltinEffectsModule();
|
virtual ~BuiltinEffectsModule();
|
||||||
|
|
||||||
|
using Factory = std::function< std::unique_ptr<Effect> () >;
|
||||||
|
|
||||||
|
// Typically you make a static object of this type in the .cpp file that
|
||||||
|
// also implements the Effect subclass.
|
||||||
|
template< typename Subclass >
|
||||||
|
struct Registration final { Registration( bool excluded = false ) {
|
||||||
|
DoRegistration(
|
||||||
|
Subclass::Symbol, []{ return std::make_unique< Subclass >(); },
|
||||||
|
excluded );
|
||||||
|
} };
|
||||||
|
|
||||||
// ComponentInterface implementation
|
// ComponentInterface implementation
|
||||||
|
|
||||||
PluginPath GetPath() override;
|
PluginPath GetPath() override;
|
||||||
@ -61,8 +75,14 @@ private:
|
|||||||
std::unique_ptr<Effect> Instantiate(const PluginPath & path);
|
std::unique_ptr<Effect> Instantiate(const PluginPath & path);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static void DoRegistration(
|
||||||
|
const ComponentInterfaceSymbol &name, const Factory &factory,
|
||||||
|
bool excluded );
|
||||||
|
|
||||||
ModuleManagerInterface *mModMan;
|
ModuleManagerInterface *mModMan;
|
||||||
PluginPath mPath;
|
PluginPath mPath;
|
||||||
|
|
||||||
PluginPaths mNames;
|
struct Entry;
|
||||||
|
using EffectHash = std::unordered_map< wxString, const Entry* > ;
|
||||||
|
EffectHash mEffects;
|
||||||
};
|
};
|
||||||
|
@ -31,6 +31,8 @@
|
|||||||
#include "../widgets/valnum.h"
|
#include "../widgets/valnum.h"
|
||||||
#include "../widgets/ProgressDialog.h"
|
#include "../widgets/ProgressDialog.h"
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
enum kNormalizeTargets
|
enum kNormalizeTargets
|
||||||
{
|
{
|
||||||
kLoudness,
|
kLoudness,
|
||||||
@ -58,6 +60,11 @@ BEGIN_EVENT_TABLE(EffectLoudness, wxEvtHandler)
|
|||||||
EVT_TEXT(wxID_ANY, EffectLoudness::OnUpdateUI)
|
EVT_TEXT(wxID_ANY, EffectLoudness::OnUpdateUI)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectLoudness::Symbol
|
||||||
|
{ XO("Loudness Normalization") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectLoudness > reg; }
|
||||||
|
|
||||||
EffectLoudness::EffectLoudness()
|
EffectLoudness::EffectLoudness()
|
||||||
{
|
{
|
||||||
mStereoInd = DEF_StereoInd;
|
mStereoInd = DEF_StereoInd;
|
||||||
@ -77,7 +84,7 @@ EffectLoudness::~EffectLoudness()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectLoudness::GetSymbol()
|
ComponentInterfaceSymbol EffectLoudness::GetSymbol()
|
||||||
{
|
{
|
||||||
return LOUDNESS_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectLoudness::GetDescription()
|
TranslatableString EffectLoudness::GetDescription()
|
||||||
|
@ -24,11 +24,11 @@
|
|||||||
|
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define LOUDNESS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Loudness Normalization") }
|
|
||||||
|
|
||||||
class EffectLoudness final : public Effect
|
class EffectLoudness final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectLoudness();
|
EffectLoudness();
|
||||||
virtual ~EffectLoudness();
|
virtual ~EffectLoudness();
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Noise.h"
|
#include "Noise.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -55,6 +56,11 @@ Param( Amp, double, wxT("Amplitude"), 0.8, 0.0, 1.0, 1 );
|
|||||||
// EffectNoise
|
// EffectNoise
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectNoise::Symbol
|
||||||
|
{ XO("Noise") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectNoise > reg; }
|
||||||
|
|
||||||
EffectNoise::EffectNoise()
|
EffectNoise::EffectNoise()
|
||||||
{
|
{
|
||||||
mType = DEF_Type;
|
mType = DEF_Type;
|
||||||
@ -73,7 +79,7 @@ EffectNoise::~EffectNoise()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectNoise::GetSymbol()
|
ComponentInterfaceSymbol EffectNoise::GetSymbol()
|
||||||
{
|
{
|
||||||
return NOISE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectNoise::GetDescription()
|
TranslatableString EffectNoise::GetDescription()
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
class NumericTextCtrl;
|
class NumericTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define NOISE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Noise") }
|
|
||||||
|
|
||||||
class EffectNoise final : public Effect
|
class EffectNoise final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectNoise();
|
EffectNoise();
|
||||||
virtual ~EffectNoise();
|
virtual ~EffectNoise();
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
#include "EffectManager.h"
|
#include "EffectManager.h"
|
||||||
|
|
||||||
#include "../ShuttleGui.h"
|
#include "../ShuttleGui.h"
|
||||||
@ -420,6 +421,11 @@ private:
|
|||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectNoiseReduction::Symbol
|
||||||
|
{ XO("Noise Reduction") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectNoiseReduction > reg; }
|
||||||
|
|
||||||
EffectNoiseReduction::EffectNoiseReduction()
|
EffectNoiseReduction::EffectNoiseReduction()
|
||||||
: mSettings(std::make_unique<EffectNoiseReduction::Settings>())
|
: mSettings(std::make_unique<EffectNoiseReduction::Settings>())
|
||||||
{
|
{
|
||||||
@ -434,7 +440,7 @@ EffectNoiseReduction::~EffectNoiseReduction()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectNoiseReduction::GetSymbol()
|
ComponentInterfaceSymbol EffectNoiseReduction::GetSymbol()
|
||||||
{
|
{
|
||||||
return NOISEREDUCTION_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectNoiseReduction::GetDescription()
|
TranslatableString EffectNoiseReduction::GetDescription()
|
||||||
|
@ -15,10 +15,9 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define NOISEREDUCTION_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Noise Reduction") }
|
|
||||||
|
|
||||||
class EffectNoiseReduction final : public Effect {
|
class EffectNoiseReduction final : public Effect {
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectNoiseReduction();
|
EffectNoiseReduction();
|
||||||
virtual ~EffectNoiseReduction();
|
virtual ~EffectNoiseReduction();
|
||||||
|
@ -45,6 +45,8 @@
|
|||||||
|
|
||||||
#if !defined(EXPERIMENTAL_NOISE_REDUCTION)
|
#if !defined(EXPERIMENTAL_NOISE_REDUCTION)
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
#include "../Prefs.h"
|
#include "../Prefs.h"
|
||||||
#include "../FileNames.h"
|
#include "../FileNames.h"
|
||||||
@ -76,6 +78,11 @@
|
|||||||
|
|
||||||
#include "../PlatformCompatibility.h"
|
#include "../PlatformCompatibility.h"
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectNoiseRemoval::Symbol
|
||||||
|
{ XO("Noise Removal") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectNoiseRemoval > reg; }
|
||||||
|
|
||||||
EffectNoiseRemoval::EffectNoiseRemoval()
|
EffectNoiseRemoval::EffectNoiseRemoval()
|
||||||
{
|
{
|
||||||
mWindowSize = 2048;
|
mWindowSize = 2048;
|
||||||
@ -111,7 +118,7 @@ EffectNoiseRemoval::~EffectNoiseRemoval()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectNoiseRemoval::GetSymbol()
|
ComponentInterfaceSymbol EffectNoiseRemoval::GetSymbol()
|
||||||
{
|
{
|
||||||
return XO("Noise Removal");
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectNoiseRemoval::GetDescription()
|
TranslatableString EffectNoiseRemoval::GetDescription()
|
||||||
|
@ -33,11 +33,11 @@ class wxTextCtrl;
|
|||||||
|
|
||||||
#include "../RealFFTf.h"
|
#include "../RealFFTf.h"
|
||||||
|
|
||||||
#define NOISEREMOVAL_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Noise Removal") }
|
|
||||||
|
|
||||||
class EffectNoiseRemoval final : public Effect
|
class EffectNoiseRemoval final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectNoiseRemoval();
|
EffectNoiseRemoval();
|
||||||
virtual ~EffectNoiseRemoval();
|
virtual ~EffectNoiseRemoval();
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h" // for rint from configwin.h
|
#include "../Audacity.h" // for rint from configwin.h
|
||||||
#include "Normalize.h"
|
#include "Normalize.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -43,6 +44,11 @@ Param( RemoveDC, bool, wxT("RemoveDcOffset"), true, false, true,
|
|||||||
Param( ApplyGain, bool, wxT("ApplyGain"), true, false, true, 1 );
|
Param( ApplyGain, bool, wxT("ApplyGain"), true, false, true, 1 );
|
||||||
Param( StereoInd, bool, wxT("StereoIndependent"), false, false, true, 1 );
|
Param( StereoInd, bool, wxT("StereoIndependent"), false, false, true, 1 );
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectNormalize::Symbol
|
||||||
|
{ XO("Normalize") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectNormalize > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectNormalize, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectNormalize, wxEvtHandler)
|
||||||
EVT_CHECKBOX(wxID_ANY, EffectNormalize::OnUpdateUI)
|
EVT_CHECKBOX(wxID_ANY, EffectNormalize::OnUpdateUI)
|
||||||
EVT_TEXT(wxID_ANY, EffectNormalize::OnUpdateUI)
|
EVT_TEXT(wxID_ANY, EffectNormalize::OnUpdateUI)
|
||||||
@ -66,7 +72,7 @@ EffectNormalize::~EffectNormalize()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectNormalize::GetSymbol()
|
ComponentInterfaceSymbol EffectNormalize::GetSymbol()
|
||||||
{
|
{
|
||||||
return NORMALIZE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectNormalize::GetDescription()
|
TranslatableString EffectNormalize::GetDescription()
|
||||||
|
@ -22,11 +22,11 @@ class wxStaticText;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define NORMALIZE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Normalize") }
|
|
||||||
|
|
||||||
class EffectNormalize final : public Effect
|
class EffectNormalize final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectNormalize();
|
EffectNormalize();
|
||||||
virtual ~EffectNormalize();
|
virtual ~EffectNormalize();
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Paulstretch.h"
|
#include "Paulstretch.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
@ -83,6 +84,11 @@ private:
|
|||||||
// EffectPaulstretch
|
// EffectPaulstretch
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectPaulstretch::Symbol
|
||||||
|
{ XO("Paulstretch") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectPaulstretch > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectPaulstretch, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectPaulstretch, wxEvtHandler)
|
||||||
EVT_TEXT(wxID_ANY, EffectPaulstretch::OnText)
|
EVT_TEXT(wxID_ANY, EffectPaulstretch::OnText)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
@ -103,7 +109,7 @@ EffectPaulstretch::~EffectPaulstretch()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectPaulstretch::GetSymbol()
|
ComponentInterfaceSymbol EffectPaulstretch::GetSymbol()
|
||||||
{
|
{
|
||||||
return PAULSTRETCH_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectPaulstretch::GetDescription()
|
TranslatableString EffectPaulstretch::GetDescription()
|
||||||
|
@ -14,11 +14,11 @@
|
|||||||
|
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define PAULSTRETCH_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Paulstretch") }
|
|
||||||
|
|
||||||
class EffectPaulstretch final : public Effect
|
class EffectPaulstretch final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectPaulstretch();
|
EffectPaulstretch();
|
||||||
virtual ~EffectPaulstretch();
|
virtual ~EffectPaulstretch();
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Phaser.h"
|
#include "Phaser.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -65,6 +66,11 @@ Param( OutGain, double, wxT("Gain"), -6.0, -30.0, 30.0, 1 );
|
|||||||
// EffectPhaser
|
// EffectPhaser
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectPhaser::Symbol
|
||||||
|
{ XO("Phaser") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectPhaser > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectPhaser, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectPhaser, wxEvtHandler)
|
||||||
EVT_SLIDER(ID_Stages, EffectPhaser::OnStagesSlider)
|
EVT_SLIDER(ID_Stages, EffectPhaser::OnStagesSlider)
|
||||||
EVT_SLIDER(ID_DryWet, EffectPhaser::OnDryWetSlider)
|
EVT_SLIDER(ID_DryWet, EffectPhaser::OnDryWetSlider)
|
||||||
@ -103,7 +109,7 @@ EffectPhaser::~EffectPhaser()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectPhaser::GetSymbol()
|
ComponentInterfaceSymbol EffectPhaser::GetSymbol()
|
||||||
{
|
{
|
||||||
return PHASER_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectPhaser::GetDescription()
|
TranslatableString EffectPhaser::GetDescription()
|
||||||
|
@ -24,8 +24,6 @@ class ShuttleGui;
|
|||||||
|
|
||||||
#define NUM_STAGES 24
|
#define NUM_STAGES 24
|
||||||
|
|
||||||
#define PHASER_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Phaser") }
|
|
||||||
|
|
||||||
class EffectPhaserState
|
class EffectPhaserState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -44,6 +42,8 @@ public:
|
|||||||
class EffectPhaser final : public Effect
|
class EffectPhaser final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectPhaser();
|
EffectPhaser();
|
||||||
virtual ~EffectPhaser();
|
virtual ~EffectPhaser();
|
||||||
|
|
||||||
|
@ -32,6 +32,13 @@ the audio, rather than actually finding the clicks.
|
|||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
#include "../widgets/AudacityMessageBox.h"
|
#include "../widgets/AudacityMessageBox.h"
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectRepair::Symbol
|
||||||
|
{ XO("Repair") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectRepair > reg; }
|
||||||
|
|
||||||
EffectRepair::EffectRepair()
|
EffectRepair::EffectRepair()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -44,7 +51,7 @@ EffectRepair::~EffectRepair()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectRepair::GetSymbol()
|
ComponentInterfaceSymbol EffectRepair::GetSymbol()
|
||||||
{
|
{
|
||||||
return REPAIR_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectRepair::GetDescription()
|
TranslatableString EffectRepair::GetDescription()
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define REPAIR_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Repair") }
|
|
||||||
|
|
||||||
class WaveTrack;
|
class WaveTrack;
|
||||||
|
|
||||||
class EffectRepair final : public Effect
|
class EffectRepair final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectRepair();
|
EffectRepair();
|
||||||
virtual ~EffectRepair();
|
virtual ~EffectRepair();
|
||||||
|
|
||||||
|
@ -36,11 +36,18 @@
|
|||||||
#include "../widgets/NumericTextCtrl.h"
|
#include "../widgets/NumericTextCtrl.h"
|
||||||
#include "../widgets/valnum.h"
|
#include "../widgets/valnum.h"
|
||||||
|
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
// Define keys, defaults, minimums, and maximums for the effect parameters
|
// Define keys, defaults, minimums, and maximums for the effect parameters
|
||||||
//
|
//
|
||||||
// Name Type Key Def Min Max Scale
|
// Name Type Key Def Min Max Scale
|
||||||
Param( Count, int, wxT("Count"), 1, 1, INT_MAX, 1 );
|
Param( Count, int, wxT("Count"), 1, 1, INT_MAX, 1 );
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectRepeat::Symbol
|
||||||
|
{ XO("Repeat") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectRepeat > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectRepeat, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectRepeat, wxEvtHandler)
|
||||||
EVT_TEXT(wxID_ANY, EffectRepeat::OnRepeatTextChange)
|
EVT_TEXT(wxID_ANY, EffectRepeat::OnRepeatTextChange)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
@ -60,7 +67,7 @@ EffectRepeat::~EffectRepeat()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectRepeat::GetSymbol()
|
ComponentInterfaceSymbol EffectRepeat::GetSymbol()
|
||||||
{
|
{
|
||||||
return REPEAT_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectRepeat::GetDescription()
|
TranslatableString EffectRepeat::GetDescription()
|
||||||
|
@ -16,13 +16,13 @@
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define REPEAT_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Repeat") }
|
|
||||||
|
|
||||||
class wxStaticText;
|
class wxStaticText;
|
||||||
|
|
||||||
class EffectRepeat final : public Effect
|
class EffectRepeat final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectRepeat();
|
EffectRepeat();
|
||||||
virtual ~EffectRepeat();
|
virtual ~EffectRepeat();
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Reverb.h"
|
#include "Reverb.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <wx/arrstr.h>
|
#include <wx/arrstr.h>
|
||||||
#include <wx/checkbox.h>
|
#include <wx/checkbox.h>
|
||||||
@ -89,6 +90,11 @@ struct Reverb_priv_t
|
|||||||
// EffectReverb
|
// EffectReverb
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectReverb::Symbol
|
||||||
|
{ XO("Reverb") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectReverb > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectReverb, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectReverb, wxEvtHandler)
|
||||||
|
|
||||||
#define SpinSliderEvent(n) \
|
#define SpinSliderEvent(n) \
|
||||||
@ -135,7 +141,7 @@ EffectReverb::~EffectReverb()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectReverb::GetSymbol()
|
ComponentInterfaceSymbol EffectReverb::GetSymbol()
|
||||||
{
|
{
|
||||||
return REVERB_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectReverb::GetDescription()
|
TranslatableString EffectReverb::GetDescription()
|
||||||
|
@ -19,13 +19,13 @@ class wxSlider;
|
|||||||
class wxSpinCtrl;
|
class wxSpinCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define REVERB_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Reverb") }
|
|
||||||
|
|
||||||
struct Reverb_priv_t;
|
struct Reverb_priv_t;
|
||||||
|
|
||||||
class EffectReverb final : public Effect
|
class EffectReverb final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectReverb();
|
EffectReverb();
|
||||||
virtual ~EffectReverb();
|
virtual ~EffectReverb();
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Reverse.h"
|
#include "Reverse.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -29,6 +30,11 @@
|
|||||||
// EffectReverse
|
// EffectReverse
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectReverse::Symbol
|
||||||
|
{ XO("Reverse") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectReverse > reg; }
|
||||||
|
|
||||||
EffectReverse::EffectReverse()
|
EffectReverse::EffectReverse()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -41,7 +47,7 @@ EffectReverse::~EffectReverse()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectReverse::GetSymbol()
|
ComponentInterfaceSymbol EffectReverse::GetSymbol()
|
||||||
{
|
{
|
||||||
return REVERSE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectReverse::GetDescription()
|
TranslatableString EffectReverse::GetDescription()
|
||||||
|
@ -15,11 +15,11 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define REVERSE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Reverse") }
|
|
||||||
|
|
||||||
class EffectReverse final : public Effect
|
class EffectReverse final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectReverse();
|
EffectReverse();
|
||||||
virtual ~EffectReverse();
|
virtual ~EffectReverse();
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ a graph for EffectScienFilter.
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "ScienFilter.h"
|
#include "ScienFilter.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
@ -132,6 +133,14 @@ Param( Stopband, float, wxT("StopbandRipple"), 30.0, 0.0, 100.0,
|
|||||||
// EffectScienFilter
|
// EffectScienFilter
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectScienFilter::Symbol
|
||||||
|
{ XO("Classic Filters") };
|
||||||
|
|
||||||
|
#ifdef EXPERIMENTAL_SCIENCE_FILTERS
|
||||||
|
// true argument means don't automatically enable this effect
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectScienFilter > reg( true ); }
|
||||||
|
#endif
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectScienFilter, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectScienFilter, wxEvtHandler)
|
||||||
EVT_SIZE(EffectScienFilter::OnSize)
|
EVT_SIZE(EffectScienFilter::OnSize)
|
||||||
|
|
||||||
@ -173,7 +182,7 @@ EffectScienFilter::~EffectScienFilter()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectScienFilter::GetSymbol()
|
ComponentInterfaceSymbol EffectScienFilter::GetSymbol()
|
||||||
{
|
{
|
||||||
return CLASSICFILTERS_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectScienFilter::GetDescription()
|
TranslatableString EffectScienFilter::GetDescription()
|
||||||
|
@ -27,13 +27,13 @@ class wxTextCtrl;
|
|||||||
class RulerPanel;
|
class RulerPanel;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define CLASSICFILTERS_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Classic Filters") }
|
|
||||||
|
|
||||||
class EffectScienFilterPanel;
|
class EffectScienFilterPanel;
|
||||||
|
|
||||||
class EffectScienFilter final : public Effect
|
class EffectScienFilter final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectScienFilter();
|
EffectScienFilter();
|
||||||
virtual ~EffectScienFilter();
|
virtual ~EffectScienFilter();
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Silence.h"
|
#include "Silence.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <wx/intl.h>
|
#include <wx/intl.h>
|
||||||
|
|
||||||
@ -22,6 +23,11 @@
|
|||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
#include "../widgets/NumericTextCtrl.h"
|
#include "../widgets/NumericTextCtrl.h"
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectSilence::Symbol
|
||||||
|
{ XO("Silence") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectSilence > reg; }
|
||||||
|
|
||||||
EffectSilence::EffectSilence()
|
EffectSilence::EffectSilence()
|
||||||
{
|
{
|
||||||
SetLinearEffectFlag(true);
|
SetLinearEffectFlag(true);
|
||||||
@ -35,7 +41,7 @@ EffectSilence::~EffectSilence()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectSilence::GetSymbol()
|
ComponentInterfaceSymbol EffectSilence::GetSymbol()
|
||||||
{
|
{
|
||||||
return SILENCE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectSilence::GetDescription()
|
TranslatableString EffectSilence::GetDescription()
|
||||||
|
@ -17,11 +17,11 @@
|
|||||||
|
|
||||||
class NumericTextCtrl;
|
class NumericTextCtrl;
|
||||||
|
|
||||||
#define SILENCE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Silence") }
|
|
||||||
|
|
||||||
class EffectSilence final : public Generator
|
class EffectSilence final : public Generator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectSilence();
|
EffectSilence();
|
||||||
virtual ~EffectSilence();
|
virtual ~EffectSilence();
|
||||||
|
|
||||||
|
@ -15,12 +15,18 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "StereoToMono.h"
|
#include "StereoToMono.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <wx/intl.h>
|
#include <wx/intl.h>
|
||||||
|
|
||||||
#include "../Project.h"
|
#include "../Project.h"
|
||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectStereoToMono::Symbol
|
||||||
|
{ XO("Stereo To Mono") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectStereoToMono > reg; }
|
||||||
|
|
||||||
EffectStereoToMono::EffectStereoToMono()
|
EffectStereoToMono::EffectStereoToMono()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -33,7 +39,7 @@ EffectStereoToMono::~EffectStereoToMono()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectStereoToMono::GetSymbol()
|
ComponentInterfaceSymbol EffectStereoToMono::GetSymbol()
|
||||||
{
|
{
|
||||||
return STEREOTOMONO_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectStereoToMono::GetDescription()
|
TranslatableString EffectStereoToMono::GetDescription()
|
||||||
|
@ -13,11 +13,11 @@
|
|||||||
|
|
||||||
#include "Effect.h"
|
#include "Effect.h"
|
||||||
|
|
||||||
#define STEREOTOMONO_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Stereo To Mono") }
|
|
||||||
|
|
||||||
class EffectStereoToMono final : public Effect
|
class EffectStereoToMono final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectStereoToMono();
|
EffectStereoToMono();
|
||||||
virtual ~EffectStereoToMono();
|
virtual ~EffectStereoToMono();
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#if USE_SBSMS
|
#if USE_SBSMS
|
||||||
#include "TimeScale.h"
|
#include "TimeScale.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -51,6 +52,11 @@ Param( PitchPercentEnd, double, wxT("PitchPercentChangeEnd"), 0.0, -50.0,
|
|||||||
// EffectTimeScale
|
// EffectTimeScale
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectTimeScale::Symbol
|
||||||
|
{ wxT("Sliding Stretch"), XO("Sliding Stretch") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectTimeScale > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectTimeScale, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectTimeScale, wxEvtHandler)
|
||||||
EVT_TEXT(ID_RatePercentChangeStart, EffectTimeScale::OnText_RatePercentChangeStart)
|
EVT_TEXT(ID_RatePercentChangeStart, EffectTimeScale::OnText_RatePercentChangeStart)
|
||||||
EVT_TEXT(ID_RatePercentChangeEnd, EffectTimeScale::OnText_RatePercentChangeEnd)
|
EVT_TEXT(ID_RatePercentChangeEnd, EffectTimeScale::OnText_RatePercentChangeEnd)
|
||||||
@ -87,7 +93,7 @@ EffectTimeScale::~EffectTimeScale()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectTimeScale::GetSymbol()
|
ComponentInterfaceSymbol EffectTimeScale::GetSymbol()
|
||||||
{
|
{
|
||||||
return TIMESCALE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectTimeScale::GetDescription()
|
TranslatableString EffectTimeScale::GetDescription()
|
||||||
|
@ -21,15 +21,11 @@ class wxSlider;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
// two strings here
|
|
||||||
// unusual case
|
|
||||||
#define TIMESCALE_PLUGIN_SYMBOL \
|
|
||||||
ComponentInterfaceSymbol{ wxT("Sliding Stretch"), \
|
|
||||||
XO("Sliding Stretch") }
|
|
||||||
|
|
||||||
class EffectTimeScale final : public EffectSBSMS
|
class EffectTimeScale final : public EffectSBSMS
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectTimeScale();
|
EffectTimeScale();
|
||||||
virtual ~EffectTimeScale();
|
virtual ~EffectTimeScale();
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ frequency changes smoothly during the tone.
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "ToneGen.h"
|
#include "ToneGen.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
@ -82,6 +83,16 @@ Param( Interp, int, wxT("Interpolation"), 0, 0, nInterpolatio
|
|||||||
// EffectToneGen
|
// EffectToneGen
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectChirp::Symbol
|
||||||
|
{ XO("Chirp") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectChirp > reg; }
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectTone::Symbol
|
||||||
|
{ XO("Tone") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectTone > reg2; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectToneGen, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectToneGen, wxEvtHandler)
|
||||||
EVT_TEXT(wxID_ANY, EffectToneGen::OnControlUpdate)
|
EVT_TEXT(wxID_ANY, EffectToneGen::OnControlUpdate)
|
||||||
END_EVENT_TABLE();
|
END_EVENT_TABLE();
|
||||||
@ -117,8 +128,8 @@ EffectToneGen::~EffectToneGen()
|
|||||||
ComponentInterfaceSymbol EffectToneGen::GetSymbol()
|
ComponentInterfaceSymbol EffectToneGen::GetSymbol()
|
||||||
{
|
{
|
||||||
return mChirp
|
return mChirp
|
||||||
? CHIRP_PLUGIN_SYMBOL
|
? EffectChirp::Symbol
|
||||||
: TONE_PLUGIN_SYMBOL;
|
: EffectTone::Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectToneGen::GetDescription()
|
TranslatableString EffectToneGen::GetDescription()
|
||||||
|
@ -18,10 +18,7 @@
|
|||||||
class NumericTextCtrl;
|
class NumericTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define CHIRP_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Chirp") }
|
class EffectToneGen : public Effect
|
||||||
#define TONE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Tone") }
|
|
||||||
|
|
||||||
class EffectToneGen final : public Effect
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EffectToneGen(bool isChirp);
|
EffectToneGen(bool isChirp);
|
||||||
@ -78,4 +75,21 @@ private:
|
|||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class EffectChirp final : public EffectToneGen
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectChirp() : EffectToneGen{ true } {}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class EffectTone final : public EffectToneGen
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
|
EffectTone() : EffectToneGen{ false } {}
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "TruncSilence.h"
|
#include "TruncSilence.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <list>
|
#include <list>
|
||||||
@ -119,6 +120,11 @@ static const double DEF_MinTruncMs = 0.001;
|
|||||||
// Typical fraction of total time taken by detection (better to guess low)
|
// Typical fraction of total time taken by detection (better to guess low)
|
||||||
const double detectFrac = 0.4;
|
const double detectFrac = 0.4;
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectTruncSilence::Symbol
|
||||||
|
{ XO("Truncate Silence") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectTruncSilence > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectTruncSilence, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectTruncSilence, wxEvtHandler)
|
||||||
EVT_CHOICE(wxID_ANY, EffectTruncSilence::OnControlChange)
|
EVT_CHOICE(wxID_ANY, EffectTruncSilence::OnControlChange)
|
||||||
EVT_TEXT(wxID_ANY, EffectTruncSilence::OnControlChange)
|
EVT_TEXT(wxID_ANY, EffectTruncSilence::OnControlChange)
|
||||||
@ -154,7 +160,7 @@ EffectTruncSilence::~EffectTruncSilence()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectTruncSilence::GetSymbol()
|
ComponentInterfaceSymbol EffectTruncSilence::GetSymbol()
|
||||||
{
|
{
|
||||||
return TRUNCATESILENCE_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectTruncSilence::GetDescription()
|
TranslatableString EffectTruncSilence::GetDescription()
|
||||||
|
@ -24,13 +24,13 @@ class wxChoice;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class wxCheckBox;
|
class wxCheckBox;
|
||||||
|
|
||||||
#define TRUNCATESILENCE_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Truncate Silence") }
|
|
||||||
|
|
||||||
class RegionList;
|
class RegionList;
|
||||||
|
|
||||||
class EffectTruncSilence final : public Effect
|
class EffectTruncSilence final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectTruncSilence();
|
EffectTruncSilence();
|
||||||
virtual ~EffectTruncSilence();
|
virtual ~EffectTruncSilence();
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "../Audacity.h"
|
#include "../Audacity.h"
|
||||||
#include "Wahwah.h"
|
#include "Wahwah.h"
|
||||||
|
#include "LoadEffects.h"
|
||||||
|
|
||||||
#include "../Experimental.h"
|
#include "../Experimental.h"
|
||||||
|
|
||||||
@ -59,6 +60,11 @@ Param( OutGain, double, wxT("Gain"), -6.0, -30.0, 30.0, 1 );
|
|||||||
// EffectWahwah
|
// EffectWahwah
|
||||||
//
|
//
|
||||||
|
|
||||||
|
const ComponentInterfaceSymbol EffectWahwah::Symbol
|
||||||
|
{ XO("Wahwah") };
|
||||||
|
|
||||||
|
namespace{ BuiltinEffectsModule::Registration< EffectWahwah > reg; }
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EffectWahwah, wxEvtHandler)
|
BEGIN_EVENT_TABLE(EffectWahwah, wxEvtHandler)
|
||||||
EVT_SLIDER(ID_Freq, EffectWahwah::OnFreqSlider)
|
EVT_SLIDER(ID_Freq, EffectWahwah::OnFreqSlider)
|
||||||
EVT_SLIDER(ID_Phase, EffectWahwah::OnPhaseSlider)
|
EVT_SLIDER(ID_Phase, EffectWahwah::OnPhaseSlider)
|
||||||
@ -94,7 +100,7 @@ EffectWahwah::~EffectWahwah()
|
|||||||
|
|
||||||
ComponentInterfaceSymbol EffectWahwah::GetSymbol()
|
ComponentInterfaceSymbol EffectWahwah::GetSymbol()
|
||||||
{
|
{
|
||||||
return WAHWAH_PLUGIN_SYMBOL;
|
return Symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
TranslatableString EffectWahwah::GetDescription()
|
TranslatableString EffectWahwah::GetDescription()
|
||||||
|
@ -22,8 +22,6 @@ class wxSlider;
|
|||||||
class wxTextCtrl;
|
class wxTextCtrl;
|
||||||
class ShuttleGui;
|
class ShuttleGui;
|
||||||
|
|
||||||
#define WAHWAH_PLUGIN_SYMBOL ComponentInterfaceSymbol{ XO("Wahwah") }
|
|
||||||
|
|
||||||
class EffectWahwahState
|
class EffectWahwahState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -41,6 +39,8 @@ public:
|
|||||||
class EffectWahwah final : public Effect
|
class EffectWahwah final : public Effect
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
static const ComponentInterfaceSymbol Symbol;
|
||||||
|
|
||||||
EffectWahwah();
|
EffectWahwah();
|
||||||
virtual ~EffectWahwah();
|
virtual ~EffectWahwah();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user