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 void toggleMixSanitization(bool enabled);
103
104 // Audio settings widget.
105 void audioInterfaceChanged(const QString & driver);
107 void setBufferSize(int value);
108 void resetBufferSize();
109
110 // MIDI settings widget.
111 void midiInterfaceChanged(const QString & driver);
112 void toggleMidiAutoQuantization(bool enabled);
113
114 // Paths settings widget.
115 void openWorkingDir();
116 void setWorkingDir(const QString & workingDir);
117 void openVSTDir();
118 void setVSTDir(const QString & vstDir);
119 void openLADSPADir();
120 void setLADSPADir(const QString & ladspaDir);
121 void openSF2Dir();
122 void setSF2Dir(const QString & sf2Dir);
123 void openSF2File();
124 void setSF2File(const QString & sf2File);
125 void openGIGDir();
126 void setGIGDir(const QString & gigDir);
127 void openThemeDir();
128 void setThemeDir(const QString & themeDir);
130 void setBackgroundPicFile(const QString & backgroundPicFile);
131
132 void showRestartWarning();
133
134private:
136
137 // General settings widgets.
149 bool m_MMPZ;
158 QString m_lang;
159 QStringList m_languages;
160
161 // Performance settings widgets.
167 QCheckBox * m_autoSave;
168 QCheckBox * m_runningAutoSave;
177
178 using AswMap = QMap<QString, AudioDeviceSetupWidget*>;
179 using MswMap = QMap<QString, MidiSetupWidget*>;
180 using trMap = QMap<QString, QString>;
181
182 // Audio settings widgets.
183 QComboBox * m_audioInterfaces;
193
194 // MIDI settings widgets.
195 QComboBox * m_midiInterfaces;
200
201 // Paths settings widgets.
203 QString m_vstDir;
204 QString m_ladspaDir;
205 QString m_gigDir;
206 QString m_sf2Dir;
207#ifdef LMMS_HAVE_FLUIDSYNTH
208 QString m_sf2File;
209#endif
210 QString m_themeDir;
212
214 QLineEdit * m_vstDirLineEdit;
217 QLineEdit * m_gigDirLineEdit;
218 QLineEdit * m_sf2DirLineEdit;
219#ifdef LMMS_HAVE_FLUIDSYNTH
220 QLineEdit * m_sf2FileLineEdit;
221#endif
223
225};
226
227
228} // namespace lmms::gui
229
230#endif // LMMS_GUI_SETUP_DIALOG_H
void toggleDisplayWaveform(bool enabled)
Definition SetupDialog.cpp:1082
QCheckBox * m_autoSave
Definition SetupDialog.h:167
void setSF2File(const QString &sf2File)
Definition SetupDialog.cpp:1428
QLabel * m_saveIntervalLbl
Definition SetupDialog.h:166
void loopMarkerModeChanged()
Definition SetupDialog.cpp:1157
void toggleVSTAlwaysOnTop(bool en)
Definition SetupDialog.cpp:1231
QLineEdit * m_vstDirLineEdit
Definition SetupDialog.h:214
void openSF2Dir()
Definition SetupDialog.cpp:1397
trMap m_midiIfaceNames
Definition SetupDialog.h:197
QComboBox * m_autoScrollComboBox
Definition SetupDialog.h:157
void setWorkingDir(const QString &workingDir)
Definition SetupDialog.cpp:1349
void resetBufferSize()
Definition SetupDialog.cpp:1311
void showRestartWarning()
Definition SetupDialog.cpp:1507
QString m_sf2Dir
Definition SetupDialog.h:206
QString m_lang
Definition SetupDialog.h:158
void toggleSoloLegacyBehavior(bool enabled)
Definition SetupDialog.cpp:1169
QLineEdit * m_backgroundPicFileLineEdit
Definition SetupDialog.h:222
QCheckBox * m_vstAlwaysOnTopCheckBox
Definition SetupDialog.h:174
QString m_ladspaDir
Definition SetupDialog.h:204
QLineEdit * m_sf2FileLineEdit
Definition SetupDialog.h:220
QMap< QString, QString > trMap
Definition SetupDialog.h:180
bool m_compactTrackButtons
Definition SetupDialog.h:142
void toggleSideBarOnRight(bool enabled)
Definition SetupDialog.cpp:1110
void toggleMixSanitization(bool enabled)
Definition SetupDialog.cpp:1242
void setThemeDir(const QString &themeDir)
Definition SetupDialog.cpp:1464
void toggleMixerChannelDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1127
void updateBufferSizeWarning(int value)
Definition SetupDialog.cpp:1260
void setBufferSize(int value)
Definition SetupDialog.cpp:1282
QLabel * m_bufferSizeLbl
Definition SetupDialog.h:188
bool m_soloLegacyBehavior
Definition SetupDialog.h:146
bool m_tooltips
Definition SetupDialog.h:138
QComboBox * m_assignableMidiDevices
Definition SetupDialog.h:198
bool m_printNoteLabels
Definition SetupDialog.h:140
QLineEdit * m_ladspaDirLineEdit
Definition SetupDialog.h:216
void openThemeDir()
Definition SetupDialog.cpp:1453
void toggleMidiAutoQuantization(bool enabled)
Definition SetupDialog.cpp:1330
bool m_oneInstrumentTrackWindow
Definition SetupDialog.h:143
int m_sampleRate
Definition SetupDialog.h:191
void toggleTooltips(bool enabled)
Definition SetupDialog.cpp:1076
bool m_disableBackup
Definition SetupDialog.h:150
bool m_MMPZ
Definition SetupDialog.h:149
void setSF2Dir(const QString &sf2Dir)
Definition SetupDialog.cpp:1408
AswMap m_audioIfaceSetupWidgets
Definition SetupDialog.h:184
bool m_letPreviewsFinish
Definition SetupDialog.h:145
QComboBox * m_audioInterfaces
Definition SetupDialog.h:183
bool m_enableRunningAutoSave
Definition SetupDialog.h:164
QString m_backgroundPicFile
Definition SetupDialog.h:211
void toggleAutoSave(bool enabled)
Definition SetupDialog.cpp:1189
void resetAutoSave()
Definition SetupDialog.cpp:1204
bool m_trackDeletionWarning
Definition SetupDialog.h:147
bool m_vstAlwaysOnTop
Definition SetupDialog.h:175
QString m_themeDir
Definition SetupDialog.h:210
void setLanguage(int lang)
Definition SetupDialog.cpp:1163
QString m_vstEmbedMethod
Definition SetupDialog.h:173
bool m_displayWaveform
Definition SetupDialog.h:139
bool m_enableAutoSave
Definition SetupDialog.h:163
QString m_autoScroll
Definition SetupDialog.h:156
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:224
QLineEdit * m_gigDirLineEdit
Definition SetupDialog.h:217
SetupDialog(ConfigTab tab_to_open=ConfigTab::GeneralSettings)
Definition SetupDialog.cpp:93
void toggleLetPreviewsFinish(bool enabled)
Definition SetupDialog.cpp:1116
void detachBehaviorChanged()
Definition SetupDialog.cpp:1151
void toggleCompactTrackButtons(bool enabled)
Definition SetupDialog.cpp:1098
QComboBox * m_midiInterfaces
Definition SetupDialog.h:195
QLineEdit * m_themeDirLineEdit
Definition SetupDialog.h:215
QSlider * m_saveIntervalSlider
Definition SetupDialog.h:165
QString m_loopMarkerMode
Definition SetupDialog.h:154
void setGIGDir(const QString &gigDir)
Definition SetupDialog.cpp:1447
QLineEdit * m_workingDirLineEdit
Definition SetupDialog.h:213
void toggleNoteLabels(bool enabled)
Definition SetupDialog.cpp:1088
void toggleRunningAutoSave(bool enabled)
Definition SetupDialog.cpp:1198
void toggleMMPZ(bool enabled)
Definition SetupDialog.cpp:1133
int m_saveInterval
Definition SetupDialog.h:162
bool m_smoothScroll
Definition SetupDialog.h:169
bool m_sideBarOnRight
Definition SetupDialog.h:144
void midiInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1319
void accept() override
Definition SetupDialog.cpp:975
void toggleSmoothScroll(bool enabled)
Definition SetupDialog.cpp:1212
QString m_workingDir
Definition SetupDialog.h:202
void toggleDisableBackup(bool enabled)
Definition SetupDialog.cpp:1139
void openGIGDir()
Definition SetupDialog.cpp:1436
QLabel * m_bufferSizeWarnLbl
Definition SetupDialog.h:189
void toggleShowFaderTicks(bool enabled)
Definition SetupDialog.cpp:1093
QSlider * m_bufferSizeSlider
Definition SetupDialog.h:187
void setAutoSaveInterval(int time)
Definition SetupDialog.cpp:1177
void openBackgroundPicFile()
Definition SetupDialog.cpp:1470
void openVSTDir()
Definition SetupDialog.cpp:1355
int m_bufferSize
Definition SetupDialog.h:186
void toggleAnimateAFP(bool enabled)
Definition SetupDialog.cpp:1218
~SetupDialog() override
Definition SetupDialog.cpp:967
bool m_animateAFP
Definition SetupDialog.h:170
void toggleDisableAutoQuit(bool enabled)
Definition SetupDialog.cpp:1237
bool m_midiAutoQuantize
Definition SetupDialog.h:199
void audioInterfaceChanged(const QString &driver)
Definition SetupDialog.cpp:1248
bool m_disableAutoQuit
Definition SetupDialog.h:176
void toggleOneInstrumentTrackWindow(bool enabled)
Definition SetupDialog.cpp:1104
QSlider * m_sampleRateSlider
Definition SetupDialog.h:192
QStringList m_languages
Definition SetupDialog.h:159
QString m_gigDir
Definition SetupDialog.h:205
QComboBox * m_vstEmbedComboBox
Definition SetupDialog.h:172
QString m_sf2File
Definition SetupDialog.h:208
bool m_openLastProject
Definition SetupDialog.h:151
bool m_mixSanitization
Definition SetupDialog.h:190
void openSF2File()
Definition SetupDialog.cpp:1414
void openLADSPADir()
Definition SetupDialog.cpp:1372
QLabel * m_vstEmbedLbl
Definition SetupDialog.h:171
void toggleTrackDeletionWarning(bool enabled)
Definition SetupDialog.cpp:1122
void setBackgroundPicFile(const QString &backgroundPicFile)
Definition SetupDialog.cpp:1499
MswMap m_midiIfaceSetupWidgets
Definition SetupDialog.h:196
QMap< QString, MidiSetupWidget * > MswMap
Definition SetupDialog.h:179
QMap< QString, AudioDeviceSetupWidget * > AswMap
Definition SetupDialog.h:178
QComboBox * m_detachBehaviorComboBox
Definition SetupDialog.h:153
QComboBox * m_loopMarkerComboBox
Definition SetupDialog.h:155
void setLADSPADir(const QString &ladspaDir)
Definition SetupDialog.cpp:1391
void setVSTDir(const QString &vstDir)
Definition SetupDialog.cpp:1366
trMap m_audioIfaceNames
Definition SetupDialog.h:185
QCheckBox * m_runningAutoSave
Definition SetupDialog.h:168
bool m_mixerChannelDeletionWarning
Definition SetupDialog.h:148
void openWorkingDir()
Definition SetupDialog.cpp:1338
void vstEmbedMethodChanged()
Definition SetupDialog.cpp:1224
TabBar * m_tabBar
Definition SetupDialog.h:135
QLineEdit * m_sf2DirLineEdit
Definition SetupDialog.h:218
QString m_vstDir
Definition SetupDialog.h:203
QString m_detachBehavior
Definition SetupDialog.h:152
bool m_showFaderTicks
Definition SetupDialog.h:141
void toggleOpenLastProject(bool enabled)
Definition SetupDialog.cpp:1145
Definition TabBar.h:43
static PuglViewHint int value
Definition pugl.h:1708
Definition AudioPortAudio.cpp:209