LMMS
Loading...
Searching...
No Matches
SetupDialog.h
Go to the documentation of this file.
1/*
2 * SetupDialog.h - dialog for setting up LMMS
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_SETUP_DIALOG_H
26#define LMMS_GUI_SETUP_DIALOG_H
27
28#include <QDialog>
29#include <QMap>
30
31#include "AudioDevice.h"
33#include "MidiClient.h"
34#include "MidiSetupWidget.h"
35
36
37class QCheckBox;
38class QComboBox;
39class QLabel;
40class QLineEdit;
41class QSlider;
42
43
44namespace lmms::gui
45{
46
47
48class TabBar;
49
50class SetupDialog : public QDialog
51{
52 Q_OBJECT
53
54public:
63
65 ~SetupDialog() override;
66
67
68protected slots:
69 void accept() override;
70
71
72private slots:
73 // General settings widget.
74 void toggleTooltips(bool enabled);
75 void toggleDisplayWaveform(bool enabled);
76 void toggleNoteLabels(bool enabled);
77 void toggleShowFaderTicks(bool enabled);
78 void toggleCompactTrackButtons(bool enabled);
79 void toggleOneInstrumentTrackWindow(bool enabled);
80 void toggleSideBarOnRight(bool enabled);
81 void toggleLetPreviewsFinish(bool enabled);
82 void toggleSoloLegacyBehavior(bool enabled);
83 void toggleTrackDeletionWarning(bool enabled);
84 void toggleMixerChannelDeletionWarning(bool enabled);
85 void toggleMMPZ(bool enabled);
86 void toggleDisableBackup(bool enabled);
87 void toggleOpenLastProject(bool enabled);
90 void setLanguage(int lang);
91
92 // Performance settings widget.
93 void setAutoSaveInterval(int time);
94 void resetAutoSave();
95 void toggleAutoSave(bool enabled);
96 void toggleRunningAutoSave(bool enabled);
97 void toggleSmoothScroll(bool enabled);
98 void toggleAnimateAFP(bool enabled);
100 void toggleVSTAlwaysOnTop(bool en);
101 void toggleDisableAutoQuit(bool enabled);
102
103 // Audio settings widget.
104 void audioInterfaceChanged(const QString & driver);
106 void setBufferSize(int value);
107 void resetBufferSize();
108
109 // MIDI settings widget.
110 void midiInterfaceChanged(const QString & driver);
111 void toggleMidiAutoQuantization(bool enabled);
112
113 // Paths settings widget.
114 void openWorkingDir();
115 void setWorkingDir(const QString & workingDir);
116 void openVSTDir();
117 void setVSTDir(const QString & vstDir);
118 void openLADSPADir();
119 void setLADSPADir(const QString & ladspaDir);
120 void openSF2Dir();
121 void setSF2Dir(const QString & sf2Dir);
122 void openSF2File();
123 void setSF2File(const QString & sf2File);
124 void openGIGDir();
125 void setGIGDir(const QString & gigDir);
126 void openThemeDir();
127 void setThemeDir(const QString & themeDir);
129 void setBackgroundPicFile(const QString & backgroundPicFile);
130
131 void showRestartWarning();
132
133private:
135
136 // General settings widgets.
148 bool m_MMPZ;
157 QString m_lang;
158 QStringList m_languages;
159
160 // Performance settings widgets.
166 QCheckBox * m_autoSave;
167 QCheckBox * m_runningAutoSave;
176
177 using AswMap = QMap<QString, AudioDeviceSetupWidget*>;
178 using MswMap = QMap<QString, MidiSetupWidget*>;
179 using trMap = QMap<QString, QString>;
180
181 // Audio settings widgets.
182 QComboBox * m_audioInterfaces;
192
193 // MIDI settings widgets.
194 QComboBox * m_midiInterfaces;
199
200 // Paths settings widgets.
202 QString m_vstDir;
203 QString m_ladspaDir;
204 QString m_gigDir;
205 QString m_sf2Dir;
206#ifdef LMMS_HAVE_FLUIDSYNTH
207 QString m_sf2File;
208#endif
209 QString m_themeDir;
211
213 QLineEdit * m_vstDirLineEdit;
216 QLineEdit * m_gigDirLineEdit;
217 QLineEdit * m_sf2DirLineEdit;
218#ifdef LMMS_HAVE_FLUIDSYNTH
219 QLineEdit * m_sf2FileLineEdit;
220#endif
222
224};
225
226
227} // namespace lmms::gui
228
229#endif // LMMS_GUI_SETUP_DIALOG_H
void toggleDisplayWaveform(bool enabled)
Definition SetupDialog.cpp:1080
QCheckBox * m_autoSave
Definition SetupDialog.h:166
void setSF2File(const QString &sf2File)
Definition SetupDialog.cpp:1420
QLabel * m_saveIntervalLbl
Definition SetupDialog.h:165
void loopMarkerModeChanged()
Definition SetupDialog.cpp:1155
void toggleVSTAlwaysOnTop(bool en)
Definition SetupDialog.cpp:1229
QLineEdit * m_vstDirLineEdit
Definition SetupDialog.h:213
void openSF2Dir()
Definition SetupDialog.cpp:1389
trMap m_midiIfaceNames
Definition SetupDialog.h:196
QComboBox * m_autoScrollComboBox
Definition SetupDialog.h:156
void setWorkingDir(const QString &workingDir)
Definition SetupDialog.cpp:1341
void resetBufferSize()
Definition SetupDialog.cpp:1303
void showRestartWarning()
Definition SetupDialog.cpp:1499
QString m_sf2Dir
Definition SetupDialog.h:205
QString m_lang
Definition SetupDialog.h:157
void toggleSoloLegacyBehavior(bool enabled)
Definition SetupDialog.cpp:1167
QLineEdit * m_backgroundPicFileLineEdit
Definition SetupDialog.h:221
QCheckBox * m_vstAlwaysOnTopCheckBox
Definition SetupDialog.h:173
QString m_ladspaDir
Definition SetupDialog.h:203
QLineEdit * m_sf2FileLineEdit
Definition SetupDialog.h:219
QMap< QString, QString > trMap
Definition SetupDialog.h:179
bool m_compactTrackButtons
Definition SetupDialog.h:141
void toggleSideBarOnRight(bool enabled)
Definition SetupDialog.cpp:1108
void setThemeDir(const QString &themeDir)
Definition SetupDialog.cpp:1456
void toggleMixerChannelDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1125
void updateBufferSizeWarning(int value)
Definition SetupDialog.cpp:1252
void setBufferSize(int value)
Definition SetupDialog.cpp:1274
bool m_NaNHandler
Definition SetupDialog.h:185
QLabel * m_bufferSizeLbl
Definition SetupDialog.h:188
bool m_soloLegacyBehavior
Definition SetupDialog.h:145
bool m_tooltips
Definition SetupDialog.h:137
QComboBox * m_assignableMidiDevices
Definition SetupDialog.h:197
bool m_printNoteLabels
Definition SetupDialog.h:139
QLineEdit * m_ladspaDirLineEdit
Definition SetupDialog.h:215
void openThemeDir()
Definition SetupDialog.cpp:1445
void toggleMidiAutoQuantization(bool enabled)
Definition SetupDialog.cpp:1322
bool m_oneInstrumentTrackWindow
Definition SetupDialog.h:142
int m_sampleRate
Definition SetupDialog.h:190
void toggleTooltips(bool enabled)
Definition SetupDialog.cpp:1074
bool m_disableBackup
Definition SetupDialog.h:149
bool m_MMPZ
Definition SetupDialog.h:148
void setSF2Dir(const QString &sf2Dir)
Definition SetupDialog.cpp:1400
AswMap m_audioIfaceSetupWidgets
Definition SetupDialog.h:183
bool m_letPreviewsFinish
Definition SetupDialog.h:144
QComboBox * m_audioInterfaces
Definition SetupDialog.h:182
bool m_enableRunningAutoSave
Definition SetupDialog.h:163
QString m_backgroundPicFile
Definition SetupDialog.h:210
void toggleAutoSave(bool enabled)
Definition SetupDialog.cpp:1187
void resetAutoSave()
Definition SetupDialog.cpp:1202
bool m_trackDeletionWarning
Definition SetupDialog.h:146
bool m_vstAlwaysOnTop
Definition SetupDialog.h:174
QString m_themeDir
Definition SetupDialog.h:209
void setLanguage(int lang)
Definition SetupDialog.cpp:1161
QString m_vstEmbedMethod
Definition SetupDialog.h:172
bool m_displayWaveform
Definition SetupDialog.h:138
bool m_enableAutoSave
Definition SetupDialog.h:162
QString m_autoScroll
Definition SetupDialog.h:155
ConfigTab
Definition SetupDialog.h:56
@ MidiSettings
Definition SetupDialog.h:60
@ GeneralSettings
Definition SetupDialog.h:57
@ PathsSettings
Definition SetupDialog.h:61
@ AudioSettings
Definition SetupDialog.h:59
@ PerformanceSettings
Definition SetupDialog.h:58
QLabel * restartWarningLbl
Definition SetupDialog.h:223
QLineEdit * m_gigDirLineEdit
Definition SetupDialog.h:216
SetupDialog(ConfigTab tab_to_open=ConfigTab::GeneralSettings)
Definition SetupDialog.cpp:93
void toggleLetPreviewsFinish(bool enabled)
Definition SetupDialog.cpp:1114
void detachBehaviorChanged()
Definition SetupDialog.cpp:1149
void toggleCompactTrackButtons(bool enabled)
Definition SetupDialog.cpp:1096
QComboBox * m_midiInterfaces
Definition SetupDialog.h:194
QLineEdit * m_themeDirLineEdit
Definition SetupDialog.h:214
QSlider * m_saveIntervalSlider
Definition SetupDialog.h:164
QString m_loopMarkerMode
Definition SetupDialog.h:153
void setGIGDir(const QString &gigDir)
Definition SetupDialog.cpp:1439
QLineEdit * m_workingDirLineEdit
Definition SetupDialog.h:212
void toggleNoteLabels(bool enabled)
Definition SetupDialog.cpp:1086
void toggleRunningAutoSave(bool enabled)
Definition SetupDialog.cpp:1196
void toggleMMPZ(bool enabled)
Definition SetupDialog.cpp:1131
int m_saveInterval
Definition SetupDialog.h:161
bool m_smoothScroll
Definition SetupDialog.h:168
bool m_sideBarOnRight
Definition SetupDialog.h:143
void midiInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1311
void accept() override
Definition SetupDialog.cpp:973
void toggleSmoothScroll(bool enabled)
Definition SetupDialog.cpp:1210
QString m_workingDir
Definition SetupDialog.h:201
void toggleDisableBackup(bool enabled)
Definition SetupDialog.cpp:1137
void openGIGDir()
Definition SetupDialog.cpp:1428
QLabel * m_bufferSizeWarnLbl
Definition SetupDialog.h:189
void toggleShowFaderTicks(bool enabled)
Definition SetupDialog.cpp:1091
QSlider * m_bufferSizeSlider
Definition SetupDialog.h:187
void setAutoSaveInterval(int time)
Definition SetupDialog.cpp:1175
void openBackgroundPicFile()
Definition SetupDialog.cpp:1462
void openVSTDir()
Definition SetupDialog.cpp:1347
int m_bufferSize
Definition SetupDialog.h:186
void toggleAnimateAFP(bool enabled)
Definition SetupDialog.cpp:1216
~SetupDialog() override
Definition SetupDialog.cpp:965
bool m_animateAFP
Definition SetupDialog.h:169
void toggleDisableAutoQuit(bool enabled)
Definition SetupDialog.cpp:1235
bool m_midiAutoQuantize
Definition SetupDialog.h:198
void audioInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1240
bool m_disableAutoQuit
Definition SetupDialog.h:175
void toggleOneInstrumentTrackWindow(bool enabled)
Definition SetupDialog.cpp:1102
QSlider * m_sampleRateSlider
Definition SetupDialog.h:191
QStringList m_languages
Definition SetupDialog.h:158
QString m_gigDir
Definition SetupDialog.h:204
QComboBox * m_vstEmbedComboBox
Definition SetupDialog.h:171
QString m_sf2File
Definition SetupDialog.h:207
bool m_openLastProject
Definition SetupDialog.h:150
void openSF2File()
Definition SetupDialog.cpp:1406
void openLADSPADir()
Definition SetupDialog.cpp:1364
QLabel * m_vstEmbedLbl
Definition SetupDialog.h:170
void toggleTrackDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1120
void setBackgroundPicFile(const QString &backgroundPicFile)
Definition SetupDialog.cpp:1491
MswMap m_midiIfaceSetupWidgets
Definition SetupDialog.h:195
QMap< QString, MidiSetupWidget * > MswMap
Definition SetupDialog.h:178
QMap< QString, AudioDeviceSetupWidget * > AswMap
Definition SetupDialog.h:177
QComboBox * m_detachBehaviorComboBox
Definition SetupDialog.h:152
QComboBox * m_loopMarkerComboBox
Definition SetupDialog.h:154
void setLADSPADir(const QString &ladspaDir)
Definition SetupDialog.cpp:1383
void setVSTDir(const QString &vstDir)
Definition SetupDialog.cpp:1358
trMap m_audioIfaceNames
Definition SetupDialog.h:184
QCheckBox * m_runningAutoSave
Definition SetupDialog.h:167
bool m_mixerChannelDeletionWarning
Definition SetupDialog.h:147
void openWorkingDir()
Definition SetupDialog.cpp:1330
void vstEmbedMethodChanged()
Definition SetupDialog.cpp:1222
TabBar * m_tabBar
Definition SetupDialog.h:134
QLineEdit * m_sf2DirLineEdit
Definition SetupDialog.h:217
QString m_vstDir
Definition SetupDialog.h:202
QString m_detachBehavior
Definition SetupDialog.h:151
bool m_showFaderTicks
Definition SetupDialog.h:140
void toggleOpenLastProject(bool enabled)
Definition SetupDialog.cpp:1143
Definition TabBar.h:43
static PuglViewHint int value
Definition pugl.h:1708
Definition AudioPortAudio.cpp:223