![]() |
Audacity 3.2.0
|
An Effect that applies 'classical' IIR filters. More...
#include <ScienFilter.h>
Public Member Functions | |
EffectScienFilter () | |
virtual | ~EffectScienFilter () |
ComponentInterfaceSymbol | GetSymbol () const override |
TranslatableString | GetDescription () const override |
ManualPageID | ManualPage () const override |
Name of a page in the Audacity alpha manual, default is empty. More... | |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap) override |
size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override |
Called for destructive effect computation. More... | |
bool | Init () override |
std::unique_ptr< EffectEditor > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override |
Add controls to effect panel; always succeeds. More... | |
bool | TransferDataToWindow (const EffectSettings &settings) override |
bool | TransferDataFromWindow (EffectSettings &settings) override |
![]() | |
~StatefulPerTrackEffect () override | |
std::shared_ptr< EffectInstance > | MakeInstance () const override |
Make an object maintaining short-term state of an Effect. More... | |
size_t | SetBlockSize (size_t maxBlockSize) override |
size_t | GetBlockSize () const override |
bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap=nullptr) override |
bool | ProcessFinalize () noexcept override |
virtual size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen)=0 |
Called for destructive effect computation. More... | |
![]() | |
virtual bool | Init () |
virtual bool | Process (EffectInstance &instance, EffectSettings &settings)=0 |
virtual bool | RealtimeInitialize (EffectSettings &settings, double sampleRate) |
virtual bool | RealtimeAddProcessor (EffectSettings &settings, EffectOutputs *pOutputs, unsigned numChannels, float sampleRate) |
virtual bool | RealtimeSuspend () |
virtual bool | RealtimeResume () |
virtual bool | RealtimeProcessStart (MessagePackage &package) |
settings are possibly changed, since last call, by an asynchronous dialog More... | |
virtual size_t | RealtimeProcess (size_t group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples) |
virtual bool | RealtimeProcessEnd (EffectSettings &settings) noexcept |
settings can be updated to let a dialog change appearance at idle More... | |
virtual bool | RealtimeFinalize (EffectSettings &settings) noexcept |
virtual size_t | SetBlockSize (size_t maxBlockSize) |
virtual size_t | GetBlockSize () const |
virtual unsigned | GetAudioInCount () const |
How many input buffers to allocate at once. More... | |
virtual unsigned | GetAudioOutCount () const |
How many output buffers to allocate at once. More... | |
virtual sampleCount | GetLatency () const |
virtual bool | NeedsDither () const |
virtual bool | ProcessInitialize (EffectSettings &settings, double sampleRate, ChannelNames chanMap=nullptr) |
virtual bool | ProcessFinalize () noexcept |
![]() | |
~PerTrackEffect () override | |
![]() | |
Effect () | |
virtual | ~Effect () |
PluginPath | GetPath () const override |
bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) override |
bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const override |
ComponentInterfaceSymbol | GetSymbol () const override |
VendorSymbol | GetVendor () const override |
wxString | GetVersion () const override |
TranslatableString | GetDescription () const override |
EffectFamilySymbol | GetFamily () const override |
Report identifier and user-visible name of the effect protocol. More... | |
bool | IsInteractive () const override |
Whether the effect needs a dialog for entry of settings. More... | |
bool | IsDefault () const override |
Whether the effect sorts "above the line" in the menus. More... | |
RealtimeSince | RealtimeSupport () const override |
Since which version of Audacity has the effect supported realtime? More... | |
bool | SupportsAutomation () const override |
Whether the effect has any automatable controls. More... | |
bool | SaveSettings (const EffectSettings &settings, CommandParameters &parms) const override |
Store settings as keys and values. More... | |
bool | LoadSettings (const CommandParameters &parms, EffectSettings &settings) const override |
Restore settings from keys and values. More... | |
OptionalMessage | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const override |
bool | SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const override |
Save settings in the configuration file as a user-named preset. More... | |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
OptionalMessage | LoadFactoryPreset (int id, EffectSettings &settings) const override |
OptionalMessage | LoadFactoryDefaults (EffectSettings &settings) const override |
virtual const EffectParameterMethods & | Parameters () const |
bool | CanExportPresets () const override |
Whether the effect supports export of presets to files, and importing too. More... | |
bool | HasOptions () const override |
const EffectSettingsManager & | GetDefinition () const override |
virtual NumericFormatID | GetSelectionFormat () |
bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const override |
OptionalMessage | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const override |
bool | IsBatchProcessing () const override |
void | SetBatchProcessing () override |
void | UnsetBatchProcessing () override |
unsigned | TestUIFlags (unsigned mask) |
bool | Delegate (Effect &delegate, EffectSettings &settings, InstanceFinder finder={}) |
Re-invoke DoEffect on another Effect object that implements the work. More... | |
![]() | |
EffectBase () | |
~EffectBase () override | |
bool | IsLinearEffect () const |
bool | PreviewsFullSelection () const |
void | SetTracks (TrackList *pTracks) |
virtual std::any | BeginPreview (const EffectSettings &settings) |
Called when Preview() starts, to allow temporary effect state changes. More... | |
bool | DoEffect (EffectSettings &settings, const InstanceFinder &finder, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, const EffectSettingsAccessPtr &pAccess) override |
virtual double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const =0 |
void | CountWaveTracks () |
![]() | |
EffectPlugin & | operator= (EffectPlugin &)=delete |
virtual | ~EffectPlugin () |
virtual bool | HasOptions () const =0 |
virtual bool | CanExportPresets () const =0 |
Whether the effect supports export of presets to files, and importing too. More... | |
virtual const EffectSettingsManager & | GetDefinition () const =0 |
virtual bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const =0 |
virtual OptionalMessage | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const =0 |
virtual bool | IsBatchProcessing () const =0 |
virtual void | SetBatchProcessing ()=0 |
virtual void | UnsetBatchProcessing ()=0 |
virtual bool | DoEffect (EffectSettings &settings, const InstanceFinder &finder, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, const EffectSettingsAccessPtr &pAccess=nullptr)=0 |
![]() | |
virtual | ~EffectInstanceFactory () |
virtual std::shared_ptr< EffectInstance > | MakeInstance () const =0 |
Make an object maintaining short-term state of an Effect. More... | |
![]() | |
virtual | ~EffectSettingsManager () |
virtual bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) |
virtual bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const |
virtual EffectSettings | MakeSettings () const |
virtual bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const |
Update one settings object from another. More... | |
virtual std::unique_ptr< EffectOutputs > | MakeOutputs () const |
Produce an object to hold values to send to effect output meters. More... | |
![]() | |
virtual | ~EffectDefinitionInterface () |
virtual EffectType | GetType () const =0 |
Type determines how it behaves. More... | |
virtual EffectType | GetClassification () const |
Determines which menu it appears in; default same as GetType(). More... | |
virtual EffectFamilySymbol | GetFamily () const =0 |
Report identifier and user-visible name of the effect protocol. More... | |
virtual bool | IsInteractive () const =0 |
Whether the effect needs a dialog for entry of settings. More... | |
virtual bool | IsDefault () const =0 |
Whether the effect sorts "above the line" in the menus. More... | |
virtual RealtimeSince | RealtimeSupport () const =0 |
Since which version of Audacity has the effect supported realtime? More... | |
bool | SupportsRealtime () const |
virtual bool | SupportsAutomation () const =0 |
Whether the effect has any automatable controls. More... | |
virtual bool | EnablesDebug () const |
Whether the effect dialog should have a Debug button; default, always false. More... | |
virtual ManualPageID | ManualPage () const |
Name of a page in the Audacity alpha manual, default is empty. More... | |
virtual FilePath | HelpPage () const |
Fully qualified local help file name, default is empty. More... | |
virtual bool | IsHiddenFromMenus () const |
Default is false. More... | |
![]() | |
virtual | ~ComponentInterface () |
virtual PluginPath | GetPath () const =0 |
virtual ComponentInterfaceSymbol | GetSymbol () const =0 |
virtual VendorSymbol | GetVendor () const =0 |
virtual wxString | GetVersion () const =0 |
virtual TranslatableString | GetDescription () const =0 |
TranslatableString | GetName () const |
![]() | |
~StatefulEffectUIServices () override | |
std::unique_ptr< EffectEditor > | PopulateUI (const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const override |
Allows PopulateOrExchange to return null. More... | |
virtual std::unique_ptr< EffectEditor > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) |
Add controls to effect panel; always succeeds. More... | |
virtual bool | TransferDataToWindow (const EffectSettings &settings) |
virtual bool | TransferDataFromWindow (EffectSettings &settings) |
![]() | |
int | ShowClientInterface (const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal) const override |
void | ExportPresets (const EffectPlugin &plugin, const EffectSettings &settings) const override |
OptionalMessage | ImportPresets (const EffectPlugin &plugin, EffectSettings &settings) const override |
void | ShowOptions (const EffectPlugin &plugin) const override |
bool | ValidateUI (const EffectPlugin &context, EffectSettings &) const override |
bool | CloseUI () const override |
![]() | |
virtual | ~EffectUIServices () |
virtual int | ShowHostInterface (EffectBase &plugin, wxWindow &parent, const EffectDialogFactory &factory, std::shared_ptr< EffectInstance > &pInstance, EffectSettingsAccess &access, bool forceModal=false) |
virtual int | ShowClientInterface (const EffectPlugin &plugin, wxWindow &parent, wxDialog &dialog, EffectEditor *pEditor, bool forceModal=false) const =0 |
virtual std::unique_ptr< EffectEditor > | PopulateUI (const EffectPlugin &plugin, ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) const =0 |
Adds controls to a panel that is given as the parent window of S More... | |
virtual void | ExportPresets (const EffectPlugin &plugin, const EffectSettings &settings) const =0 |
virtual OptionalMessage | ImportPresets (const EffectPlugin &plugin, EffectSettings &settings) const =0 |
virtual void | ShowOptions (const EffectPlugin &plugin) const =0 |
virtual bool | ValidateUI (const EffectPlugin &context, EffectSettings &settings) const =0 |
virtual bool | CloseUI () const =0 |
Static Public Member Functions | |
static EffectScienFilter * | FetchParameters (EffectScienFilter &e, EffectSettings &) |
![]() | |
static Effect * | FetchParameters (Effect &e, EffectSettings &) |
![]() | |
static std::optional< InstancePointer > | FindInstance (EffectPlugin &plugin) |
static InstanceFinder | DefaultInstanceFinder (EffectPlugin &plugin) |
![]() | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
![]() | |
static int | DoMessageBox (const EffectPlugin &plugin, const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={}) |
Static Public Attributes | |
static const ComponentInterfaceSymbol | Symbol { XO("Classic Filters") } |
![]() | |
static const wxString | kUserPresetIdent = wxT("User Preset:") |
static const wxString | kFactoryPresetIdent = wxT("Factory Preset:") |
static const wxString | kCurrentSettingsIdent = wxT("<Current Settings>") |
static const wxString | kFactoryDefaultsIdent = wxT("<Factory Defaults>") |
Private Types | |
enum | kSubTypes { kLowPass = Biquad::kLowPass , kHighPass = Biquad::kHighPass , nSubTypes = Biquad::nSubTypes } |
enum | kTypes { kButterworth , kChebyshevTypeI , kChebyshevTypeII , nTypes } |
Private Member Functions | |
bool | TransferGraphLimitsFromWindow () |
void | CalcFilter () |
float | FilterMagnAtFreq (float Freq) |
void | EnableDisableRippleCtl (int FilterType) |
void | OnSize (wxSizeEvent &evt) |
void | OnSlider (wxCommandEvent &evt) |
void | OnOrder (wxCommandEvent &evt) |
void | OnCutoff (wxCommandEvent &evt) |
void | OnRipple (wxCommandEvent &evt) |
void | OnStopbandRipple (wxCommandEvent &evt) |
void | OnFilterType (wxCommandEvent &evt) |
void | OnFilterSubtype (wxCommandEvent &evt) |
void | OnSliderDBMAX (wxCommandEvent &evt) |
void | OnSliderDBMIN (wxCommandEvent &evt) |
const EffectParameterMethods & | Parameters () const override |
Private Attributes | |
wxWeakRef< wxWindow > | mUIParent {} |
float | mCutoff |
float | mRipple |
float | mStopbandRipple |
int | mFilterType |
int | mFilterSubtype |
int | mOrder |
int | mOrderIndex |
ArrayOf< Biquad > | mpBiquad |
double | mdBMax |
double | mdBMin |
bool | mEditingBatchParams |
double | mLoFreq |
double | mNyquist |
EffectScienFilterPanel * | mPanel |
wxSlider * | mdBMinSlider |
wxSlider * | mdBMaxSlider |
wxStaticText * | mRippleCtlP |
wxTextCtrl * | mRippleCtl |
wxStaticText * | mRippleCtlU |
wxTextCtrl * | mCutoffCtl |
wxStaticText * | mStopbandRippleCtlP |
wxTextCtrl * | mStopbandRippleCtl |
wxStaticText * | mStopbandRippleCtlU |
wxChoice * | mFilterTypeCtl |
wxChoice * | mFilterSubTypeCtl |
wxChoice * | mFilterOrderCtl |
RulerPanel * | mdBRuler |
RulerPanel * | mfreqRuler |
Static Private Attributes | |
static const EnumValueSymbol | kSubTypeStrings [nSubTypes] |
static const EnumValueSymbol | kTypeStrings [nTypes] |
static constexpr EnumParameter | Type |
static constexpr EnumParameter | Subtype |
static constexpr EffectParameter | Order |
static constexpr EffectParameter | Cutoff |
static constexpr EffectParameter | Passband |
static constexpr EffectParameter | Stopband |
Friends | |
class | EffectScienFilterPanel |
Additional Inherited Members | |
![]() | |
using | MessagePackage = EffectInstance::MessagePackage |
![]() | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
using | InstancePointer = std::shared_ptr< EffectInstanceEx > |
using | InstanceFinder = std::function< std::optional< InstancePointer >(EffectSettings &settings) > |
![]() | |
enum class | RealtimeSince : unsigned { Never , After_3_1 , Always } |
In which versions of Audacity was an effect realtime capable? More... | |
![]() | |
enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } |
![]() | |
std::shared_ptr< TrackList > | mTracks {} |
int | mNumTracks {} |
BasicUI::ProgressDialog * | mProgress {} |
double | mProjectRate {} |
WaveTrackFactory * | mFactory {} |
double | mT0 {} |
double | mT1 {} |
bool | mIsPreview { false } |
![]() | |
bool | DoPass1 () const |
bool | DoPass2 () const |
bool | Process (EffectInstance &instance, EffectSettings &settings) const |
std::shared_ptr< EffectOutputTracks > | MakeOutputTracks () |
void | DestroyOutputTracks () const |
![]() | |
bool | CheckWhetherSkipEffect (const EffectSettings &settings) const override |
Default implementation returns false. More... | |
double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const override |
Default implementation returns previewLength More... | |
bool | TotalProgress (double frac, const TranslatableString &={}) const |
bool | TrackProgress (int whichTrack, double frac, const TranslatableString &={}) const |
bool | TrackGroupProgress (int whichGroup, double frac, const TranslatableString &={}) const |
int | GetNumWaveTracks () const |
int | GetNumWaveGroups () const |
void | GetBounds (const WaveTrack &track, sampleCount *start, sampleCount *len) |
![]() | |
virtual bool | CheckWhetherSkipEffect (const EffectSettings &settings) const =0 |
After Init(), tell whether Process() should be skipped. More... | |
void | SetLinearEffectFlag (bool linearEffectFlag) |
void | SetPreviewFullSelectionFlag (bool previewDurationFlag) |
bool | IsPreviewing () const |
const TrackList * | inputTracks () const |
const AudacityProject * | FindProject () const |
![]() | |
sampleCount | mSampleCnt {} |
![]() | |
wxArrayString | mPresetNames |
unsigned | mUIFlags { 0 } |
An Effect that applies 'classical' IIR filters.
Performs IIR filtering that emulates analog filters, specifically Butterworth, Chebyshev Type I and Type II. Highpass and lowpass filters are supported, as are filter orders from 1 to 10.
The filter is applied using biquads
Definition at line 35 of file ScienFilter.h.
|
private |
|
private |
Enumerator | |
---|---|
kButterworth | |
kChebyshevTypeI | |
kChebyshevTypeII | |
nTypes |
Definition at line 145 of file ScienFilter.h.
EffectScienFilter::EffectScienFilter | ( | ) |
Definition at line 146 of file ScienFilter.cpp.
Referenced by Parameters().
|
virtual |
Definition at line 160 of file ScienFilter.cpp.
|
private |
Definition at line 517 of file ScienFilter.cpp.
References Biquad::CalcButterworthFilter(), Biquad::CalcChebyshevType1Filter(), Biquad::CalcChebyshevType2Filter(), kButterworth, kChebyshevTypeI, kChebyshevTypeII, mCutoff, mFilterSubtype, mFilterType, mNyquist, mOrder, mpBiquad, mRipple, and mStopbandRipple.
Referenced by TransferDataFromWindow().
|
private |
Definition at line 674 of file ScienFilter.cpp.
References kButterworth, kChebyshevTypeI, mRippleCtl, mRippleCtlP, mRippleCtlU, mStopbandRippleCtl, mStopbandRippleCtlP, and mStopbandRippleCtlU.
Referenced by OnFilterType(), and TransferDataToWindow().
|
inlinestatic |
Definition at line 39 of file ScienFilter.h.
|
private |
Definition at line 533 of file ScienFilter.cpp.
References Biquad::ChebyPoly(), kButterworth, kChebyshevTypeI, kChebyshevTypeII, kHighPass, kLowPass, mCutoff, mFilterSubtype, mFilterType, mNyquist, mOrder, mRipple, mStopbandRipple, PI, staffpad::audio::simd::sqrt(), and square.
Referenced by EffectScienFilterPanel::OnPaint().
|
overridevirtual |
How many input buffers to allocate at once.
If the instance processes channels independently, this can return 1 The result is not necessarily well defined before RealtimeInitialize
Default implementation returns 0
Reimplemented from StatefulEffectBase.
Definition at line 190 of file ScienFilter.cpp.
|
overridevirtual |
How many output buffers to allocate at once.
The result is not necessarily well defined before RealtimeInitialize
Default implementation returns 0
Reimplemented from StatefulEffectBase.
Definition at line 195 of file ScienFilter.cpp.
|
overridevirtual |
Implements ComponentInterface.
Definition at line 171 of file ScienFilter.cpp.
References XO().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 166 of file ScienFilter.cpp.
References Symbol.
|
overridevirtual |
Type determines how it behaves.
Implements EffectDefinitionInterface.
Definition at line 185 of file ScienFilter.cpp.
References EffectTypeProcess.
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 223 of file ScienFilter.cpp.
References EffectUIServices::DoMessageBox(), EffectBase::inputTracks(), mNyquist, EffectBase::mProjectRate, TrackList::Selected(), and XO().
|
overridevirtual |
Name of a page in the Audacity alpha manual, default is empty.
Reimplemented from EffectDefinitionInterface.
Definition at line 177 of file ScienFilter.cpp.
|
private |
Definition at line 623 of file ScienFilter.cpp.
References EffectEditor::EnableApply(), mPanel, and mUIParent.
|
private |
Definition at line 617 of file ScienFilter.cpp.
References mFilterSubtype, mFilterSubTypeCtl, and mPanel.
|
private |
Definition at line 610 of file ScienFilter.cpp.
References EnableDisableRippleCtl(), mFilterType, mFilterTypeCtl, and mPanel.
|
private |
Definition at line 603 of file ScienFilter.cpp.
References mFilterOrderCtl, mOrder, mOrderIndex, and mPanel.
|
private |
Definition at line 634 of file ScienFilter.cpp.
References EffectEditor::EnableApply(), mPanel, and mUIParent.
|
private |
Definition at line 666 of file ScienFilter.cpp.
References mUIParent.
|
private |
|
private |
Definition at line 661 of file ScienFilter.cpp.
References TransferGraphLimitsFromWindow().
|
private |
Definition at line 656 of file ScienFilter.cpp.
References TransferGraphLimitsFromWindow().
|
private |
Definition at line 645 of file ScienFilter.cpp.
References EffectEditor::EnableApply(), mPanel, and mUIParent.
|
overrideprivatevirtual |
Reimplemented from Effect.
Definition at line 104 of file ScienFilter.cpp.
References Cutoff, EffectScienFilter(), Order, Passband, Stopband, Subtype, and Type.
|
overridevirtual |
Add controls to effect panel; always succeeds.
Reimplemented from StatefulEffectUIServices.
Definition at line 256 of file ScienFilter.cpp.
References Cutoff, EffectScienFilterPanel, RulerPanel::Options::Flip(), TranslatableString::Format(), ID_Cutoff, ID_dBMax, ID_dBMin, ID_Order, ID_Ripple, ID_StopbandRipple, ID_SubType, ID_Type, IntFormat::Instance(), LinearDBFormat::Instance(), kSubTypeStrings, kTypeStrings, RulerPanel::Options::LabelEdges(), RulerPanel::Options::Log(), EffectParameter< Structure, Member, Type, Value >::max, mCutoff, mCutoffCtl, mdBMaxSlider, mdBMinSlider, mdBRuler, mFilterOrderCtl, mFilterSubtype, mFilterSubTypeCtl, mFilterType, mFilterTypeCtl, mfreqRuler, EffectParameter< Structure, Member, Type, Value >::min, mLoFreq, mNyquist, mOrderIndex, mPanel, mRipple, mRippleCtl, mRippleCtlP, mRippleCtlU, Msgids(), mStopbandRipple, mStopbandRippleCtl, mStopbandRippleCtlP, mStopbandRippleCtlU, mUIParent, nSubTypes, nTypes, Passband, S, safenew, Stopband, Verbatim(), XO(), and XXO().
|
overridevirtual |
Called for destructive effect computation.
Implements StatefulPerTrackEffect.
Definition at line 208 of file ScienFilter.cpp.
|
overridevirtual |
Called at start of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true
chanMap | null or array terminated with ChannelNameEOL. Do not retain the pointer |
GetAudioInCount()
and GetAudioOutCount()
are well defined Reimplemented from StatefulEffectBase.
Definition at line 200 of file ScienFilter.cpp.
|
overridevirtual |
Update the given settings from controls; default does nothing, returns true
Reimplemented from StatefulEffectUIServices.
Definition at line 452 of file ScienFilter.cpp.
References CalcFilter(), mOrder, mOrderIndex, and mUIParent.
|
overridevirtual |
Update controls for the settings; default does nothing, returns true
Reimplemented from StatefulEffectUIServices.
Definition at line 432 of file ScienFilter.cpp.
References EnableDisableRippleCtl(), mdBMax, mdBMaxSlider, mdBMin, mdBMinSlider, mFilterType, mOrder, mOrderIndex, mUIParent, and TransferGraphLimitsFromWindow().
|
private |
Definition at line 471 of file ScienFilter.cpp.
References _, Ruler::GetMaxSize(), mdBMax, mdBMaxSlider, mdBMin, mdBMinSlider, mdBRuler, mfreqRuler, mPanel, mUIParent, RulerPanel::ruler, EffectScienFilterPanel::SetDbRange(), and Ruler::SetRange().
Referenced by OnSliderDBMAX(), OnSliderDBMIN(), and TransferDataToWindow().
|
friend |
Definition at line 135 of file ScienFilter.h.
Referenced by PopulateOrExchange().
|
staticconstexprprivate |
Definition at line 162 of file ScienFilter.h.
Referenced by Parameters(), and PopulateOrExchange().
|
staticprivate |
Definition at line 143 of file ScienFilter.h.
Referenced by PopulateOrExchange().
|
staticprivate |
Definition at line 152 of file ScienFilter.h.
Referenced by PopulateOrExchange().
|
private |
Definition at line 95 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), and PopulateOrExchange().
|
private |
Definition at line 119 of file ScienFilter.h.
Referenced by PopulateOrExchange().
|
private |
Definition at line 104 of file ScienFilter.h.
Referenced by TransferDataToWindow(), and TransferGraphLimitsFromWindow().
|
private |
Definition at line 113 of file ScienFilter.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), and TransferGraphLimitsFromWindow().
|
private |
Definition at line 105 of file ScienFilter.h.
Referenced by TransferDataToWindow(), and TransferGraphLimitsFromWindow().
|
private |
Definition at line 112 of file ScienFilter.h.
Referenced by PopulateOrExchange(), TransferDataToWindow(), and TransferGraphLimitsFromWindow().
|
private |
Definition at line 129 of file ScienFilter.h.
Referenced by EffectScienFilterPanel::OnPaint(), PopulateOrExchange(), and TransferGraphLimitsFromWindow().
|
private |
Definition at line 106 of file ScienFilter.h.
|
private |
Definition at line 127 of file ScienFilter.h.
Referenced by OnOrder(), and PopulateOrExchange().
|
private |
Definition at line 99 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), OnFilterSubtype(), and PopulateOrExchange().
|
private |
Definition at line 126 of file ScienFilter.h.
Referenced by OnFilterSubtype(), and PopulateOrExchange().
|
private |
Definition at line 98 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), OnFilterType(), PopulateOrExchange(), and TransferDataToWindow().
|
private |
Definition at line 125 of file ScienFilter.h.
Referenced by OnFilterType(), and PopulateOrExchange().
|
private |
Definition at line 130 of file ScienFilter.h.
Referenced by EffectScienFilterPanel::OnPaint(), PopulateOrExchange(), and TransferGraphLimitsFromWindow().
|
private |
Definition at line 108 of file ScienFilter.h.
Referenced by PopulateOrExchange().
|
private |
Definition at line 109 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), Init(), and PopulateOrExchange().
|
private |
Definition at line 100 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), OnOrder(), ProcessBlock(), ProcessInitialize(), TransferDataFromWindow(), and TransferDataToWindow().
|
private |
Definition at line 101 of file ScienFilter.h.
Referenced by OnOrder(), PopulateOrExchange(), TransferDataFromWindow(), and TransferDataToWindow().
|
private |
Definition at line 111 of file ScienFilter.h.
Referenced by OnCutoff(), OnFilterSubtype(), OnFilterType(), OnOrder(), OnRipple(), OnStopbandRipple(), PopulateOrExchange(), and TransferGraphLimitsFromWindow().
Definition at line 102 of file ScienFilter.h.
Referenced by CalcFilter(), ProcessBlock(), and ProcessInitialize().
|
private |
Definition at line 96 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), and PopulateOrExchange().
|
private |
Definition at line 116 of file ScienFilter.h.
Referenced by EnableDisableRippleCtl(), and PopulateOrExchange().
|
private |
Definition at line 115 of file ScienFilter.h.
Referenced by EnableDisableRippleCtl(), and PopulateOrExchange().
|
private |
Definition at line 117 of file ScienFilter.h.
Referenced by EnableDisableRippleCtl(), and PopulateOrExchange().
|
private |
Definition at line 97 of file ScienFilter.h.
Referenced by CalcFilter(), FilterMagnAtFreq(), and PopulateOrExchange().
|
private |
Definition at line 122 of file ScienFilter.h.
Referenced by EnableDisableRippleCtl(), and PopulateOrExchange().
|
private |
Definition at line 121 of file ScienFilter.h.
Referenced by EnableDisableRippleCtl(), and PopulateOrExchange().
|
private |
Definition at line 123 of file ScienFilter.h.
Referenced by EnableDisableRippleCtl(), and PopulateOrExchange().
|
private |
Definition at line 93 of file ScienFilter.h.
Referenced by OnCutoff(), OnRipple(), OnSize(), OnStopbandRipple(), PopulateOrExchange(), TransferDataFromWindow(), TransferDataToWindow(), and TransferGraphLimitsFromWindow().
|
staticconstexprprivate |
Definition at line 160 of file ScienFilter.h.
Referenced by Parameters().
|
staticconstexprprivate |
Definition at line 164 of file ScienFilter.h.
Referenced by Parameters(), and PopulateOrExchange().
|
staticconstexprprivate |
Definition at line 166 of file ScienFilter.h.
Referenced by Parameters(), and PopulateOrExchange().
|
staticconstexprprivate |
|
static |
Definition at line 40 of file ScienFilter.h.
Referenced by GetSymbol().
|
staticconstexprprivate |