Audacity 3.2.0
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
NoiseReduction.cpp File Reference
#include "NoiseReduction.h"
#include "LoadEffects.h"
#include "EffectManager.h"
#include "EffectUI.h"
#include "../ShuttleGui.h"
#include "../widgets/HelpSystem.h"
#include "FFT.h"
#include "Prefs.h"
#include "RealFFTf.h"
#include "../SpectrumTransformer.h"
#include "../WaveTrack.h"
#include "../widgets/AudacityMessageBox.h"
#include "../widgets/valnum.h"
#include <algorithm>
#include <vector>
#include <math.h>
#include <float.h>
#include <wx/button.h>
#include <wx/choice.h>
#include <wx/dialog.h>
#include <wx/radiobut.h>
#include <wx/slider.h>
#include <wx/valtext.h>
#include <wx/textctrl.h>
#include <wx/sizer.h>
Include dependency graph for NoiseReduction.cpp:

Go to the source code of this file.

Classes

struct  anonymous_namespace{NoiseReduction.cpp}::DiscriminationMethodInfo
 
struct  anonymous_namespace{NoiseReduction.cpp}::WindowTypesInfo
 
class  EffectNoiseReduction::Statistics
 
class  EffectNoiseReduction::Settings
 
class  EffectNoiseReduction::Worker
 
struct  EffectNoiseReduction::Worker::MyWindow
 
class  EffectNoiseReduction::Dialog
 Dialog used with EffectNoiseReduction. More...
 
struct  anonymous_namespace{NoiseReduction.cpp}::PrefsTableEntry< StructureType, FieldType >
 
struct  anonymous_namespace{NoiseReduction.cpp}::ControlInfo
 

Namespaces

namespace  anonymous_namespace{NoiseReduction.cpp}
 

Macros

#define finite(x)   _finite(x)
 
#define RESIDUE_CHOICE
 

Typedefs

typedef std::vector< float > FloatVector
 

Enumerations

enum  anonymous_namespace{NoiseReduction.cpp}::DiscriminationMethod : size_t {
  anonymous_namespace{NoiseReduction.cpp}::DM_MEDIAN , anonymous_namespace{NoiseReduction.cpp}::DM_SECOND_GREATEST , anonymous_namespace{NoiseReduction.cpp}::DM_OLD_METHOD , anonymous_namespace{NoiseReduction.cpp}::DM_N_METHODS ,
  anonymous_namespace{NoiseReduction.cpp}::DM_DEFAULT_METHOD = DM_SECOND_GREATEST
}
 
enum  anonymous_namespace{NoiseReduction.cpp}::WindowTypes : unsigned {
  anonymous_namespace{NoiseReduction.cpp}::WT_RECTANGULAR_HANN = 0 , anonymous_namespace{NoiseReduction.cpp}::WT_HANN_RECTANGULAR , anonymous_namespace{NoiseReduction.cpp}::WT_HANN_HANN , anonymous_namespace{NoiseReduction.cpp}::WT_BLACKMAN_HANN ,
  anonymous_namespace{NoiseReduction.cpp}::WT_HAMMING_RECTANGULAR , anonymous_namespace{NoiseReduction.cpp}::WT_HAMMING_HANN , anonymous_namespace{NoiseReduction.cpp}::WT_N_WINDOW_TYPES , anonymous_namespace{NoiseReduction.cpp}::WT_DEFAULT_WINDOW_TYPES = WT_HANN_HANN
}
 
enum  { anonymous_namespace{NoiseReduction.cpp}::DEFAULT_WINDOW_SIZE_CHOICE = 8 , anonymous_namespace{NoiseReduction.cpp}::DEFAULT_STEPS_PER_WINDOW_CHOICE = 1 }
 
enum  anonymous_namespace{NoiseReduction.cpp}::NoiseReductionChoice { anonymous_namespace{NoiseReduction.cpp}::NRC_REDUCE_NOISE , anonymous_namespace{NoiseReduction.cpp}::NRC_ISOLATE_NOISE , anonymous_namespace{NoiseReduction.cpp}::NRC_LEAVE_RESIDUE }
 
enum  {
  ID_BUTTON_GETPROFILE = 10001 , ID_RADIOBUTTON_KEEPSIGNAL , ID_RADIOBUTTON_RESIDUE , ID_GAIN_SLIDER ,
  ID_GAIN_TEXT , ID_NEW_SENSITIVITY_SLIDER , ID_NEW_SENSITIVITY_TEXT , ID_FREQ_SLIDER ,
  ID_FREQ_TEXT , END_OF_BASIC_SLIDERS , END_OF_SLIDERS = END_OF_BASIC_SLIDERS , FIRST_SLIDER = ID_GAIN_SLIDER
}
 

Functions

template<typename StructureType , typename FieldType >
void anonymous_namespace{NoiseReduction.cpp}::readPrefs (StructureType *structure, const wxString &prefix, const PrefsTableEntry< StructureType, FieldType > *fields, size_t numFields)
 
template<typename StructureType , typename FieldType >
void anonymous_namespace{NoiseReduction.cpp}::writePrefs (const StructureType *structure, const wxString &prefix, const PrefsTableEntry< StructureType, FieldType > *fields, size_t numFields)
 
const ControlInfo * anonymous_namespace{NoiseReduction.cpp}::controlInfo ()
 

Variables

const struct anonymous_namespace{NoiseReduction.cpp}::DiscriminationMethodInfo anonymous_namespace{NoiseReduction.cpp}::discriminationMethodInfo [DM_N_METHODS]
 
const float anonymous_namespace{NoiseReduction.cpp}::minSignalTime = 0.05f
 
const struct anonymous_namespace{NoiseReduction.cpp}::WindowTypesInfo anonymous_namespace{NoiseReduction.cpp}::windowTypesInfo [WT_N_WINDOW_TYPES]
 
BuiltinEffectsModule::Registration< EffectNoiseReductionanonymous_namespace{NoiseReduction.cpp}::reg
 

Macro Definition Documentation

◆ finite

#define finite (   x)    _finite(x)

Definition at line 63 of file NoiseReduction.cpp.

◆ RESIDUE_CHOICE

#define RESIDUE_CHOICE

Definition at line 82 of file NoiseReduction.cpp.

Typedef Documentation

◆ FloatVector

typedef std::vector<float> FloatVector

Definition at line 79 of file NoiseReduction.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ID_BUTTON_GETPROFILE 
ID_RADIOBUTTON_KEEPSIGNAL 
ID_RADIOBUTTON_RESIDUE 
ID_GAIN_SLIDER 
ID_GAIN_TEXT 
ID_NEW_SENSITIVITY_SLIDER 
ID_NEW_SENSITIVITY_TEXT 
ID_FREQ_SLIDER 
ID_FREQ_TEXT 
END_OF_BASIC_SLIDERS 
END_OF_SLIDERS 
FIRST_SLIDER 

Definition at line 1161 of file NoiseReduction.cpp.

1161 {
1162 ID_BUTTON_GETPROFILE = 10001,
1164#ifdef ISOLATE_CHOICE
1166#endif
1167#ifdef RESIDUE_CHOICE
1169#endif
1170
1171#ifdef ADVANCED_SETTINGS
1172 ID_CHOICE_METHOD,
1173#endif
1174
1175 // Slider/text pairs
1178
1181
1182#ifdef ATTACK_AND_RELEASE
1183 ID_ATTACK_TIME_SLIDER,
1184 ID_ATTACK_TIME_TEXT,
1185
1186 ID_RELEASE_TIME_SLIDER,
1187 ID_RELEASE_TIME_TEXT,
1188#endif
1189
1192
1194
1195#ifdef ADVANCED_SETTINGS
1196 ID_OLD_SENSITIVITY_SLIDER = END_OF_BASIC_SLIDERS,
1197 ID_OLD_SENSITIVITY_TEXT,
1198
1199 END_OF_ADVANCED_SLIDERS,
1200 END_OF_SLIDERS = END_OF_ADVANCED_SLIDERS,
1201#else
1203#endif
1204
1206};
@ ID_GAIN_TEXT
@ ID_BUTTON_GETPROFILE
@ ID_GAIN_SLIDER
@ ID_NEW_SENSITIVITY_SLIDER
@ ID_FREQ_SLIDER
@ END_OF_SLIDERS
@ END_OF_BASIC_SLIDERS
@ ID_RADIOBUTTON_RESIDUE
@ ID_NEW_SENSITIVITY_TEXT
@ ID_RADIOBUTTON_KEEPSIGNAL
@ FIRST_SLIDER
@ ID_FREQ_TEXT
@ ID_RADIOBUTTON_KEEPNOISE