kwave  18.07.70
Kwave::LowPassPlugin Class Reference

#include <LowPassPlugin.h>

Inheritance diagram for Kwave::LowPassPlugin:
Inheritance graph
Collaboration diagram for Kwave::LowPassPlugin:
Collaboration graph

Public Member Functions

 LowPassPlugin (QObject *parent, const QVariantList &args)
 
virtual ~LowPassPlugin () Q_DECL_OVERRIDE
 
virtual Kwave::PluginSetupDialogcreateDialog (QWidget *parent) Q_DECL_OVERRIDE
 
virtual Kwave::SampleSourcecreateFilter (unsigned int tracks) Q_DECL_OVERRIDE
 
virtual bool paramsChanged () Q_DECL_OVERRIDE
 
virtual void updateFilter (Kwave::SampleSource *filter, bool force=false) Q_DECL_OVERRIDE
 
virtual QString actionName () Q_DECL_OVERRIDE
 
- Public Member Functions inherited from Kwave::FilterPlugin
 FilterPlugin (QObject *parent, const QVariantList &args)
 
virtual ~FilterPlugin () Q_DECL_OVERRIDE
 
virtual QStringList * setup (QStringList &previous_params) Q_DECL_OVERRIDE
 
virtual void run (QStringList params) Q_DECL_OVERRIDE
 
virtual QString progressText () Q_DECL_OVERRIDE
 
- Public Member Functions inherited from Kwave::Plugin
 Plugin (QObject *parent, const QVariantList &args)
 
virtual ~Plugin () Q_DECL_OVERRIDE
 
virtual QString name () const
 
virtual QString description () const
 
virtual bool canClose () const
 
bool isRunning () const
 
bool shouldStop () const
 
virtual void load (QStringList &params)
 
virtual void unload ()
 
virtual int start (QStringList &params)
 
virtual int stop ()
 
Kwave::PluginManagermanager () const
 
Kwave::SignalManagersignalManager ()
 
QWidget * parentWidget () const
 
QString signalName ()
 
virtual sample_index_t signalLength ()
 
virtual double signalRate ()
 
virtual const QList< unsigned int > selectedTracks ()
 
virtual sample_index_t selection (QList< unsigned int > *tracks=Q_NULLPTR, sample_index_t *left=Q_NULLPTR, sample_index_t *right=Q_NULLPTR, bool expand_if_empty=false)
 
virtual void selectRange (sample_index_t offset, sample_index_t length)
 
virtual void migrateToActiveContext ()
 
- Public Member Functions inherited from Kwave::Runnable
virtual ~Runnable ()
 

Protected Slots

void setValue (double frequency)
 
- Protected Slots inherited from Kwave::FilterPlugin
void startPreListen ()
 
void stopPreListen ()
 

Protected Member Functions

virtual int interpreteParameters (QStringList &params) Q_DECL_OVERRIDE
 
- Protected Member Functions inherited from Kwave::Plugin
int execute (QStringList &params)
 
void emitCommand (const QString &command)
 
void use ()
 
void setPluginManager (Kwave::PluginManager *new_plugin_manager)
 
virtual void run_wrapper (const QVariant &params) Q_DECL_OVERRIDE
 

Private Attributes

double m_frequency
 
double m_last_freq
 

Additional Inherited Members

- Public Slots inherited from Kwave::Plugin
virtual void setProgressDialogEnabled (bool enable)
 
virtual void updateProgress (qreal progress)
 
virtual void cancel ()
 
virtual void close ()
 
void release ()
 
- Signals inherited from Kwave::FilterPlugin
void sigCancelPressed ()
 
- Signals inherited from Kwave::Plugin
void sigRunning (Kwave::Plugin *plugin)
 
void sigDone (Kwave::Plugin *plugin)
 
void sigClosed (Kwave::Plugin *p)
 
void sigCommand (const QString &command)
 
void setProgressText (const QString &text)
 

Detailed Description

Definition at line 39 of file LowPassPlugin.h.

Constructor & Destructor Documentation

◆ LowPassPlugin()

Kwave::LowPassPlugin::LowPassPlugin ( QObject *  parent,
const QVariantList &  args 
)

Constructor

Parameters
parentreference to our plugin manager
argsargument list [unused]

Definition at line 35 of file LowPassPlugin.cpp.

37  :Kwave::FilterPlugin(parent, args),
38  m_frequency(3500.0), m_last_freq(100)
39 {
40 }

◆ ~LowPassPlugin()

Kwave::LowPassPlugin::~LowPassPlugin ( )
virtual

Destructor

Definition at line 43 of file LowPassPlugin.cpp.

44 {
45 }

Member Function Documentation

◆ actionName()

QString Kwave::LowPassPlugin::actionName ( )
virtual

Returns a verbose name of the performed action. Used for giving the undo action a readable name.

Implements Kwave::FilterPlugin.

Definition at line 107 of file LowPassPlugin.cpp.

108 {
109  return i18n("Low Pass");
110 }

◆ createDialog()

Kwave::PluginSetupDialog * Kwave::LowPassPlugin::createDialog ( QWidget *  parent)
virtual

Creates the setup dialog and connects it's signals

Implements Kwave::FilterPlugin.

Definition at line 65 of file LowPassPlugin.cpp.

References Kwave::connect(), setValue(), and Kwave::Plugin::signalRate().

66 {
67  Kwave::LowPassDialog *dialog =
68  new Kwave::LowPassDialog(parent, signalRate());
69  Q_ASSERT(dialog);
70  if (!dialog) return Q_NULLPTR;
71 
72  // connect the signals for detecting value changes in pre-listen mode
73  connect(dialog, SIGNAL(changed(double)),
74  this, SLOT(setValue(double)));
75 
76  return dialog;
77 }
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)
Definition: Connect.cpp:48
void setValue(double frequency)
virtual double signalRate()
Definition: Plugin.cpp:468
Here is the call graph for this function:

◆ createFilter()

Kwave::SampleSource * Kwave::LowPassPlugin::createFilter ( unsigned int  tracks)
virtual

Creates a multi-track filter with the given number of tracks

Parameters
tracksnumber of tracks that the filter should have
Returns
pointer to the filter or null if failed

Implements Kwave::FilterPlugin.

Definition at line 80 of file LowPassPlugin.cpp.

◆ interpreteParameters()

int Kwave::LowPassPlugin::interpreteParameters ( QStringList &  params)
protectedvirtual

Reads values from the parameter list

Implements Kwave::FilterPlugin.

Definition at line 48 of file LowPassPlugin.cpp.

References m_frequency.

49 {
50  bool ok;
51  QString param;
52 
53  // evaluate the parameter list
54  if (params.count() != 1) return -EINVAL;
55 
56  param = params[0];
57  m_frequency = param.toDouble(&ok);
58  Q_ASSERT(ok);
59  if (!ok) return -EINVAL;
60 
61  return 0;
62 }

◆ paramsChanged()

bool Kwave::LowPassPlugin::paramsChanged ( )
virtual

Returns true if the parameters have changed during pre-listen.

Reimplemented from Kwave::FilterPlugin.

Definition at line 86 of file LowPassPlugin.cpp.

References m_frequency, and m_last_freq.

87 {
88  return (!qFuzzyCompare(m_frequency, m_last_freq));
89 }

◆ setValue

void Kwave::LowPassPlugin::setValue ( double  frequency)
protectedslot

Called when the parameter changed during pre-listen

Parameters
frequencythe frequency parameter in Hz

Definition at line 113 of file LowPassPlugin.cpp.

References m_frequency.

Referenced by createDialog().

114 {
115  m_frequency = frequency;
116 }
Here is the caller graph for this function:

◆ updateFilter()

void Kwave::LowPassPlugin::updateFilter ( Kwave::SampleSource filter,
bool  force = false 
)
virtual

Update the filter with new parameters if it has changed changed during the pre-listen.

Parameters
filterthe Kwave::SampleSource to be updated, should be the same one as created with createFilter()
forceif true, even update if no settings have changed

Reimplemented from Kwave::FilterPlugin.

Definition at line 92 of file LowPassPlugin.cpp.

References m_frequency, m_last_freq, Kwave::StreamObject::setAttribute(), and Kwave::Plugin::signalRate().

94 {
95  double sr = signalRate();
96 
97  if (!filter) return;
98 
99  if (!qFuzzyCompare(m_frequency, m_last_freq) || force)
100  filter->setAttribute(SLOT(setFrequency(QVariant)),
101  QVariant((m_frequency * 2.0 * M_PI) / sr));
102 
104 }
virtual double signalRate()
Definition: Plugin.cpp:468
void setAttribute(const char *attribute, const QVariant &value)
Here is the call graph for this function:

Member Data Documentation

◆ m_frequency

double Kwave::LowPassPlugin::m_frequency
private

cutoff frequency [Hz]

Definition at line 104 of file LowPassPlugin.h.

Referenced by interpreteParameters(), paramsChanged(), setValue(), and updateFilter().

◆ m_last_freq

double Kwave::LowPassPlugin::m_last_freq
private

last value of m_frequency

Definition at line 107 of file LowPassPlugin.h.

Referenced by paramsChanged(), and updateFilter().


The documentation for this class was generated from the following files: