LMMS
Loading...
Searching...
No Matches
EffectView.h
Go to the documentation of this file.
1/*
2 * EffectView.h - view-component for an effect
3 *
4 * Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
5 * Copyright (c) 2007-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
6 *
7 * This file is part of LMMS - https://lmms.io
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program (see COPYING); if not, write to the
21 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301 USA.
23 *
24 */
25
26#ifndef LMMS_GUI_EFFECT_VIEW_H
27#define LMMS_GUI_EFFECT_VIEW_H
28
29#include "AutomatableModel.h"
30#include "PluginView.h"
31#include "Effect.h"
32
33class QGraphicsOpacityEffect;
34class QGroupBox;
35class QLabel;
36class QPushButton;
37class QMdiSubWindow;
38
39namespace lmms::gui
40{
41
43class Knob;
44class LedCheckBox;
45class TempoSyncKnob;
46
47
48class EffectView : public PluginView
49{
50 Q_OBJECT
51public:
52 EffectView( Effect * _model, QWidget * _parent );
53 ~EffectView() override;
54
55 inline Effect * effect()
56 {
57 return castModel<Effect>();
58 }
59 inline const Effect * effect() const
60 {
61 return castModel<Effect>();
62 }
63
64 static constexpr int DEFAULT_WIDTH = 215;
65 static constexpr int DEFAULT_HEIGHT = 60;
66
67 void mouseMoveEvent(QMouseEvent* event) override;
68 void mousePressEvent(QMouseEvent* event) override;
69 void mouseReleaseEvent(QMouseEvent* event) override;
70
71public slots:
72 void editControls();
73 void moveUp();
74 void moveDown();
75 void deletePlugin();
76
77signals:
78 void movedUp(EffectView* view);
79 void movedDown(EffectView* view);
81
82protected:
83 void contextMenuEvent( QContextMenuEvent * _me ) override;
84 void paintEvent( QPaintEvent * _pe ) override;
85 void modelChanged() override;
86
87
88private:
89 QPixmap m_bg;
93 QMdiSubWindow * m_subWindow;
95
97 QGraphicsOpacityEffect* m_opacityEffect;
98
99} ;
100
101
102} // namespace lmms::gui
103
104#endif // LMMS_GUI_EFFECT_VIEW_H
Definition Effect.h:53
Definition EffectControlDialog.h:42
~EffectView() override
Definition EffectView.cpp:109
static constexpr int DEFAULT_HEIGHT
Definition EffectView.h:65
QGraphicsOpacityEffect * m_opacityEffect
Definition EffectView.h:97
Knob * m_wetDry
Definition EffectView.h:91
void mouseMoveEvent(QMouseEvent *event) override
Definition EffectView.cpp:204
EffectView(Effect *_model, QWidget *_parent)
Definition EffectView.cpp:48
void mouseReleaseEvent(QMouseEvent *event) override
Definition EffectView.cpp:193
QPixmap m_bg
Definition EffectView.h:89
void deletePlugin()
Definition EffectView.cpp:153
EffectControlDialog * m_controlView
Definition EffectView.h:94
void moveUp()
Definition EffectView.cpp:138
QMdiSubWindow * m_subWindow
Definition EffectView.h:93
void moveDown()
Definition EffectView.cpp:146
void modelChanged() override
Definition EffectView.cpp:239
TempoSyncKnob * m_autoQuit
Definition EffectView.h:92
void movedUp(EffectView *view)
void movedDown(EffectView *view)
bool m_dragging
Definition EffectView.h:96
const Effect * effect() const
Definition EffectView.h:59
static constexpr int DEFAULT_WIDTH
Definition EffectView.h:64
LedCheckBox * m_bypass
Definition EffectView.h:90
void deletedPlugin(EffectView *view)
void paintEvent(QPaintEvent *_pe) override
Definition EffectView.cpp:219
Effect * effect()
Definition EffectView.h:55
void contextMenuEvent(QContextMenuEvent *_me) override
Definition EffectView.cpp:161
void mousePressEvent(QMouseEvent *event) override
Definition EffectView.cpp:181
void editControls()
Definition EffectView.cpp:117
Definition Knob.h:47
Definition LedCheckBox.h:37
T * castModel()
Definition ModelView.h:54
PluginView(Plugin *_plugin, QWidget *_parent)
Definition PluginView.h:38
Definition TempoSyncKnob.h:41
Definition AudioPortAudio.cpp:223