Audacity  2.2.0
Reverb.cpp File Reference
#include "../Audacity.h"
#include "Reverb.h"
#include <wx/arrstr.h>
#include <wx/intl.h>
#include "../Prefs.h"
#include "../ShuttleGui.h"
#include "../widgets/valnum.h"
#include "Reverb_libSoX.h"

Classes

struct  Reverb_priv_t
 

Macros

#define SpinSliderEvent(n)
 
#define SpinSlider(n, p)
 
#define SetSpinSlider(n)
 
#define SpinSliderHandlers(n)
 

Enumerations

enum  {
  ID_RoomSize = 10000, ID_PreDelay, ID_Reverberance, ID_HfDamping,
  ID_ToneLow, ID_ToneHigh, ID_WetGain, ID_DryGain,
  ID_StereoWidth, ID_WetOnly
}
 

Functions

 Param (RoomSize, double, wxT("RoomSize"), 75, 0, 100, 1)
 
 Param (PreDelay, double, wxT("Delay"), 10, 0, 200, 1)
 
 Param (Reverberance, double, wxT("Reverberance"), 50, 0, 100, 1)
 
 Param (HfDamping, double, wxT("HfDamping"), 50, 0, 100, 1)
 
 Param (ToneLow, double, wxT("ToneLow"), 100, 0, 100, 1)
 
 Param (ToneHigh, double, wxT("ToneHigh"), 100, 0, 100, 1)
 
 Param (WetGain, double, wxT("WetGain"),-1,-20, 10, 1)
 
 Param (DryGain, double, wxT("DryGain"),-1,-20, 10, 1)
 
 Param (StereoWidth, double, wxT("StereoWidth"), 100, 0, 100, 1)
 
 Param (WetOnly, bool, wxT("WetOnly"), false, false, true, 1)
 
 SpinSliderEvent (RoomSize) SpinSliderEvent(PreDelay) SpinSliderEvent(Reverberance) SpinSliderEvent(HfDamping) SpinSliderEvent(ToneLow) SpinSliderEvent(ToneHigh) SpinSliderEvent(WetGain) SpinSliderEvent(DryGain) SpinSliderEvent(StereoWidth) EffectReverb
 
 SpinSliderHandlers (RoomSize) SpinSliderHandlers(PreDelay) SpinSliderHandlers(Reverberance) SpinSliderHandlers(HfDamping) SpinSliderHandlers(ToneLow) SpinSliderHandlers(ToneHigh) SpinSliderHandlers(WetGain) SpinSliderHandlers(DryGain) SpinSliderHandlers(StereoWidth) void EffectReverb
 

Variables

struct {
   const wxChar *   name
 
   EffectReverb::Params   params
 
FactoryPresets []
 
static size_t BLOCK = 16384
 

Macro Definition Documentation

#define SetSpinSlider (   n)
Value:
m ## n ## S->SetValue((int) mParams.m ## n); \
m ## n ## T->SetValue(wxString::Format(wxT("%d"), (int) mParams.m ## n));

Referenced by EffectReverb::TransferDataToWindow().

#define SpinSlider (   n,
 
)
Value:
m ## n ## T = S.Id(ID_ ## n). \
AddSpinCtrl( p, DEF_ ## n, MAX_ ## n, MIN_ ## n); \
S.SetStyle(wxSL_HORIZONTAL); \
m ## n ## S = S.Id(ID_ ## n). \
AddSlider(wxT(""), DEF_ ## n, MAX_ ## n, MIN_ ## n);
#define SpinSliderEvent (   n)
Value:
EVT_SLIDER(ID_ ## n, EffectReverb::On ## n ## Slider) \
EVT_TEXT(ID_ ## n, EffectReverb::On ## n ## Text)
#define SpinSliderHandlers (   n)
Value:
void EffectReverb::On ## n ## Slider(wxCommandEvent & evt) \
{ \
if (mProcessingEvent) return; \
mProcessingEvent = true; \
m ## n ## T->SetValue(wxString::Format(wxT("%d"), evt.GetInt())); \
mProcessingEvent = false; \
} \
void EffectReverb::On ## n ## Text(wxCommandEvent & evt) \
{ \
if (mProcessingEvent) return; \
mProcessingEvent = true; \
m ## n ## S->SetValue(TrapLong(evt.GetInt(), MIN_ ## n, MAX_ ## n)); \
mProcessingEvent = false; \
}

Enumeration Type Documentation

anonymous enum
Enumerator
ID_RoomSize 
ID_PreDelay 
ID_Reverberance 
ID_HfDamping 
ID_ToneLow 
ID_ToneHigh 
ID_WetGain 
ID_DryGain 
ID_StereoWidth 
ID_WetOnly 

Function Documentation

Param ( RoomSize  ,
double  ,
wxT("RoomSize")  ,
75  ,
,
100  ,
 
)
Param ( PreDelay  ,
double  ,
wxT("Delay")  ,
10  ,
,
200  ,
 
)
Param ( Reverberance  ,
double  ,
wxT("Reverberance")  ,
50  ,
,
100  ,
 
)
Param ( HfDamping  ,
double  ,
wxT("HfDamping")  ,
50  ,
,
100  ,
 
)
Param ( ToneLow  ,
double  ,
wxT("ToneLow")  ,
100  ,
,
100  ,
 
)
Param ( ToneHigh  ,
double  ,
wxT("ToneHigh")  ,
100  ,
,
100  ,
 
)
Param ( WetGain  ,
double  ,
wxT("WetGain")  ,
1,
20,
10  ,
 
)
Param ( DryGain  ,
double  ,
wxT("DryGain")  ,
1,
20,
10  ,
 
)
Param ( StereoWidth  ,
double  ,
wxT("StereoWidth")  ,
100  ,
,
100  ,
 
)
Param ( WetOnly  ,
bool  ,
wxT("WetOnly")  ,
false  ,
false  ,
true  ,
 
)
SpinSliderEvent ( RoomSize  )
SpinSliderHandlers ( RoomSize  )

References _(), Effect::mUIDialog, and name.

Variable Documentation

size_t BLOCK = 16384
static
const { ... } FactoryPresets[]
Initial value:
=
{
{ XO("Vocal I" ), { 70, 20, 40, 99, 100, 50, -12, 0, 70, false } },
{ XO("Vocal II"), { 50, 0, 50, 99, 50, 100, -1, -1, 70, false } },
{ XO("Bathroom"), { 16, 8, 80, 0, 0, 100, -6, 0, 100, false } },
{ XO("Small Room Bright"), { 30, 10, 50, 50, 50, 100, -1, -1, 100, false } },
{ XO("Small Room Dark"), { 30, 10, 50, 50, 100, 0, -1, -1, 100, false } },
{ XO("Medium Room"), { 75, 10, 40, 50, 100, 70, -1, -1, 70, false } },
{ XO("Large Room"), { 85, 10, 40, 50, 100, 80, 0, -6, 90, false } },
{ XO("Church Hall"), { 90, 32, 60, 50, 100, 50, 0, -12, 100, false } },
{ XO("Cathedral"), { 90, 16, 90, 50, 100, 0, 0, -20, 100, false } },
}
#define XO(s)
Definition: Audacity.h:225

Referenced by EffectReverb::GetFactoryPresets(), and EffectReverb::LoadFactoryPreset().