1 // Copyright 2004 "Gilles Degottex"
3 // This file is part of "fmit"
5 // "fmit" is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
10 // "fmit" is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 #include <Music/CFFTW3.h>
26 // using namespace Music;
32 class GLFT : public QGLWidget, public View
36 virtual void mouseReleaseEvent(QMouseEvent* e){View::mouseReleaseEvent(e);}
37 virtual void mousePressEvent(QMouseEvent* e);
38 virtual void mouseDoubleClickEvent(QMouseEvent* e);
39 virtual void mouseMoveEvent(QMouseEvent* e);
43 vector<double> m_components;
44 double m_components_max;
46 bool m_start_move_mouse;
47 int m_press_x, m_press_y;
48 double m_press_minf, m_press_maxf;
50 double m_minf, m_maxf; // [Hz]
51 double m_minA, m_maxA; // [dB or amplitude depending on ]
56 GLFT(QWidget* parent);
64 void setSamplingRate(int sr);
67 QAction* setting_db_scale;
68 QSpinBox* setting_winlen;
71 void spinWinLengthChanged(int num);
72 void dBScaleChanged(bool db);
75 void resizeGL( int w, int h );