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 136
|
/***************************************************************************
PitchShiftDialog.h - dialog for the "pitch_shift" plugin
-------------------
begin : Sun Mar 23 2003
copyright : (C) 2003 by Thomas Eschenbacher
email : Thomas.Eschenbacher@gmx.de
***************************************************************************/
/***************************************************************************
* *
* 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 PITCH_SHIFT_DIALOG_H
#define PITCH_SHIFT_DIALOG_H
#include "config.h"
#include <QDialog>
#include <QObject>
#include <QString>
#include "libkwave/PluginSetupDialog.h"
#include "ui_PitchShiftDlg.h"
namespace Kwave
{
class PitchShiftDialog: public QDialog,
public Ui::PitchShiftDlg,
public Kwave::PluginSetupDialog
{
Q_OBJECT
public:
/** Constructor */
explicit PitchShiftDialog(QWidget *parent);
/** Destructor */
~PitchShiftDialog() 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 speed or the frequency changes
* @param speed the speed factor, floating point
* @param freq the frequency parameter in Hz
*/
void changed(double speed, double freq);
/** Pre-listen mode has been started */
void startPreListen();
/** Pre-listen mode has been stopped */
void stopPreListen();
protected slots:
/** called when the mode radio buttons changed */
void modeChanged(bool);
/** called when the speed slider's position has changed */
void sliderChanged(int pos);
/** called when the spped spinbox value has changed */
void spinboxChanged(int pos);
/** called if the frequency sbinbox value has changed */
void frequencyChanged(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:
/**
* Mode for amplification selection
* by factor (x1, x2, x5,...) or by percentage
*/
typedef enum {
MODE_FACTOR = 0,
MODE_PERCENT = 1
} Mode;
/** Sets a new volume selection mode */
void setMode(Mode mode);
/** Update the speed slider position and the speed spinbox value */
void updateSpeed(double speed);
private:
/** speed factor */
double m_speed;
/** base frequency, @see aRts documentation */
double m_frequency;
/** mode for selecting speed (factor or percentage) */
Mode m_mode;
/** if false, ignore the signals of slider and spinbox */
bool m_enable_updates;
};
}
#endif /* PITCH_SHIFT_DIALOG_H */
//***************************************************************************
//***************************************************************************
|