hydrogen 1.2.6
LadspaFXProperties.h
Go to the documentation of this file.
1/*
2 * Hydrogen
3 * Copyright(c) 2002-2008 by Alex >Comix< Cominu [comix@users.sourceforge.net]
4 * Copyright(c) 2008-2025 The hydrogen development team [hydrogen-devel@lists.sourceforge.net]
5 *
6 * http://www.hydrogen-music.org
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY, without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see https://www.gnu.org/licenses
20 *
21 */
22
23#ifndef LADSPA_FX_PROPERTIES_H
24#define LADSPA_FX_PROPERTIES_H
25
26#include <vector>
27
28#include <QtGui>
29#include <QtWidgets>
30
31#include <core/Object.h>
32
33class Fader;
34class LCDDisplay;
36class WidgetWithInput;
37
39class LadspaFXProperties : public QWidget, public H2Core::Object<LadspaFXProperties> {
41 Q_OBJECT
42
43 public:
44 LadspaFXProperties(QWidget* parent, uint nLadspaFX);
46
47 void updateControls();
48
49 virtual void showEvent ( QShowEvent *ev ) override;
50 virtual void closeEvent( QCloseEvent *ev ) override;
51
52 public slots:
53 void faderChanged( WidgetWithInput* ref );
54 void selectFXBtnClicked();
55 void removeFXBtnClicked();
56 void activateBtnClicked();
58
59 private:
61
62 QLabel *m_pNameLbl;
63
64 std::vector<Fader*> m_pInputControlFaders;
65 std::vector<InstrumentNameWidget*> m_pInputControlNames;
66 std::vector<LCDDisplay*> m_pInputControlLabel;
67
68 std::vector<Fader*> m_pOutputControlFaders;
69 std::vector<InstrumentNameWidget*> m_pOutputControlNames;
70
71 QScrollArea* m_pScrollArea;
72 QFrame* m_pFrame;
73
74 QPushButton *m_pSelectFXBtn;
75 QPushButton *m_pActivateBtn;
76 QPushButton *m_pRemoveFXBtn;
77
78 QTimer* m_pTimer;
79};
80
81#endif
82
#define H2_OBJECT(name)
Definition Object.h:227
Custom fader widget.
Definition Fader.h:44
Non-interactive display used for both numerical values and the status display.
Definition LCDDisplay.h:40
LadspaFXProperties(QWidget *parent, uint nLadspaFX)
std::vector< Fader * > m_pOutputControlFaders
std::vector< Fader * > m_pInputControlFaders
QPushButton * m_pActivateBtn
QScrollArea * m_pScrollArea
void faderChanged(WidgetWithInput *ref)
virtual void closeEvent(QCloseEvent *ev) override
std::vector< InstrumentNameWidget * > m_pInputControlNames
QPushButton * m_pRemoveFXBtn
virtual void showEvent(QShowEvent *ev) override
std::vector< InstrumentNameWidget * > m_pOutputControlNames
QPushButton * m_pSelectFXBtn
std::vector< LCDDisplay * > m_pInputControlLabel
Base class for active user input widget, which are not based on a high-level Qt widget.