lmms
Cross-platform music production software
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
64 static void sigintHandler(int);
65
66 static bool isWayland();
67#ifdef LMMS_BUILD_WIN32
69 static QFont getWin32SystemFont();
70#endif
71
73
83
85 static inline int s_sigintFd[2];
86
87public slots:
88 void displayInitProgress(const QString &msg);
89
90private slots:
91 void childDestroyed(QObject *obj);
92 void sigintOccurred();
93
94private:
96
107 QSocketNotifier* m_sigintNotifier;
108};
109
110// Short-hand function
111LMMS_EXPORT GuiApplication* getGUI();
112
113} // namespace lmms::gui
114
115#endif // LMMS_GUI_GUI_APPLICATION_H
Definition AutomationEditor.h:317
Definition ControllerRackView.h:48
Definition GuiApplication.h:50
PatternEditorWindow * m_patternEditor
Definition GuiApplication.h:101
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:85
SongEditorWindow * m_songEditor
Definition GuiApplication.h:99
ProjectNotes * getProjectNotes()
Definition GuiApplication.h:79
AutomationEditorWindow * automationEditor()
Definition GuiApplication.h:81
static GuiApplication * s_instance
Definition GuiApplication.h:95
GuiApplication()
Definition GuiApplication.cpp:89
PianoRollWindow * m_pianoRoll
Definition GuiApplication.h:102
MicrotunerConfig * getMicrotunerConfig()
Definition GuiApplication.h:80
PianoRollWindow * pianoRoll()
Definition GuiApplication.h:78
MainWindow * mainWindow()
Definition GuiApplication.h:74
ControllerRackView * m_controllerRackView
Definition GuiApplication.h:105
QSocketNotifier * m_sigintNotifier
Definition GuiApplication.h:107
void createSocketNotifier()
Definition GuiApplication.cpp:271
static void sigintHandler(int)
Called from main when SIGINT is fired.
Definition GuiApplication.cpp:259
void sigintOccurred()
Definition GuiApplication.cpp:289
MixerView * mixerView()
Definition GuiApplication.h:75
static bool isWayland()
Definition GuiApplication.cpp:82
QLabel * m_loadingProgressLabel
Definition GuiApplication.h:106
SongEditorWindow * songEditor()
Definition GuiApplication.h:76
ControllerRackView * getControllerRackView()
Definition GuiApplication.h:82
static GuiApplication * instance()
Definition GuiApplication.cpp:77
AutomationEditorWindow * m_automationEditor
Definition GuiApplication.h:100
MicrotunerConfig * m_microtunerConfig
Definition GuiApplication.h:104
void childDestroyed(QObject *obj)
Definition GuiApplication.cpp:217
ProjectNotes * m_projectNotes
Definition GuiApplication.h:103
MainWindow * m_mainWindow
Definition GuiApplication.h:97
PatternEditorWindow * patternEditor()
Definition GuiApplication.h:77
MixerView * m_mixerView
Definition GuiApplication.h:98
Definition MainWindow.h:52
Definition MicrotunerConfig.h:42
Definition MixerView.h:52
Definition PatternEditor.h:84
Definition PianoRoll.h:563
Definition ProjectNotes.h:42
Definition SongEditor.h:184
Definition AudioPortAudio.cpp:209
GuiApplication * getGUI()
Definition GuiApplication.cpp:69