mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-09 14:43:57 +01:00
Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the Audio Units, LADSPA, and VST effects. All effects now share a common UI. This gives all effects (though not implemented for all): User and factory preset capability Preset import/export capability Shared or private configuration options Builtin effects can now be migrated to RTP, depending on algorithm. LV2 effects now support graphical interfaces if the plugin supplies one. Nyquist prompt enhanced to provide some features of the Nyquist Workbench. It may not look like it, but this was a LOT of work, so trust me, there WILL be problems and everything effect related should be suspect. Keep a sharp eye (or two) open.
This commit is contained in:
@@ -39,6 +39,9 @@
|
||||
*//*******************************************************************/
|
||||
|
||||
#include "../Audacity.h"
|
||||
#include "../Experimental.h"
|
||||
|
||||
#if !defined(EXPERIMENTAL_NOISE_REDUCTION)
|
||||
|
||||
#include "NoiseRemoval.h"
|
||||
|
||||
@@ -108,6 +111,32 @@ EffectNoiseRemoval::~EffectNoiseRemoval()
|
||||
delete [] mNoiseThreshold;
|
||||
}
|
||||
|
||||
// IdentInterface implementation
|
||||
|
||||
wxString EffectNoiseRemoval::GetSymbol()
|
||||
{
|
||||
return wxTRANSLATE("Noise Removal");
|
||||
}
|
||||
|
||||
wxString EffectNoiseRemoval::GetDescription()
|
||||
{
|
||||
return wxTRANSLATE("Removes constant background noise such as fans, tape noise, or hums");
|
||||
}
|
||||
|
||||
// EffectIdentInterface implementation
|
||||
|
||||
EffectType EffectNoiseRemoval::GetType()
|
||||
{
|
||||
return EffectTypeProcess;
|
||||
}
|
||||
|
||||
bool EffectNoiseRemoval::SupportsAutomation()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Effect implementation
|
||||
|
||||
#define MAX_NOISE_LEVEL 30
|
||||
bool EffectNoiseRemoval::Init()
|
||||
{
|
||||
@@ -121,8 +150,7 @@ bool EffectNoiseRemoval::Init()
|
||||
|
||||
bool EffectNoiseRemoval::CheckWhetherSkipEffect()
|
||||
{
|
||||
bool rc = (mLevel == 0);
|
||||
return rc;
|
||||
return (mLevel == 0);
|
||||
}
|
||||
|
||||
bool EffectNoiseRemoval::PromptUser()
|
||||
@@ -174,14 +202,6 @@ bool EffectNoiseRemoval::PromptUser()
|
||||
return gPrefs->Flush();
|
||||
}
|
||||
|
||||
bool EffectNoiseRemoval::TransferParameters( Shuttle & WXUNUSED(shuttle) )
|
||||
{
|
||||
//shuttle.TransferDouble(wxT("Gain"), mNoiseGain, 0.0);
|
||||
//shuttle.TransferDouble(wxT("Freq"), mFreqSmoothingHz, 0.0);
|
||||
//shuttle.TransferDouble(wxT("Time"), mAttackDecayTime, 0.0);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool EffectNoiseRemoval::Process()
|
||||
{
|
||||
Initialize();
|
||||
@@ -866,3 +886,5 @@ void NoiseRemovalDialog::OnTimeSlider(wxCommandEvent & WXUNUSED(event))
|
||||
mTime = mTimeS->GetValue() / (TIME_MAX*1.0);
|
||||
mTimeT->SetValue(wxString::Format(wxT("%.2f"), mTime));
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user