1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
/***************************************************************************
BandPassDialog.h - dialog for the "band_pass" plugin
-------------------
begin : Tue Jun 24 2003
copyright : (C) 2003 by Dave Flogeras
email : d.flogeras@unb.ca
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef NOTCH_FILTER_DIALOG_H
#define NOTCH_FILTER_DIALOG_H
#include "config.h"
#include <QDialog>
#include <QObject>
#include <QString>
#include <QStringList>
#include "libkwave/PluginSetupDialog.h"
#include "ui_BandPassDlg.h"
class QWidget;
namespace Kwave
{
class BandPass;
class BandPassDialog: public QDialog,
public Kwave::PluginSetupDialog,
public Ui::BandPassDlg
{
Q_OBJECT
public:
/**
* Constructor.
* @param parent parent widget
* @param sample_rate sample rate of the audio data to be processed,
* needed for determining the allowed range of
* the cutoff frequency
*/
BandPassDialog(QWidget *parent, double sample_rate);
/** Destructor */
~BandPassDialog() override;
/** Returns the parameters as string list */
QStringList params() override;
/** Sets the from a list of parameters */
void setParams(QStringList ¶ms) override;
/** retruns a pointer to this as a QDialog */
QDialog *dialog() override { return this; }
signals:
/**
* Emitted whenever the frequency changes
* @param freq the frequency parameter in Hz
*/
void freqChanged(double freq);
/**
* emitted whenever the bandwidth setting has changed
* @param bw bandwith parameter [0 .. 1.0]
*/
void bwChanged(double bw);
/** Pre-listen mode has been started */
void startPreListen();
/** Pre-listen mode has been stopped */
void stopPreListen();
protected slots:
/** called when the freq spinbox or slider value has changed */
void freqValueChanged(int pos);
/** called when the bw spinbox or slider value has changed */
void bwValueChanged(int pos);
/**
* called when the "Listen" button has been toggled,
* to start or stop the pre-listen mode
*/
void listenToggled(bool listen);
/**
* called when the pre-listen mode stopped/aborted
*/
void listenStopped();
private slots:
/** invoke the online help */
void invokeHelp();
protected:
/** Update the graphic display */
void updateDisplay();
private:
/** the cutoff frequency in Hz */
double m_frequency;
/** the bw in Hz */
double m_bw;
/** sample rate of the signal in samples/sec */
double m_sample_rate;
/** filter function for calculating the frequency response */
Kwave::BandPass *m_filter;
};
}
#endif /* NOTCH_FILTER_DIALOG_H */
//***************************************************************************
//***************************************************************************
|