LMMS
Loading...
Searching...
No Matches
GuiApplication.h
Go to the documentation of this file.
1/*
2 * GuiApplication.h
3 *
4 * Copyright (c) 2014 Lukas W <lukaswhl/at/gmail.com>
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_GUI_APPLICATION_H
26#define LMMS_GUI_GUI_APPLICATION_H
27
28#include <QObject>
29
30#include "lmms_export.h"
31#include "lmmsconfig.h"
32
33class QLabel;
34class QSocketNotifier;
35
36namespace lmms::gui
37{
38
41class MixerView;
42class MainWindow;
45class PianoRollWindow;
46class ProjectNotes;
48
49class LMMS_EXPORT GuiApplication : public QObject
50{
51 Q_OBJECT;
52public:
53 explicit GuiApplication();
54 ~GuiApplication() override;
55
56 static GuiApplication* instance();
57 static void sigintHandler(int);
58 static bool isWayland();
59#ifdef LMMS_BUILD_WIN32
60 static QFont getWin32SystemFont();
61#endif
62
64
74
76 static inline int s_sigintFd[2];
77
78public slots:
79 void displayInitProgress(const QString &msg);
80
81private slots:
82 void childDestroyed(QObject *obj);
83 void sigintOccurred();
84
85private:
87
98 QSocketNotifier* m_sigintNotifier;
99};
100
101// Short-hand function
102LMMS_EXPORT GuiApplication* getGUI();
103
104} // namespace lmms::gui
105
106#endif // LMMS_GUI_GUI_APPLICATION_H
Definition AutomationEditor.h:307
Definition ControllerRackView.h:48
Definition GuiApplication.h:50
PatternEditorWindow * m_patternEditor
Definition GuiApplication.h:92
void displayInitProgress(const QString &msg)
Definition GuiApplication.cpp:207
static int s_sigintFd[2]
File descriptors for unix socketpair, used to receive SIGINT.
Definition GuiApplication.h:76
SongEditorWindow * m_songEditor
Definition GuiApplication.h:90
ProjectNotes * getProjectNotes()
Definition GuiApplication.h:70
AutomationEditorWindow * automationEditor()
Definition GuiApplication.h:72
static GuiApplication * s_instance
Definition GuiApplication.h:86
GuiApplication()
Definition GuiApplication.cpp:89
PianoRollWindow * m_pianoRoll
Definition GuiApplication.h:93
MicrotunerConfig * getMicrotunerConfig()
Definition GuiApplication.h:71
PianoRollWindow * pianoRoll()
Definition GuiApplication.h:69
MainWindow * mainWindow()
Definition GuiApplication.h:65
ControllerRackView * m_controllerRackView
Definition GuiApplication.h:96
QSocketNotifier * m_sigintNotifier
Definition GuiApplication.h:98
void createSocketNotifier()
Definition GuiApplication.cpp:278
static void sigintHandler(int)
Called from main when SIGINT is fired.
Definition GuiApplication.cpp:266
void sigintOccurred()
Definition GuiApplication.cpp:296
MixerView * mixerView()
Definition GuiApplication.h:66
static bool isWayland()
Definition GuiApplication.cpp:82
QLabel * m_loadingProgressLabel
Definition GuiApplication.h:97
SongEditorWindow * songEditor()
Definition GuiApplication.h:67
ControllerRackView * getControllerRackView()
Definition GuiApplication.h:73
static GuiApplication * instance()
Definition GuiApplication.cpp:77
AutomationEditorWindow * m_automationEditor
Definition GuiApplication.h:91
MicrotunerConfig * m_microtunerConfig
Definition GuiApplication.h:95
void childDestroyed(QObject *obj)
Definition GuiApplication.cpp:217
ProjectNotes * m_projectNotes
Definition GuiApplication.h:94
MainWindow * m_mainWindow
Definition GuiApplication.h:88
PatternEditorWindow * patternEditor()
Definition GuiApplication.h:68
MixerView * m_mixerView
Definition GuiApplication.h:89
Definition MainWindow.h:52
Definition MicrotunerConfig.h:42
Definition MixerView.h:52
Definition PatternEditor.h:84
Definition PianoRoll.h:556
Definition ProjectNotes.h:42
Definition SongEditor.h:178
const char * msg
Definition missing_descriptor.c:20
Definition AudioPortAudio.cpp:223
GuiApplication * getGUI()
Definition GuiApplication.cpp:69