lmms
Cross-platform music production software
Loading...
Searching...
No Matches
TrackOperationsWidget.h
Go to the documentation of this file.
1/*
2 * TrackOperationsWidget.h - declaration of TrackOperationsWidget class
3 *
4 * Copyright (c) 2004-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
5 *
6 * This file is part of LMMS - https://lmms.io
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (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 GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public
19 * License along with this program (see COPYING); if not, write to the
20 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA.
22 *
23 */
24
25#ifndef LMMS_GUI_TRACK_OPERATIONS_WIDGET_H
26#define LMMS_GUI_TRACK_OPERATIONS_WIDGET_H
27
28#include <QWidget>
29
30class QPushButton;
31
32namespace lmms::gui
33{
34
36class TrackGrip;
37class TrackView;
38
40class TrackOperationsWidget : public QWidget
41{
42 Q_OBJECT
43public:
44
48
49 ~TrackOperationsWidget() override = default;
50
51 TrackGrip* getTrackGrip() const { return m_trackGrip; }
52
53protected:
57 void paintEvent(QPaintEvent* pe) override;
58
60 bool confirmRemoval();
61
62
63private slots:
64 void cloneTrack();
65 void removeTrack();
66
73 void updateMenu();
74
75 void selectTrackColor();
77 void resetTrackColor();
78 void resetClipColors();
79 void toggleRecording(bool on);
80 void recordingOn();
81 void recordingOff();
82 void clearTrack();
83
84private:
86
88 QPushButton * m_trackOps;
91
92 friend class TrackView;
93
94signals:
96};
97
98
99} // namespace lmms::gui
100
101#endif // LMMS_GUI_TRACK_OPERATIONS_WIDGET_H
Definition AutomatableButton.h:39
Definition TrackGrip.h:42
void toggleRecording(bool on)
Definition TrackOperationsWidget.cpp:286
TrackGrip * getTrackGrip() const
Definition TrackOperationsWidget.h:51
friend class TrackView
Definition TrackOperationsWidget.h:92
void recordingOff()
Definition TrackOperationsWidget.cpp:307
TrackView * m_trackView
Definition TrackOperationsWidget.h:85
void selectTrackColor()
Definition TrackOperationsWidget.cpp:200
~TrackOperationsWidget() override=default
void paintEvent(QPaintEvent *pe) override
Repaint the trackOperationsWidget.
Definition TrackOperationsWidget.cpp:116
TrackOperationsWidget(TrackView *parent)
Create a new TrackOperationsWidget.
Definition TrackOperationsWidget.cpp:55
AutomatableButton * m_soloBtn
Definition TrackOperationsWidget.h:90
void trackRemovalScheduled(lmms::gui::TrackView *t)
void updateMenu()
Update the trackOperationsWidget context menu.
Definition TrackOperationsWidget.cpp:243
bool confirmRemoval()
Show a message box warning the user that this track is about to be closed.
Definition TrackOperationsWidget.cpp:124
void cloneTrack()
Clone this track.
Definition TrackOperationsWidget.cpp:159
void randomizeTrackColor()
Definition TrackOperationsWidget.cpp:222
TrackGrip * m_trackGrip
Definition TrackOperationsWidget.h:87
QPushButton * m_trackOps
Definition TrackOperationsWidget.h:88
AutomatableButton * m_muteBtn
Definition TrackOperationsWidget.h:89
void recordingOn()
Definition TrackOperationsWidget.cpp:301
void clearTrack()
Clears all Clips from the track.
Definition TrackOperationsWidget.cpp:182
void resetTrackColor()
Definition TrackOperationsWidget.cpp:214
void resetClipColors()
Definition TrackOperationsWidget.cpp:231
void removeTrack()
Remove this track from the track list.
Definition TrackOperationsWidget.cpp:192
Definition TrackView.h:60
Definition AudioPortAudio.cpp:209