LMMS
Loading...
Searching...
No Matches
SampleTrackWindow.h
Go to the documentation of this file.
1/*
2 * SampleTrackWindow.h
3 *
4 * Copyright (c) 2005-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_SAMPLE_TRACK_WINDOW_H
26#define LMMS_GUI_SAMPLE_TRACK_WINDOW_H
27
28#include <QWidget>
29
30#include "ModelView.h"
31#include "SampleTrack.h"
32#include "SerializingObject.h"
33
34class QLineEdit;
35
36namespace lmms::gui
37{
38
40class EffectRackView;
41class Knob;
43class SampleTrackView;
44
45
46class SampleTrackWindow : public QWidget, public ModelView, public SerializingObjectHook
47{
48 Q_OBJECT
49public:
51 ~SampleTrackWindow() override = default;
52
54 {
56 }
57
58 const SampleTrack * model() const
59 {
61 }
62
64
66 {
67 return m_stv;
68 }
69
70
71public slots:
72 void textChanged(const QString & new_name);
73 void toggleVisibility(bool on);
74 void updateName();
75
76
77protected:
78 // capture close-events for toggling sample-track-button
79 void closeEvent(QCloseEvent* ce) override;
80
81 void saveSettings(QDomDocument & doc, QDomElement & element) override;
82 void loadSettings(const QDomElement & element) override;
83
84private:
85 void modelChanged() override;
86
89
90 // widgets on the top of an sample-track-window
91 QLineEdit * m_nameLineEdit;
97
99} ;
100
101
102
103} // namespace lmms::gui
104
105#endif // LMMS_GUI_SAMPLE_TRACK_WINDOW_H
Definition SampleTrack.h:45
SerializingObjectHook()
Definition SerializingObject.h:79
Definition AutomatableButton.h:39
Definition EffectRackView.h:44
Definition Knob.h:47
Definition MixerChannelLcdSpinBox.h:38
ModelView(Model *model, QWidget *widget)
Definition ModelView.cpp:33
T * castModel()
Definition ModelView.h:54
Definition SampleTrackView.h:45
AutomatableButton * m_soloBtn
Definition SampleTrackWindow.h:95
void closeEvent(QCloseEvent *ce) override
Definition SampleTrackWindow.cpp:244
AutomatableButton * m_muteBtn
Definition SampleTrackWindow.h:94
const SampleTrack * model() const
Definition SampleTrackWindow.h:58
void textChanged(const QString &new_name)
Definition SampleTrackWindow.cpp:219
void toggleVisibility(bool on)
Definition SampleTrackWindow.cpp:227
Knob * m_volumeKnob
Definition SampleTrackWindow.h:92
MixerChannelLcdSpinBox * m_mixerChannelNumber
Definition SampleTrackWindow.h:96
SampleTrackWindow(SampleTrackView *stv)
Definition SampleTrackWindow.cpp:50
EffectRackView * m_effectRack
Definition SampleTrackWindow.h:98
QLineEdit * m_nameLineEdit
Definition SampleTrackWindow.h:91
SampleTrack * model()
Definition SampleTrackWindow.h:53
void modelChanged() override
Definition SampleTrackWindow.cpp:186
SampleTrackView * sampleTrackView()
Definition SampleTrackWindow.h:65
void updateName()
Definition SampleTrackWindow.cpp:207
void saveSettings(QDomDocument &doc, QDomElement &element) override
Definition SampleTrackWindow.cpp:252
void setSampleTrackView(SampleTrackView *tv)
Definition SampleTrackWindow.cpp:174
SampleTrack * m_track
Definition SampleTrackWindow.h:87
Knob * m_panningKnob
Definition SampleTrackWindow.h:93
~SampleTrackWindow() override=default
SampleTrackView * m_stv
Definition SampleTrackWindow.h:88
void loadSettings(const QDomElement &element) override
Definition SampleTrackWindow.cpp:259
Definition AudioPortAudio.cpp:223